Index: src/arm/builtins-arm.cc |
diff --git a/src/arm/builtins-arm.cc b/src/arm/builtins-arm.cc |
index d17f393aaaa1ba2a5b5bf8961c3940bcb5943771..6a5f61fd1684ea3affda9d951eff675bd157c2d5 100644 |
--- a/src/arm/builtins-arm.cc |
+++ b/src/arm/builtins-arm.cc |
@@ -1044,9 +1044,13 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm, |
// If the type of the result (stored in its map) is less than |
// FIRST_SPEC_OBJECT_TYPE, it is not an object in the ECMA sense. |
- __ CompareObjectType(r0, r3, r3, FIRST_SPEC_OBJECT_TYPE); |
+ __ CompareObjectType(r0, r1, r3, FIRST_SPEC_OBJECT_TYPE); |
__ b(ge, &exit); |
+ // Symbols are "objects". |
+ __ CompareInstanceType(r1, r3, SYMBOL_TYPE); |
+ __ b(eq, &exit); |
+ |
// Throw away the result of the constructor invocation and use the |
// on-stack receiver as the result. |
__ bind(&use_receiver); |