From 5c55af556a34312d8c45a004ff596ab8e2d51e91 Mon Sep 17 00:00:00 2001 From: "chunyang.dai" Date: Fri, 28 Aug 2015 04:00:35 -0700 Subject: [PATCH] X87: [Interpreter] Add support for parameter variables. port 5d975694e4d3ecf66716cc5395d4d10c9730f9dd (r30403) original commit message: Adds support for parameters to the BytecodeArrayBuilder and BytecodeGenerator. Parameters are accessed as negative interpreter registers. R=weiliang.lin@intel.com BUG= Review URL: https://codereview.chromium.org/1324453003 Cr-Commit-Position: refs/heads/master@{#30440} --- src/x87/builtins-x87.cc | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/x87/builtins-x87.cc b/src/x87/builtins-x87.cc index a8aa7e1..cd7568c 100644 --- a/src/x87/builtins-x87.cc +++ b/src/x87/builtins-x87.cc @@ -752,9 +752,14 @@ void Builtins::Generate_InterpreterExitTrampoline(MacroAssembler* masm) { // Leave the frame (also dropping the register file). __ leave(); - // Return droping receiver + arguments. - // TODO(rmcilroy): Get number of arguments from BytecodeArray. - __ Ret(1 * kPointerSize, ecx); + + // Drop receiver + arguments and return. + __ mov(ebx, FieldOperand(kInterpreterBytecodeArrayRegister, + BytecodeArray::kParameterSizeOffset)); + __ pop(ecx); + __ add(esp, ebx); + __ push(ecx); + __ ret(0); } -- 2.7.4