[mips] [codegen] Better load of receiver in CheckDebugHook

Port 1e4bb08 https://crrev.com/c/1826728

Change-Id: If977914ef55eb65228f92fecd1c9e9d0f625fa2b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1886716
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64628}
This commit is contained in:
Zhao Jiazhong 2019-10-29 19:33:33 +08:00 committed by Commit Bot
parent 1c219e5a04
commit 3358bb0445
3 changed files with 7 additions and 8 deletions

View File

@ -198,6 +198,7 @@ Yannic Bonenberger <contact@yannic-bonenberger.com>
Yong Wang <ccyongwang@tencent.com>
Yu Yin <xwafish@gmail.com>
Zac Hansen <xaxxon@gmail.com>
Zhao Jiazhong <kyslie3100@gmail.com>
Zhongping Wang <kewpie.w.zp@gmail.com>
柳荣一 <admin@web-tinker.com>
Yanbo Li <lybvinci@gmail.com>

View File

@ -4400,12 +4400,11 @@ void MacroAssembler::CheckDebugHook(Register fun, Register new_target,
{
// Load receiver to pass it later to DebugOnFunctionCall hook.
if (actual.is_reg()) {
mov(t0, actual.reg());
Lsa(at, sp, actual.reg(), kPointerSizeLog2);
lw(t0, MemOperand(at));
} else {
li(t0, actual.immediate());
lw(t0, MemOperand(sp, actual.immediate() << kPointerSizeLog2));
}
Lsa(at, sp, t0, kPointerSizeLog2);
lw(t0, MemOperand(at));
FrameScope frame(this,
has_frame() ? StackFrame::NONE : StackFrame::INTERNAL);
if (expected.is_reg()) {

View File

@ -4714,12 +4714,11 @@ void MacroAssembler::CheckDebugHook(Register fun, Register new_target,
{
// Load receiver to pass it later to DebugOnFunctionCall hook.
if (actual.is_reg()) {
mov(t0, actual.reg());
Dlsa(t0, sp, actual.reg(), kPointerSizeLog2);
Ld(t0, MemOperand(t0));
} else {
li(t0, actual.immediate());
Ld(t0, MemOperand(sp, actual.immediate() << kPointerSizeLog2));
}
Dlsa(t0, sp, t0, kPointerSizeLog2);
Ld(t0, MemOperand(t0));
FrameScope frame(this,
has_frame() ? StackFrame::NONE : StackFrame::INTERNAL);
if (expected.is_reg()) {