diff options
author | Iain Merrick <husky@google.com> | 2010-08-19 15:07:18 +0100 |
---|---|---|
committer | Iain Merrick <husky@google.com> | 2010-08-23 14:25:34 +0100 |
commit | 756813857a4c2a4d8ad2e805969d5768d3cf43a0 (patch) | |
tree | 002fad3c25654870c9634232d53a48219346c50b /src/x64/builtins-x64.cc | |
parent | bb769b257e753aafcbd96767abb2abc645eaa20c (diff) | |
download | android_external_v8-756813857a4c2a4d8ad2e805969d5768d3cf43a0.tar.gz android_external_v8-756813857a4c2a4d8ad2e805969d5768d3cf43a0.tar.bz2 android_external_v8-756813857a4c2a4d8ad2e805969d5768d3cf43a0.zip |
Update V8 to r5295 as required by WebKit r65615
Change-Id: I1d72d4990703e88b7798919c7a53e12ebf76958a
Diffstat (limited to 'src/x64/builtins-x64.cc')
-rw-r--r-- | src/x64/builtins-x64.cc | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/x64/builtins-x64.cc b/src/x64/builtins-x64.cc index 959b4b03..4f2d2b96 100644 --- a/src/x64/builtins-x64.cc +++ b/src/x64/builtins-x64.cc @@ -310,7 +310,7 @@ void Builtins::Generate_FunctionCall(MacroAssembler* masm) { __ movsxlq(rbx, FieldOperand(rdx, SharedFunctionInfo::kFormalParameterCountOffset)); - __ movq(rdx, FieldOperand(rdx, SharedFunctionInfo::kCodeOffset)); + __ movq(rdx, FieldOperand(rdi, JSFunction::kCodeOffset)); __ lea(rdx, FieldOperand(rdx, Code::kHeaderSize)); __ cmpq(rax, rbx); __ j(not_equal, @@ -1291,6 +1291,26 @@ void Builtins::Generate_JSConstructEntryTrampoline(MacroAssembler* masm) { Generate_JSEntryTrampolineHelper(masm, true); } + +void Builtins::Generate_LazyCompile(MacroAssembler* masm) { + // Enter an internal frame. + __ EnterInternalFrame(); + + // Push a copy of the function onto the stack. + __ push(rdi); + + __ push(rdi); // Function is also the parameter to the runtime call. + __ CallRuntime(Runtime::kLazyCompile, 1); + __ pop(rdi); + + // Tear down temporary frame. + __ LeaveInternalFrame(); + + // Do a tail-call of the compiled function. + __ lea(rcx, FieldOperand(rax, Code::kHeaderSize)); + __ jmp(rcx); +} + } } // namespace v8::internal #endif // V8_TARGET_ARCH_X64 |