1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 11:08:11 +00:00

LibJS: Keep return value in a call frame register

This commit is contained in:
Andreas Kling 2023-09-26 15:32:46 +02:00
parent c833885fb5
commit 0c746366cc
3 changed files with 18 additions and 16 deletions

View file

@ -74,9 +74,9 @@ public:
VERIFY(unwind_contexts().last().finalizer);
jump(Label { *unwind_contexts().last().finalizer });
}
void do_return(Value return_value)
void do_return(Value value)
{
m_return_value = return_value;
reg(Register::return_value()) = value;
reg(Register::exception()) = {};
}
@ -114,7 +114,6 @@ private:
Span<Value> m_current_call_frame;
Optional<BasicBlock const*> m_pending_jump;
BasicBlock const* m_scheduled_jump { nullptr };
Optional<Value> m_return_value;
Executable* m_current_executable { nullptr };
BasicBlock const* m_current_block { nullptr };
Optional<InstructionStreamIterator&> m_pc {};