Reviewers: danno, Toon Verwaest, Paul Lind, palfia, dusmil, kisg,
Description:
MIPS: Reland and fix r21225 and r21226.
Port r21232 (5681b0b)
BUG=
Please review this at https://codereview.chromium.org/275973002/
SVN Base: https://github.com/v8/v8.git@gbl
Affected files (+5, -4 lines):
M src/mips/full-codegen-mips.cc
M src/mips/macro-assembler-mips.h
M src/mips/macro-assembler-mips.cc
Index: src/mips/full-codegen-mips.cc
diff --git a/src/mips/full-codegen-mips.cc b/src/mips/full-codegen-mips.cc
index
95d29314362951a52172ba90dfb422ebb6902afa..13032ca75f8f74670813e54ca19dfdf3301d1091
100644
--- a/src/mips/full-codegen-mips.cc
+++ b/src/mips/full-codegen-mips.cc
@@ -3039,7 +3039,7 @@ void
FullCodeGenerator::EmitIsStringWrapperSafeForDefaultValueOf(
__ 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
Index: src/mips/macro-assembler-mips.cc
diff --git a/src/mips/macro-assembler-mips.cc
b/src/mips/macro-assembler-mips.cc
index
0af12fe0993864e1496131de0577466baab58637..e1a86ed0c0af502c5dbe2667864e39f8a9d01399
100644
--- a/src/mips/macro-assembler-mips.cc
+++ b/src/mips/macro-assembler-mips.cc
@@ -5236,7 +5236,7 @@ void MacroAssembler::CheckMapDeprecated(Handle<Map>
map,
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::NumberOfOwnDescriptors(Register
dst, Register map) {
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);
}
Index: src/mips/macro-assembler-mips.h
diff --git a/src/mips/macro-assembler-mips.h
b/src/mips/macro-assembler-mips.h
index
2bc38a3d02f0a186b636e0fa49998750f6fc8943..f2add48c536b6e41d061ca71f2d0f9414142caec
100644
--- a/src/mips/macro-assembler-mips.h
+++ b/src/mips/macro-assembler-mips.h
@@ -1486,7 +1486,7 @@ const Operand& rt = Operand(zero_reg),
BranchDelaySlot bd = PROTECT
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.