Index: src/builtins/ia32/builtins-ia32.cc |
diff --git a/src/builtins/ia32/builtins-ia32.cc b/src/builtins/ia32/builtins-ia32.cc |
index cde039664caae2802941c23f079c22093673e438..bc458c1f40c924daf816622057a8a32bd1641008 100644 |
--- a/src/builtins/ia32/builtins-ia32.cc |
+++ b/src/builtins/ia32/builtins-ia32.cc |
@@ -2690,10 +2690,11 @@ static void CheckSpreadAndPushToStack(MacroAssembler* masm) { |
Register spread_len = edx; |
+ Label runtime_call, push_args; |
__ mov(spread, Operand(esp, kPointerSize)); |
+ __ JumpIfSmi(spread, &runtime_call); |
__ mov(spread_map, FieldOperand(spread, HeapObject::kMapOffset)); |
- Label runtime_call, push_args; |
// Check that the spread is an array. |
__ CmpInstanceType(spread_map, JS_ARRAY_TYPE); |
__ j(not_equal, &runtime_call); |