1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 11:57:34 +00:00

LibJS: Generate bytecode for do...while statements :^)

This was quite straightforward using the same label/jump machinery that
we added for while statements.

The main addition here is a new JumpIfTrue bytecode instruction.
This commit is contained in:
Andreas Kling 2021-06-04 12:20:44 +02:00
parent bd1a5e282a
commit f2863b5a89
4 changed files with 45 additions and 0 deletions

View file

@ -391,6 +391,7 @@ public:
virtual Value execute(Interpreter&, GlobalObject&) const override;
virtual void dump(int indent) const override;
virtual Optional<Bytecode::Register> generate_bytecode(Bytecode::Generator&) const override;
private:
NonnullRefPtr<Expression> m_test;