Index: src/arm64/lithium-codegen-arm64.cc |
diff --git a/src/arm64/lithium-codegen-arm64.cc b/src/arm64/lithium-codegen-arm64.cc |
index b1a0b44c0ce41b3620d92c5bb67d1d0ffa7a5b90..17ea0feeffd743015110f0df1642c2aa1a5e78b0 100644 |
--- a/src/arm64/lithium-codegen-arm64.cc |
+++ b/src/arm64/lithium-codegen-arm64.cc |
@@ -5939,10 +5939,8 @@ void LCodeGen::DoTypeofIsAndBranch(LTypeofIsAndBranch* instr) { |
Register scratch = ToRegister(instr->temp2()); |
__ JumpIfSmi(value, false_label); |
- __ JumpIfObjectType( |
- value, map, scratch, FIRST_NONSTRING_TYPE, false_label, ge); |
- __ Ldrb(scratch, FieldMemOperand(map, Map::kBitFieldOffset)); |
- EmitTestAndBranch(instr, eq, scratch, 1 << Map::kIsUndetectable); |
+ __ CompareObjectType(value, map, scratch, FIRST_NONSTRING_TYPE); |
+ EmitBranch(instr, lt); |
} else if (String::Equals(type_name, factory->symbol_string())) { |
DCHECK((instr->temp1() != NULL) && (instr->temp2() != NULL)); |