From: chunyang.dai Date: Fri, 28 Aug 2015 11:00:35 +0000 (-0700) Subject: X87: [Interpreter] Add support for parameter variables. X-Git-Tag: upstream/4.7.83~600 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5c55af556a34312d8c45a004ff596ab8e2d51e91;p=platform%2Fupstream%2Fv8.git 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} --- 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); }