mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 06:38:10 +00:00
LibJS: Implement bytecode generation for UpdateExpression :^)
Added Increment and Decrement bytecode ops to support this. Postfix updates use a temporary register to preserve the original value. Note that this patch only implements Identifier updates. Member expression updates are a TODO.
This commit is contained in:
parent
5c98f979c6
commit
59eedd6de0
5 changed files with 88 additions and 1 deletions
|
@ -373,6 +373,28 @@ public:
|
|||
String to_string() const;
|
||||
};
|
||||
|
||||
class Increment final : public Instruction {
|
||||
public:
|
||||
Increment()
|
||||
: Instruction(Type::Increment)
|
||||
{
|
||||
}
|
||||
|
||||
void execute(Bytecode::Interpreter&) const;
|
||||
String to_string() const;
|
||||
};
|
||||
|
||||
class Decrement final : public Instruction {
|
||||
public:
|
||||
Decrement()
|
||||
: Instruction(Type::Decrement)
|
||||
{
|
||||
}
|
||||
|
||||
void execute(Bytecode::Interpreter&) const;
|
||||
String to_string() const;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
namespace JS::Bytecode {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue