mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-10 01:59:31 +00:00
LibJS/JIT: Flip saved_return_value condition in ContinuePendingUnwind
This did not match the `if (saved_return_value) return else resume` in Interpreter. test/built-ins/Promise/all/resolve-poisoned-then.js ❌ -> ✅ test/built-ins/Promise/all/resolve-thenable.js ❌ -> ✅ test/built-ins/Promise/allSettled/resolve-poisoned-then.js ❌ -> ✅ test/built-ins/Promise/allSettled/resolve-thenable.js ❌ -> ✅ test/built-ins/Promise/race/resolve-self.js ❌ -> ✅ test/language/statements/try/S12.14_A7_T1.js ✅ -> ❌ test/language/statements/try/S12.14_A7_T2.js ✅ -> ❌ test/language/statements/try/S12.14_A7_T3.js ✅ -> ❌
This commit is contained in:
parent
82c057391e
commit
bd62c4763c
Notes:
sideshowbarker
2024-07-17 20:19:08 +09:00
Author: https://github.com/skyrising
Commit: bd62c4763c
Pull-request: https://github.com/SerenityOS/serenity/pull/21691
1 changed files with 2 additions and 2 deletions
|
@ -1042,12 +1042,12 @@ void Compiler::compile_continue_pending_unwind(Bytecode::Op::ContinuePendingUnwi
|
|||
// re-throw the exception if we reached the end of the finally block and there was no catch block to handle it
|
||||
check_exception();
|
||||
|
||||
// if (!saved_return_value.is_empty()) goto resume_block;
|
||||
// if (saved_return_value.is_empty()) goto resume_block;
|
||||
load_vm_register(GPR0, Bytecode::Register::saved_return_value());
|
||||
m_assembler.mov(Assembler::Operand::Register(GPR1), Assembler::Operand::Imm(Value().encoded()));
|
||||
m_assembler.jump_if(
|
||||
Assembler::Operand::Register(GPR0),
|
||||
Assembler::Condition::NotEqualTo,
|
||||
Assembler::Condition::EqualTo,
|
||||
Assembler::Operand::Register(GPR1),
|
||||
label_for(op.resume_target().block()));
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue