Commit 6ec1dbfc authored by Caitlin Potter's avatar Caitlin Potter Committed by Commit Bot

[cleanup] don't push useless nullptr on ia32/x64 JSEntryStub

The stack value is unused and does not need to be pushed or popped on
return from JSEntryTrampoline

Bug: 
Change-Id: I0e1920fc48b63cb0eea66454e5b74d9b3c2d5956
Reviewed-on: https://chromium-review.googlesource.com/650810
Commit-Queue: Caitlin Potter <caitp@igalia.com>
Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47849}
parent b49050c8
...@@ -483,7 +483,7 @@ static void Generate_JSEntryTrampolineHelper(MacroAssembler* masm, ...@@ -483,7 +483,7 @@ static void Generate_JSEntryTrampolineHelper(MacroAssembler* masm,
// context and the function left on the stack by the code // context and the function left on the stack by the code
// invocation. // invocation.
} }
__ ret(kPointerSize); // Remove receiver. __ ret(0);
} }
void Builtins::Generate_JSEntryTrampoline(MacroAssembler* masm) { void Builtins::Generate_JSEntryTrampoline(MacroAssembler* masm) {
......
...@@ -560,8 +560,7 @@ static void Generate_JSEntryTrampolineHelper(MacroAssembler* masm, ...@@ -560,8 +560,7 @@ static void Generate_JSEntryTrampolineHelper(MacroAssembler* masm,
// invocation. // invocation.
} }
// TODO(X64): Is argument correct? Is there a receiver to remove? __ ret(0);
__ ret(1 * kPointerSize); // Remove receiver.
} }
void Builtins::Generate_JSEntryTrampoline(MacroAssembler* masm) { void Builtins::Generate_JSEntryTrampoline(MacroAssembler* masm) {
......
...@@ -672,9 +672,6 @@ void JSEntryStub::Generate(MacroAssembler* masm) { ...@@ -672,9 +672,6 @@ void JSEntryStub::Generate(MacroAssembler* masm) {
__ bind(&invoke); __ bind(&invoke);
__ PushStackHandler(); __ PushStackHandler();
// Fake a receiver (NULL).
__ push(Immediate(0)); // receiver
// Invoke the function by calling through JS entry trampoline builtin and // Invoke the function by calling through JS entry trampoline builtin and
// pop the faked function when we return. Notice that we cannot store a // pop the faked function when we return. Notice that we cannot store a
// reference to the trampoline code directly in this stub, because the // reference to the trampoline code directly in this stub, because the
......
...@@ -610,9 +610,6 @@ void JSEntryStub::Generate(MacroAssembler* masm) { ...@@ -610,9 +610,6 @@ void JSEntryStub::Generate(MacroAssembler* masm) {
__ bind(&invoke); __ bind(&invoke);
__ PushStackHandler(); __ PushStackHandler();
// Fake a receiver (NULL).
__ Push(Immediate(0)); // receiver
// Invoke the function by calling through JS entry trampoline builtin and // Invoke the function by calling through JS entry trampoline builtin and
// pop the faked function when we return. We load the address from an // pop the faked function when we return. We load the address from an
// external reference instead of inlining the call target address directly // external reference instead of inlining the call target address directly
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment