Index: src/arm64/macro-assembler-arm64.cc |
diff --git a/src/arm64/macro-assembler-arm64.cc b/src/arm64/macro-assembler-arm64.cc |
index c5ce99be9924c624b493a166fe5f0da71561700d..e632ae6bca8a0b3fd56464677d451ee304d81bda 100644 |
--- a/src/arm64/macro-assembler-arm64.cc |
+++ b/src/arm64/macro-assembler-arm64.cc |
@@ -1329,15 +1329,14 @@ void MacroAssembler::NumberOfOwnDescriptors(Register dst, Register map) { |
void MacroAssembler::EnumLengthUntagged(Register dst, Register map) { |
STATIC_ASSERT(Map::EnumLengthBits::kShift == 0); |
- Ldrsw(dst, UntagSmiFieldMemOperand(map, Map::kBitField3Offset)); |
+ Ldrsw(dst, FieldMemOperand(map, Map::kBitField3Offset)); |
And(dst, dst, Map::EnumLengthBits::kMask); |
} |
void MacroAssembler::EnumLengthSmi(Register dst, Register map) { |
- STATIC_ASSERT(Map::EnumLengthBits::kShift == 0); |
- Ldr(dst, FieldMemOperand(map, Map::kBitField3Offset)); |
- And(dst, dst, Smi::FromInt(Map::EnumLengthBits::kMask)); |
+ EnumLengthUntagged(dst, map); |
+ SmiTag(dst, dst); |
} |
@@ -4519,7 +4518,7 @@ void MacroAssembler::CheckMapDeprecated(Handle<Map> map, |
Label* if_deprecated) { |
if (map->CanBeDeprecated()) { |
Mov(scratch, Operand(map)); |
- Ldrsw(scratch, UntagSmiFieldMemOperand(scratch, Map::kBitField3Offset)); |
+ Ldrsw(scratch, FieldMemOperand(scratch, Map::kBitField3Offset)); |
TestAndBranchIfAnySet(scratch, Map::Deprecated::kMask, if_deprecated); |
} |
} |