1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-21 15:45:07 +00:00
serenity/Userland/Libraries/LibJS/Bytecode
Andreas Kling 82828ad936 LibJS/Bytecode: Extract accumulator value before incurring side effects
Many operations in JavaScript may incur side effects, including calling
arbitrary user code. Since the user code will clobber the accumulator,
we have to take care to extract anything we need from the accumulator
before doing anything that may have side effects.

Fixes 3 test262 tests. :^)
2023-06-17 11:00:39 +02:00
..
Pass LibJS: Fix mix-up between assignment and comparison 2023-05-02 07:03:57 -04:00
ASTCodegen.cpp LibJS/Bytecode: Simplify creating/leaving lexical environment 2023-06-16 21:46:43 +02:00
BasicBlock.cpp Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
BasicBlock.h LibJS/Bytecode: Restore old environments when an exception is caught 2023-05-14 06:18:28 +02:00
CodeGenerationError.cpp LibJS: Add to_string definitions to CodeGenerationError and ParserError 2023-02-17 09:14:23 -05:00
CodeGenerationError.h LibJS: Remove unused CodeGenerationError::to_deprecated_string 2023-02-17 09:14:23 -05:00
Executable.cpp Everywhere: Stop using NonnullOwnPtrVector 2023-03-06 23:46:35 +01:00
Executable.h Everywhere: Remove NonnullOwnPtr.h includes 2023-03-06 23:46:35 +01:00
Generator.cpp LibJS/Bytecode: Simplify creating/leaving lexical environment 2023-06-16 21:46:43 +02:00
Generator.h LibJS/Bytecode: Simplify creating/leaving lexical environment 2023-06-16 21:46:43 +02:00
IdentifierTable.cpp AK+Everywhere: Rename FlyString to DeprecatedFlyString 2023-01-09 23:00:24 +00:00
IdentifierTable.h AK+Everywhere: Rename FlyString to DeprecatedFlyString 2023-01-09 23:00:24 +00:00
Instruction.cpp LibJS: Move Instruction::length() to the Op.h header 2021-06-09 09:24:32 +02:00
Instruction.h LibJS/Bytecode: Simplify creating/leaving lexical environment 2023-06-16 21:46:43 +02:00
Interpreter.cpp LibJS/Bytecode: Leave GlobalDeclarationInstantiation in C++ 2023-06-16 08:40:45 +02:00
Interpreter.h LibJS/Bytecode: Leave GlobalDeclarationInstantiation in C++ 2023-06-16 08:40:45 +02:00
Label.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
Op.cpp LibJS/Bytecode: Extract accumulator value before incurring side effects 2023-06-17 11:00:39 +02:00
Op.h LibJS/Bytecode: Simplify creating/leaving lexical environment 2023-06-16 21:46:43 +02:00
PassManager.h AK: Rename Time to Duration 2023-05-24 23:18:07 +02:00
Register.h LibJS: Make Register comparable 2022-12-03 15:25:05 +00:00
StringTable.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
StringTable.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00