LGTM overall,

The push/pop between null check and global_context_map check can be
eliminated.


http://codereview.chromium.org/8039/diff/1/4
File src/macro-assembler-arm.cc (right):

http://codereview.chromium.org/8039/diff/1/4#newcode698
Line 698: mov(ip, holder_reg);  // Restore ip.
Restore ip in the middle seems unnecessary because Check failure halts
execution. Something simpler:
   push(holder_reg);
   mov(hodler_reg, ip);
   cmp(holder_reg, ... null_value() ... );
   Check

   ldr(holder_reg, FieldMemOperand(holder_reg, HeapObject::kMapOffset);
   cmp(holder_reg, ... global_context_map() ...);
   Check(...);

   pop(holder_reg);
   ldr(ip, FieldMemOperand(holder_reg, ...));

what do you think?

http://codereview.chromium.org/8039

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

Reply via email to