| Index: src/x87/builtins-x87.cc | 
| diff --git a/src/x87/builtins-x87.cc b/src/x87/builtins-x87.cc | 
| index 7c8c784984d2411a87603c5fe1bb09f7984dd933..0600f0d3ccc809953a6019de7fe4d2fc7443ca6e 100644 | 
| --- a/src/x87/builtins-x87.cc | 
| +++ b/src/x87/builtins-x87.cc | 
| @@ -2692,10 +2692,15 @@ void Builtins::Generate_StringToNumber(MacroAssembler* masm) { | 
| __ Ret(); | 
|  | 
| __ bind(&runtime); | 
| -  __ PopReturnAddressTo(ecx);     // Pop return address. | 
| -  __ Push(eax);                   // Push argument. | 
| -  __ PushReturnAddressFrom(ecx);  // Push return address. | 
| -  __ TailCallRuntime(Runtime::kStringToNumber); | 
| +  { | 
| +    FrameScope frame(masm, StackFrame::INTERNAL); | 
| +    // Push argument. | 
| +    __ push(eax); | 
| +    // We cannot use a tail call here because this builtin can also be called | 
| +    // from wasm. | 
| +    __ CallRuntime(Runtime::kStringToNumber); | 
| +  } | 
| +  __ Ret(); | 
| } | 
|  | 
| // static | 
| @@ -2736,11 +2741,15 @@ void Builtins::Generate_NonNumberToNumber(MacroAssembler* masm) { | 
| __ mov(eax, FieldOperand(eax, Oddball::kToNumberOffset)); | 
| __ Ret(); | 
| __ bind(¬_oddball); | 
| - | 
| -  __ pop(ecx);   // Pop return address. | 
| -  __ push(eax);  // Push argument. | 
| -  __ push(ecx);  // Push return address. | 
| -  __ TailCallRuntime(Runtime::kToNumber); | 
| +  { | 
| +    FrameScope frame(masm, StackFrame::INTERNAL); | 
| +    // Push argument. | 
| +    __ push(eax); | 
| +    // We cannot use a tail call here because this builtin can also be called | 
| +    // from wasm. | 
| +    __ CallRuntime(Runtime::kToNumber); | 
| +  } | 
| +  __ Ret(); | 
| } | 
|  | 
| void Builtins::Generate_ArgumentsAdaptorTrampoline(MacroAssembler* masm) { | 
|  |