Commit a7b315b5 authored by balazs.kilvady's avatar balazs.kilvady Committed by Commit bot

MIPS64: Fix '[turbofan] Add an operator to access the parent frame pointer'.

Port fd8fd05c

Original commit message:
This functionality is useful for stubs that need to walk the stack. The new
machine operator, LoadParentFramePointer doesn't force the currently compiling
method to have a frame in contrast to LoadFramePointer. Instead, it adapts
accordingly when frame elision is possible, making efficient stack walks
possible without incurring a performance penalty for small stubs that can
benefit from frame elision.

BUG=

Review URL: https://codereview.chromium.org/1701933003

Cr-Commit-Position: refs/heads/master@{#34066}
parent 95e4c702
...@@ -616,7 +616,7 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) { ...@@ -616,7 +616,7 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) {
break; break;
case kArchParentFramePointer: case kArchParentFramePointer:
if (frame_access_state()->frame()->needs_frame()) { if (frame_access_state()->frame()->needs_frame()) {
__ lw(i.OutputRegister(), MemOperand(fp, 0)); __ ld(i.OutputRegister(), MemOperand(fp, 0));
} else { } else {
__ mov(i.OutputRegister(), fp); __ mov(i.OutputRegister(), fp);
} }
......
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