http://codereview.chromium.org/6410029/diff/2003/src/arm/deoptimizer-arm.cc
File src/arm/deoptimizer-arm.cc (right):

http://codereview.chromium.org/6410029/diff/2003/src/arm/deoptimizer-arm.cc#newcode129
src/arm/deoptimizer-arm.cc:129: //  2a ?? ?? ??       bcs ok
On 2011/02/04 13:54:27, Søren Gjesse wrote:
?? ?? ?? -> 00 00 01, the restoring puts in 1 here.

Done.

http://codereview.chromium.org/6410029/diff/2003/src/arm/deoptimizer-arm.cc#newcode132
src/arm/deoptimizer-arm.cc:132: ASSERT(Memory::uint32_at(pc_after - 4)
== 0xe12fff3c);
On 2011/02/04 13:54:27, Søren Gjesse wrote:
0xe12fff3c -> al | B24 | B21 | 15*B16 | 15*B12 | 15*B8 | BLX |
ip.code()

Done.

http://codereview.chromium.org/6410029/diff/2003/src/arm/deoptimizer-arm.cc#newcode132
src/arm/deoptimizer-arm.cc:132: ASSERT(Memory::uint32_at(pc_after - 4)
== 0xe12fff3c);
On 2011/02/04 13:54:27, Søren Gjesse wrote:
4 -> kInstrSize

Done.

http://codereview.chromium.org/6410029/diff/2003/src/arm/deoptimizer-arm.cc#newcode133
src/arm/deoptimizer-arm.cc:133: ASSERT(Memory::uint8_at(pc_after - 5) ==
0xe5);
On 2011/02/04 13:54:27, Søren Gjesse wrote:
Use Assembler::IsLdrPcImmediateOffset() to check this. Maybe add
Assembler::IsLdrPcImmediateOffset() which also takes a register and
checks that
it is ldr ip, [...

Done.

http://codereview.chromium.org/6410029/diff/2003/src/arm/deoptimizer-arm.cc#newcode145
src/arm/deoptimizer-arm.cc:145: Memory::uint32_at(pc_after - 12) =
0xe1a00000;
On 2011/02/04 13:54:27, Søren Gjesse wrote:
I think you should be able to use the code patcher here:

CodePatcher patcher(pc_after - 3 * kInstrSize, 1)
patcher.masm()->nop();

if not

0xe1a00000 -> al | MOV

Done.

http://codereview.chromium.org/6410029/diff/2003/src/arm/deoptimizer-arm.cc#newcode167
src/arm/deoptimizer-arm.cc:167: Memory::uint32_at(pc_after - 12) =
0x2a000001;
I used the CodePatcher.

http://codereview.chromium.org/6410029/diff/2003/src/deoptimizer.cc
File src/deoptimizer.cc (right):

http://codereview.chromium.org/6410029/diff/2003/src/deoptimizer.cc#newcode837
src/deoptimizer.cc:837: uint32_t length = last_site - first_site +
patch_size();
Done. I used the code patcher and removed the flushing here.

http://codereview.chromium.org/6410029/diff/2003/src/deoptimizer.cc#newcode867
src/deoptimizer.cc:867: uint32_t length = last_site - first_site +
patch_size();
Done. I used the code patcher and removed the flushing here.

http://codereview.chromium.org/6410029/

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to