ISLE: emit traps as safepoints on x64

This commit is contained in:
Nick Fitzgerald
2022-02-07 10:01:23 -08:00
parent 31e2d6b21c
commit bb7ae46ecd
4 changed files with 11 additions and 7 deletions

View File

@@ -2993,13 +2993,13 @@ pub fn constructor_lower<C: Context>(ctx: &mut C, arg0: Inst) -> Option<ValueReg
&Opcode::Trap => {
// Rule at src/isa/x64/lower.isle line 1463.
let expr0_0 = constructor_ud2(ctx, &pattern2_1)?;
let expr1_0 = constructor_value_regs_none(ctx, &expr0_0)?;
let expr1_0 = constructor_safepoint(ctx, &expr0_0)?;
return Some(expr1_0);
}
&Opcode::ResumableTrap => {
// Rule at src/isa/x64/lower.isle line 1468.
let expr0_0 = constructor_ud2(ctx, &pattern2_1)?;
let expr1_0 = constructor_value_regs_none(ctx, &expr0_0)?;
let expr1_0 = constructor_safepoint(ctx, &expr0_0)?;
return Some(expr1_0);
}
_ => {}