ladybird/Tests/LibJS/Bytecode/input
Andreas Kling 7f89158d20 LibJS: Replace implicit environment stack with explicit registers
Replace the saved_lexical_environments stack in ExecutionContextRareData
with explicit register-based environment tracking. Environments are now
stored in registers and restored via SetLexicalEnvironment, making the
environment flow visible in bytecode.

Key changes:
- Add GetLexicalEnvironment and SetLexicalEnvironment opcodes
- CreateLexicalEnvironment takes explicit parent and dst operands
- EnterObjectEnvironment stores new environment in a dst register
- NewClass takes an explicit class_environment operand
- Remove LeaveLexicalEnvironment opcode (instead: SetLexicalEnvironment)
- Remove saved_lexical_environments from ExecutionContextRareData
- Use a reserved register for the saved lexical environment to avoid
  dominance issues with lazily-emitted GetLexicalEnvironment
2026-02-09 16:35:39 +01:00
..
annex-b-function-in-if.js LibJS: Replace implicit environment stack with explicit registers 2026-02-09 16:35:39 +01:00
baseline.js
block-scoping.js LibJS: Replace implicit environment stack with explicit registers 2026-02-09 16:35:39 +01:00
class-environment.js LibJS: Replace implicit environment stack with explicit registers 2026-02-09 16:35:39 +01:00
condition-dead-code-elim.js LibJS: Dead code elimination for always truthy/falsey conditions 2026-01-31 18:22:40 +01:00
const-fold-template-literals.js LibJS: Reduce number of template literal op codes 2026-01-31 18:24:02 +01:00
eval-same-function.js LibJS: Stop propagating is_inside_scope_with_eval across functions 2026-01-27 10:58:39 +01:00
eval-scope-optimization.js LibJS: Stop propagating is_inside_scope_with_eval across functions 2026-01-27 10:58:39 +01:00
for-loop-scoping.js LibJS: Replace implicit environment stack with explicit registers 2026-02-09 16:35:39 +01:00
named-function-expression.js LibJS: Mark named function expression identifiers at individual level 2026-01-27 10:58:39 +01:00
sequential-try-blocks.js LibJS: Replace implicit environment stack with explicit registers 2026-02-09 16:35:39 +01:00
switch-scoping.js LibJS: Replace implicit environment stack with explicit registers 2026-02-09 16:35:39 +01:00
try-catch-scoping.js LibJS: Replace implicit environment stack with explicit registers 2026-02-09 16:35:39 +01:00
try-finally-continue.js LibJS: Replace implicit environment stack with explicit registers 2026-02-09 16:35:39 +01:00
try-finally.js LibJS: Use explicit completion records for try/finally dispatch 2026-02-09 08:51:12 +01:00
with-statement.js LibJS: Replace implicit environment stack with explicit registers 2026-02-09 16:35:39 +01:00