Commit e9495433 authored by alan.li's avatar alan.li Committed by Commit bot

MIPS64: Fix '[turbofan] Introduce DeoptimizeIf And DeoptimizeUnless common

operators.'

Port c129aa4d

Original commit message:
These macro operators represent a conditional eager deoptimization exit
without explicit branching, which greatly reduces overhead of both
scheduling and register allocation, and thereby greatly reduces overall
compilation time, esp. when there are a lot of eager deoptimization
exits.

BUG=
TEST=mjsunit/asm/embenchen/fasta

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

Cr-Commit-Position: refs/heads/master@{#34301}
parent 50a394df
...@@ -1560,6 +1560,9 @@ void EmitWordCompareZero(InstructionSelector* selector, Node* value, ...@@ -1560,6 +1560,9 @@ void EmitWordCompareZero(InstructionSelector* selector, Node* value,
if (cont->IsBranch()) { if (cont->IsBranch()) {
selector->Emit(opcode, g.NoOutput(), value_operand, g.TempImmediate(0), selector->Emit(opcode, g.NoOutput(), value_operand, g.TempImmediate(0),
g.Label(cont->true_block()), g.Label(cont->false_block())); g.Label(cont->true_block()), g.Label(cont->false_block()));
} else if (cont->IsDeoptimize()) {
selector->EmitDeoptimize(opcode, g.NoOutput(), value_operand,
g.TempImmediate(0), cont->frame_state());
} else { } else {
selector->Emit(opcode, g.DefineAsRegister(cont->result()), value_operand, selector->Emit(opcode, g.DefineAsRegister(cont->result()), value_operand,
g.TempImmediate(0)); g.TempImmediate(0));
......
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