Reviewers: fschneider,

Description:
Fix stub cache on ARM, broken in 10864.

Please review this at https://chromiumcodereview.appspot.com/9539010/

SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/

Affected files:
  M     src/arm/stub-cache-arm.cc


Index: src/arm/stub-cache-arm.cc
===================================================================
--- src/arm/stub-cache-arm.cc   (revision 10864)
+++ src/arm/stub-cache-arm.cc   (working copy)
@@ -237,7 +237,7 @@
   __ mov(scratch, Operand(scratch, LSR, kHeapObjectTagSize));
   // Mask down the eor argument to the minimum to keep the immediate
   // ARM-encodable.
-  __ eor(scratch, scratch, Operand(flags & mask));
+  __ eor(scratch, scratch, Operand((flags >> kHeapObjectTagSize) & mask));
   // Prefer and_ to ubfx here because ubfx takes 2 cycles.
   __ and_(scratch, scratch, Operand(mask));

@@ -255,7 +255,7 @@

   // Primary miss: Compute hash for secondary probe.
   __ sub(scratch, scratch, Operand(name, LSR, kHeapObjectTagSize));
-  uint32_t mask2 = (kSecondaryTableSize - 1);
+  uint32_t mask2 = kSecondaryTableSize - 1;
   __ add(scratch, scratch, Operand((flags >> kHeapObjectTagSize) & mask2));
   __ and_(scratch, scratch, Operand(mask2));



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

Reply via email to