ladybird/Tests/LibJS/Bytecode/expected
Andreas Kling afcc39fdec LibJS: Track var coordinates in var environments
Record CreateVariable instructions in the coordinate scope that matches
their runtime environment mode. Lexical variables still use the current
lexical scope. Var bindings use the generator's var environment anchor.

Add coverage for an Annex B block function in a function with default
parameters and a body lexical environment. This catches cases where the
var binding is recorded in the parameter scope. A later call could read
the wrong environment slot.
2026-05-18 20:35:14 +02:00
..
annex-b-function-in-if.txt LibJS: Emit eager environment coordinates in bytecode 2026-05-18 20:35:14 +02:00
annexb-function-existing-var.txt LibJS: Emit eager environment coordinates in bytecode 2026-05-18 20:35:14 +02:00
annexb-var-coordinate-with-default-param.txt LibJS: Track var coordinates in var environments 2026-05-18 20:35:14 +02:00
argument-postfix-self-move.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
argument-variables.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
arguments-with-arguments-fn.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
assign-to-argument-no-tdz.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
assign-to-let-variable-tdz.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
assign-to-parameter.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
async-await-in-try-catch.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
async-await.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
async-generator-yield-await.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
async-generator-yield.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
async-return-bare.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
baseline.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
bigint-binary-literal-fold.txt LibJS: Drop source ranges from bytecode source maps 2026-05-14 09:41:03 +02:00
bigint-constant-folding.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
bigint-large-constant-folding.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
bigint-truthiness.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
bitwise-numeric-preconvert.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
block-function-declaration-order.txt LibJS: Emit eager environment coordinates in bytecode 2026-05-18 20:35:14 +02:00
block-scoped-function-no-tdz.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
block-scoping.txt LibJS: Emit eager environment coordinates in bytecode 2026-05-18 20:35:14 +02:00
call-spread-register-order.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
captured-variables.txt LibJS: Emit eager environment coordinates in bytecode 2026-05-18 20:35:14 +02:00
catch-scope-boundary.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
chained-member-call.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
class-computed-field-lhs-name.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
class-computed-key.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
class-environment.txt LibJS: Split dynamic environment lookups from coordinates 2026-05-18 20:35:14 +02:00
class-lhs-name-no-createvariable.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
class-literal-fields.txt LibJS: Split dynamic environment lookups from coordinates 2026-05-18 20:35:14 +02:00
computed-compound-assign-register-reuse.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
computed-member-access.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
computed-member-compound-assign.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
computed-string-object-literal.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
computed-string-to-ById.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
computed-update-register-order.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
condition-dead-code-elim.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
conditional-register-order.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
const-assignment-no-extra-tdz.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
const-fold-exponentiation.txt LibJS: Split dynamic environment lookups from coordinates 2026-05-18 20:35:14 +02:00
const-fold-template-literals.txt LibJS: Split dynamic environment lookups from coordinates 2026-05-18 20:35:14 +02:00
constant-fold-large-string-to-number.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
constant-fold-string-to-number.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
default-param-self-reference.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
delete-expression-register.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
delete-super-eval-order.txt LibJS: Split dynamic environment lookups from coordinates 2026-05-18 20:35:14 +02:00
delete-super-property.txt LibJS: Split dynamic environment lookups from coordinates 2026-05-18 20:35:14 +02:00
destructure-array-rest.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
destructuring-assignment-in-logical-and.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
destructuring-assignment.txt LibJS: Emit eager environment coordinates in bytecode 2026-05-18 20:35:14 +02:00
destructuring-let-compound-assign.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
destructuring-no-base-identifier.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
destructuring-param-no-param-expressions.txt LibJS: Emit eager environment coordinates in bytecode 2026-05-18 20:35:14 +02:00
do-while-register-allocation.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
double-constant-deduplication.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
eval-prevents-locals.txt LibJS: Emit eager environment coordinates in bytecode 2026-05-18 20:35:14 +02:00
eval-same-function.txt LibJS: Split dynamic environment lookups from coordinates 2026-05-18 20:35:14 +02:00
eval-scope-optimization.txt LibJS: Emit eager environment coordinates in bytecode 2026-05-18 20:35:14 +02:00
expression-identifier-number-format.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
for-in-block-order.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
for-in-lexical-scope.txt LibJS: Emit eager environment coordinates in bytecode 2026-05-18 20:35:14 +02:00
for-in-object-property-iterator-next.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
for-in-of-lhs-patterns.txt LibJS: Drop source ranges from bytecode source maps 2026-05-14 09:41:03 +02:00
for-in-register-lifetime.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
for-in-var-function-lhs-name.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
for-loop-break-after-if-continue.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
for-loop-scoping.txt LibJS: Emit eager environment coordinates in bytecode 2026-05-18 20:35:14 +02:00
for-of-cond-rhs-block-order.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
for-of-continue-with-block-scope.txt LibJS: Emit eager environment coordinates in bytecode 2026-05-18 20:35:14 +02:00
for-of-iteration-env-capacity.txt LibJS: Stop persisting basic_block_start_offsets on Executable 2026-05-14 12:08:12 +02:00
for-of-iterator-close.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
for-of-rhs-precedence.txt LibJS: Drop source ranges from bytecode source maps 2026-05-14 09:41:03 +02:00
for-try-finally-continue.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
function-decl-source-order.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
generator-yield-call.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
generator-yield-finally.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
generator-yield-star.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
generator-yield.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
global-variables.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
if-else-register-lifetime.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
indexed-append-guards.txt LibJS: Split dynamic environment lookups from coordinates 2026-05-18 20:35:14 +02:00
invalid-lhs-assignment-no-dead-code.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
invalid-lhs-forin-no-dead-code.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
lexical-env-teardown.txt LibJS: Emit eager environment coordinates in bytecode 2026-05-18 20:35:14 +02:00
local-source-order.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
local-variables.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
logical-assignment-register-order.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
logical-constant-folding.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
logical-or-in-if-condition.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
logical-or-preferred-dst.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
mov-merging.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
named-class-expression-no-lhs-name-leak.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
named-function-expression.txt LibJS: Emit eager environment coordinates in bytecode 2026-05-18 20:35:14 +02:00
nested-for-loop-completion.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
nested-function-decl-source-order.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
nested-member-base-identifier.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
nested-try-finally-continue.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
numeric-class-field-name.txt LibJS: Split dynamic environment lookups from coordinates 2026-05-18 20:35:14 +02:00
numeric-getter-no-lhs-name.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
numeric-index-object-literal.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
numeric-property-key.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
object-rest-computed-key.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
optional-chain-base-identifier.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
optional-chain.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
parameter-createvariable-order.txt LibJS: Emit eager environment coordinates in bytecode 2026-05-18 20:35:14 +02:00
postfix-increment-private-member.txt LibJS: Split dynamic environment lookups from coordinates 2026-05-18 20:35:14 +02:00
postfix-update-in-logical-and.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
private-identifier-access-patterns.txt LibJS: Split dynamic environment lookups from coordinates 2026-05-18 20:35:14 +02:00
private-logical-assignment-register-order.txt LibJS: Split dynamic environment lookups from coordinates 2026-05-18 20:35:14 +02:00
private-method-call-description.txt LibJS: Split dynamic environment lookups from coordinates 2026-05-18 20:35:14 +02:00
regex-literals.txt LibJS: Split dynamic environment lookups from coordinates 2026-05-18 20:35:14 +02:00
resolve-this-caching.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
right-shift-by-zero.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
sequential-try-blocks.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
string-from-char-code-builtin.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
string-prototype-char-at-builtin.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
super-call-spread-register-order.txt LibJS: Split dynamic environment lookups from coordinates 2026-05-18 20:35:14 +02:00
super-computed-eval-order.txt LibJS: Split dynamic environment lookups from coordinates 2026-05-18 20:35:14 +02:00
super-computed-string-to-id.txt LibJS: Split dynamic environment lookups from coordinates 2026-05-18 20:35:14 +02:00
super-constructor-call.txt LibJS: Split dynamic environment lookups from coordinates 2026-05-18 20:35:14 +02:00
super-evaluation-order.txt LibJS: Emit eager environment coordinates in bytecode 2026-05-18 20:35:14 +02:00
super-for-of-resolve-order.txt LibJS: Split dynamic environment lookups from coordinates 2026-05-18 20:35:14 +02:00
super-length-access.txt LibJS: Emit eager environment coordinates in bytecode 2026-05-18 20:35:14 +02:00
super-method-call-order.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
super-optional-call-this.txt LibJS: Emit eager environment coordinates in bytecode 2026-05-18 20:35:14 +02:00
switch-completion-value.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
switch-local-only-let.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
switch-scoping.txt LibJS: Emit eager environment coordinates in bytecode 2026-05-18 20:35:14 +02:00
switch-with-block-scope-return.txt LibJS: Emit eager environment coordinates in bytecode 2026-05-18 20:35:14 +02:00
tagged-template-base-identifier.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
tagged-template-if-register-order.txt LibJS: Split dynamic environment lookups from coordinates 2026-05-18 20:35:14 +02:00
this-base-identifier.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
try-catch-completion-ordering.txt LibJS: Stop persisting basic_block_start_offsets on Executable 2026-05-14 12:08:12 +02:00
try-catch-finally-register.txt LibJS: Drop source ranges from bytecode source maps 2026-05-14 09:41:03 +02:00
try-catch-scoping.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
try-catch-terminated.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
try-finally-continue.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
try-finally.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
update-member-expression.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
using-declaration-non-local-env.txt LibJS: Fix var declarations in direct eval inside catch blocks 2026-05-15 10:01:08 +02:00
var-binding-access.txt LibJS: Emit eager environment coordinates in bytecode 2026-05-18 20:35:14 +02:00
var-env-capacity-with-param-expressions.txt LibJS: Emit eager environment coordinates in bytecode 2026-05-18 20:35:14 +02:00
var-hoisting-tdz.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
var-init-in-param-body-scope.txt LibJS: Store bytecode cache indexes instead of pointers 2026-05-18 20:35:14 +02:00
var-shadow-in-default-param.txt LibJS: Emit eager environment coordinates in bytecode 2026-05-18 20:35:14 +02:00
with-return.txt LibJS: Split dynamic environment lookups from coordinates 2026-05-18 20:35:14 +02:00
with-statement.txt LibJS: Split dynamic environment lookups from coordinates 2026-05-18 20:35:14 +02:00