Index: src/builtins/x87/builtins-x87.cc |
diff --git a/src/builtins/x87/builtins-x87.cc b/src/builtins/x87/builtins-x87.cc |
index 9651e7ba2f05a571f5ea016895ac24dbb8e56922..ac70827b6a08e455581304bbbfe9df0977b10533 100644 |
--- a/src/builtins/x87/builtins-x87.cc |
+++ b/src/builtins/x87/builtins-x87.cc |
@@ -2722,10 +2722,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); |