Revision: 21240
Author:   [email protected]
Date:     Fri May  9 17:39:04 2014 UTC
Log:      MIPS: Reland and fix r21225 and r21226.

Port r21232 (5681b0b)

BUG=
[email protected]

Review URL: https://codereview.chromium.org/275973002

Patch from Balazs Kilvady <[email protected]>.
http://code.google.com/p/v8/source/detail?r=21240

Modified:
 /branches/bleeding_edge/src/mips/full-codegen-mips.cc
 /branches/bleeding_edge/src/mips/macro-assembler-mips.cc
 /branches/bleeding_edge/src/mips/macro-assembler-mips.h

=======================================
--- /branches/bleeding_edge/src/mips/full-codegen-mips.cc Fri May 9 17:29:21 2014 UTC +++ /branches/bleeding_edge/src/mips/full-codegen-mips.cc Fri May 9 17:39:04 2014 UTC
@@ -3039,7 +3039,7 @@
   __ Addu(t0, t0, Operand(DescriptorArray::kFirstOffset - kHeapObjectTag));
   // Calculate the end of the descriptor array.
   __ mov(a2, t0);
-  __ sll(t1, a3, kPointerSizeLog2 - kSmiTagSize);
+  __ sll(t1, a3, kPointerSizeLog2);
   __ Addu(a2, a2, t1);

// Loop through all the keys in the descriptor array. If one of these is the
=======================================
--- /branches/bleeding_edge/src/mips/macro-assembler-mips.cc Fri May 9 12:59:24 2014 UTC +++ /branches/bleeding_edge/src/mips/macro-assembler-mips.cc Fri May 9 17:39:04 2014 UTC
@@ -5236,7 +5236,7 @@
   if (map->CanBeDeprecated()) {
     li(scratch, Operand(map));
     lw(scratch, FieldMemOperand(scratch, Map::kBitField3Offset));
-    And(scratch, scratch, Operand(Smi::FromInt(Map::Deprecated::kMask)));
+    And(scratch, scratch, Operand(Map::Deprecated::kMask));
     Branch(if_deprecated, ne, scratch, Operand(zero_reg));
   }
 }
@@ -5493,7 +5493,8 @@
 void MacroAssembler::EnumLength(Register dst, Register map) {
   STATIC_ASSERT(Map::EnumLengthBits::kShift == 0);
   lw(dst, FieldMemOperand(map, Map::kBitField3Offset));
-  And(dst, dst, Operand(Smi::FromInt(Map::EnumLengthBits::kMask)));
+  And(dst, dst, Operand(Map::EnumLengthBits::kMask));
+  SmiTag(dst);
 }


=======================================
--- /branches/bleeding_edge/src/mips/macro-assembler-mips.h Fri May 9 12:59:24 2014 UTC +++ /branches/bleeding_edge/src/mips/macro-assembler-mips.h Fri May 9 17:39:04 2014 UTC
@@ -1486,7 +1486,7 @@
   template<typename Field>
   void DecodeField(Register reg) {
     static const int shift = Field::kShift;
-    static const int mask = (Field::kMask >> shift) << kSmiTagSize;
+    static const int mask = Field::kMask >> shift;
     srl(reg, reg, shift);
     And(reg, reg, Operand(mask));
   }

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to