| Index: src/ia32/builtins-ia32.cc
|
| ===================================================================
|
| --- src/ia32/builtins-ia32.cc (revision 5236)
|
| +++ src/ia32/builtins-ia32.cc (working copy)
|
| @@ -429,6 +429,26 @@
|
| }
|
|
|
|
|
| +void Builtins::Generate_LazyCompile(MacroAssembler* masm) {
|
| + // Enter an internal frame.
|
| + __ EnterInternalFrame();
|
| +
|
| + // Push a copy of the function onto the stack.
|
| + __ push(edi);
|
| +
|
| + __ push(edi); // Function is also the parameter to the runtime call.
|
| + __ CallRuntime(Runtime::kLazyCompile, 1);
|
| + __ pop(edi);
|
| +
|
| + // Tear down temporary frame.
|
| + __ LeaveInternalFrame();
|
| +
|
| + // Do a tail-call of the compiled function.
|
| + __ lea(ecx, FieldOperand(eax, Code::kHeaderSize));
|
| + __ jmp(Operand(ecx));
|
| +}
|
| +
|
| +
|
| void Builtins::Generate_FunctionCall(MacroAssembler* masm) {
|
| // 1. Make sure we have at least one argument.
|
| { Label done;
|
|
|