Index: src/arm/lithium-codegen-arm.cc |
diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc |
index 36502abe2b74b2f2f6abdd8c0aacd539d460abd7..ef1abbb01ce4fa7ddb55755763a309e3a409ed68 100644 |
--- a/src/arm/lithium-codegen-arm.cc |
+++ b/src/arm/lithium-codegen-arm.cc |
@@ -2730,10 +2730,11 @@ void LCodeGen::EmitClassOfTest(Label* is_true, |
// Now we are in the FIRST-LAST_NONCALLABLE_SPEC_OBJECT_TYPE range. |
// Check if the constructor in the map is a function. |
- __ ldr(temp, FieldMemOperand(temp, Map::kConstructorOffset)); |
+ Register instance_type = ip; |
+ __ GetMapConstructor(temp, temp, temp2, instance_type); |
// Objects with a non-function constructor have class 'Object'. |
- __ CompareObjectType(temp, temp2, temp2, JS_FUNCTION_TYPE); |
+ __ cmp(instance_type, Operand(JS_FUNCTION_TYPE)); |
if (class_name->IsOneByteEqualTo(STATIC_CHAR_VECTOR("Object"))) { |
__ b(ne, is_true); |
} else { |