Commit c77098bd authored by Junliang Yan's avatar Junliang Yan Committed by V8 LUCI CQ

ppc64: [baseline] set RC bit for branch properly

Change-Id: Ic7ac221c18f242740ae088b856d9295cd1256936
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3663147Reviewed-by: 's avatarMilad Farazmand <mfarazma@redhat.com>
Commit-Queue: Junliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/main@{#80724}
parent 54c6a307
......@@ -572,14 +572,14 @@ void BaselineAssembler::AddToInterruptBudgetAndJumpIfNotExceeded(
interrupt_budget,
FieldMemOperand(feedback_cell, FeedbackCell::kInterruptBudgetOffset), r0);
// Remember to set flags as part of the add!
__ AddS32(interrupt_budget, interrupt_budget, Operand(weight), r0);
__ AddS32(interrupt_budget, interrupt_budget, Operand(weight), r0, SetRC);
__ StoreU32(
interrupt_budget,
FieldMemOperand(feedback_cell, FeedbackCell::kInterruptBudgetOffset), r0);
if (skip_interrupt_label) {
// Use compare flags set by add
DCHECK_LT(weight, 0);
__ b(ge, skip_interrupt_label);
__ bge(skip_interrupt_label, cr0);
}
}
......@@ -597,11 +597,11 @@ void BaselineAssembler::AddToInterruptBudgetAndJumpIfNotExceeded(
interrupt_budget,
FieldMemOperand(feedback_cell, FeedbackCell::kInterruptBudgetOffset), r0);
// Remember to set flags as part of the add!
__ AddS32(interrupt_budget, interrupt_budget, weight);
__ AddS32(interrupt_budget, interrupt_budget, weight, SetRC);
__ StoreU32(
interrupt_budget,
FieldMemOperand(feedback_cell, FeedbackCell::kInterruptBudgetOffset), r0);
if (skip_interrupt_label) __ b(ge, skip_interrupt_label);
if (skip_interrupt_label) __ bge(skip_interrupt_label, cr0);
}
void BaselineAssembler::AddSmi(Register lhs, Smi rhs) {
......
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