ladybird/Tests/LibJS/Bytecode/input
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.js LibJS: Replace implicit environment stack with explicit registers 2026-02-09 16:35:39 +01:00
annexb-function-existing-var.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
annexb-var-coordinate-with-default-param.js LibJS: Track var coordinates in var environments 2026-05-18 20:35:14 +02:00
argument-postfix-self-move.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
argument-variables.js Tests/LibJS: Add tests for scope analysis and destructuring 2026-02-10 02:05:20 +01:00
arguments-with-arguments-fn.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
assign-to-argument-no-tdz.js LibJS/Rust: Fix has_parameter_expressions and TDZ checks for arguments 2026-03-01 21:20:54 +01:00
assign-to-let-variable-tdz.js LibJS: Emit ThrowIfTDZ before simple assignment to let variables 2026-03-04 18:53:12 +01:00
assign-to-parameter.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
async-await-in-try-catch.js Tests/LibJS: Add bytecode test for async await in try-catch with scope 2026-03-01 21:20:54 +01:00
async-await.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
async-generator-yield-await.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
async-generator-yield.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
async-return-bare.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
baseline.js
bigint-binary-literal-fold.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
bigint-constant-folding.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
bigint-large-constant-folding.js Tests/LibJS: Import various tests developed alongside Rust pipeline 2026-02-24 09:39:42 +01:00
bigint-truthiness.js Tests/LibJS: Import various tests developed alongside Rust pipeline 2026-02-24 09:39:42 +01:00
bitwise-numeric-preconvert.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
block-function-declaration-order.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
block-scoped-function-no-tdz.js LibJS: Mark block-scoped function declaration locals as initialized 2026-02-19 02:45:37 +01:00
block-scoping.js LibJS: Replace implicit environment stack with explicit registers 2026-02-09 16:35:39 +01:00
call-spread-register-order.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
captured-variables.js Tests/LibJS: Add tests for scope analysis and destructuring 2026-02-10 02:05:20 +01:00
catch-scope-boundary.js Tests/LibJS: Import various tests developed alongside Rust pipeline 2026-02-24 09:39:42 +01:00
chained-member-call.js LibJS: Make MemberExpression::to_string_approximation() recursive 2026-02-15 23:21:46 +01:00
class-computed-field-lhs-name.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
class-computed-key.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
class-environment.js LibJS: Replace implicit environment stack with explicit registers 2026-02-09 16:35:39 +01:00
class-lhs-name-no-createvariable.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
class-literal-fields.js LibJS: Wire NewClass to ClassBlueprint 2026-02-11 23:57:41 +01:00
computed-compound-assign-register-reuse.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
computed-member-access.js LibJS: Skip unnecessary Mov in emit_load_from_reference for reads 2026-02-15 23:21:46 +01:00
computed-member-compound-assign.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
computed-string-object-literal.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
computed-string-to-ById.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
computed-update-register-order.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
condition-dead-code-elim.js LibJS: Dead code elimination for always truthy/falsey conditions 2026-01-31 18:22:40 +01:00
conditional-register-order.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
const-assignment-no-extra-tdz.js LibJS: Remove redundant ThrowIfTDZ from Rust emit_set_variable 2026-03-04 12:17:59 +01:00
const-fold-exponentiation.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
const-fold-template-literals.js LibJS: Reduce number of template literal op codes 2026-01-31 18:24:02 +01:00
constant-fold-large-string-to-number.js Tests/LibJS: Import various tests developed alongside Rust pipeline 2026-02-24 09:39:42 +01:00
constant-fold-string-to-number.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
default-param-self-reference.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
delete-expression-register.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
delete-super-eval-order.js LibJS/Rust: Fix evaluation order in delete super[key] 2026-03-01 21:20:54 +01:00
delete-super-property.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
destructure-array-rest.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
destructuring-assignment-in-logical-and.js Tests/LibJS: Add bytecode test for destructuring assignment in && 2026-03-01 21:20:54 +01:00
destructuring-assignment.js Tests/LibJS: Add tests for scope analysis and destructuring 2026-02-10 02:05:20 +01:00
destructuring-let-compound-assign.js Tests/LibJS: Add test for compound assignment after destructuring 2026-03-01 21:20:54 +01:00
destructuring-no-base-identifier.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
destructuring-param-no-param-expressions.js LibJS/Rust: Fix has_parameter_expressions and TDZ checks for arguments 2026-03-01 21:20:54 +01:00
do-while-register-allocation.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
double-constant-deduplication.js LibJS: Deduplicate double constants in bytecode generator 2026-03-20 00:51:23 -05:00
eval-prevents-locals.js Tests/LibJS: Add tests for scope analysis and destructuring 2026-02-10 02:05:20 +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
expression-identifier-number-format.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
for-in-block-order.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
for-in-lexical-scope.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
for-in-object-property-iterator-next.js LibJS: Cache stable for-in iteration at bytecode sites 2026-04-10 15:12:53 +02:00
for-in-of-lhs-patterns.js Tests/LibJS: Import various tests developed alongside Rust pipeline 2026-02-24 09:39:42 +01:00
for-in-register-lifetime.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
for-in-var-function-lhs-name.js Tests/LibJS: Import various tests developed alongside Rust pipeline 2026-02-24 09:39:42 +01:00
for-loop-break-after-if-continue.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
for-loop-scoping.js LibJS: Replace implicit environment stack with explicit registers 2026-02-09 16:35:39 +01:00
for-of-cond-rhs-block-order.js Tests/LibJS: Add bytecode test for for-of with conditional in RHS 2026-03-01 21:20:54 +01:00
for-of-continue-with-block-scope.js Tests/LibJS: Add bytecode test for for-of continue with block scope 2026-03-01 21:20:54 +01:00
for-of-iteration-env-capacity.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
for-of-iterator-close.js LibJS: Inline AsyncIteratorClose with proper Await in for-await-of 2026-02-12 11:37:43 +01:00
for-of-rhs-precedence.js Tests/LibJS: Import various tests developed alongside Rust pipeline 2026-02-24 09:39:42 +01:00
for-try-finally-continue.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
function-decl-source-order.js LibJS: Build functions_to_initialize in source order 2026-04-27 08:04:11 +02:00
generator-yield-call.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
generator-yield-finally.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
generator-yield-star.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
generator-yield.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
global-variables.js Tests/LibJS: Add tests for scope analysis and destructuring 2026-02-10 02:05:20 +01:00
if-else-register-lifetime.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
indexed-append-guards.js LibJS: Split packed and holey asm indexed fast paths 2026-03-17 22:28:35 -05:00
invalid-lhs-assignment-no-dead-code.js LibJS: Don't emit dead code after Throw for invalid LHS expressions 2026-03-01 21:20:54 +01:00
invalid-lhs-forin-no-dead-code.js LibJS: Don't emit dead code after Throw for invalid LHS expressions 2026-03-01 21:20:54 +01:00
lexical-env-teardown.js Tests/LibJS: Import various tests developed alongside Rust pipeline 2026-02-24 09:39:42 +01:00
local-source-order.js LibJS: Allocate local variable indices in source order 2026-04-27 08:04:11 +02:00
local-variables.js Tests/LibJS: Add tests for scope analysis and destructuring 2026-02-10 02:05:20 +01:00
logical-assignment-register-order.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
logical-constant-folding.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
logical-or-in-if-condition.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
logical-or-preferred-dst.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
mov-merging.js LibJS: Add Mov2/Mov3 instructions to reduce dispatch overhead 2026-03-11 17:04:32 +01:00
named-class-expression-no-lhs-name-leak.js LibJS: Clear pending_lhs_name for named class expressions 2026-03-04 12:17:59 +01:00
named-function-expression.js LibJS: Mark named function expression identifiers at individual level 2026-01-27 10:58:39 +01:00
nested-for-loop-completion.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
nested-function-decl-source-order.js LibJS: Build functions_to_initialize in source order 2026-04-27 08:04:11 +02:00
nested-member-base-identifier.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
nested-try-finally-continue.js Tests/LibJS: Add bytecode test for nested try-finally continue 2026-03-01 21:20:54 +01:00
numeric-class-field-name.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
numeric-getter-no-lhs-name.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
numeric-index-object-literal.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
numeric-property-key.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
object-rest-computed-key.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
optional-chain-base-identifier.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
optional-chain.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
parameter-createvariable-order.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
postfix-increment-private-member.js Tests/LibJS: Add bytecode test for postfix increment on private member 2026-03-01 21:20:54 +01:00
postfix-update-in-logical-and.js Tests/LibJS: Add bytecode test for postfix update in logical AND 2026-03-01 21:20:54 +01:00
private-identifier-access-patterns.js Tests/LibJS: Import various tests developed alongside Rust pipeline 2026-02-24 09:39:42 +01:00
private-logical-assignment-register-order.js LibJS: Fix register order in private logical assignment 2026-03-04 12:17:59 +01:00
private-method-call-description.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
regex-literals.js Tests/LibJS: Import various tests developed alongside Rust pipeline 2026-02-24 09:39:42 +01:00
resolve-this-caching.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
right-shift-by-zero.js LibJS: Optimize x >> 0 to ToInt32 in bytecode codegen 2026-03-20 00:51:23 -05:00
sequential-try-blocks.js LibJS: Replace implicit environment stack with explicit registers 2026-02-09 16:35:39 +01:00
string-from-char-code-builtin.js LibJS: Add a String.fromCharCode builtin opcode 2026-04-12 19:15:50 +02:00
string-prototype-char-at-builtin.js LibJS: Add a charAt builtin bytecode fast path 2026-04-12 19:15:50 +02:00
super-call-spread-register-order.js LibJS: Keep arg_holders alive in generate_arguments_array 2026-03-04 12:17:59 +01:00
super-computed-eval-order.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
super-computed-string-to-id.js LibJS: Optimize constant string computed properties to MemberId 2026-03-04 12:17:59 +01:00
super-constructor-call.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
super-evaluation-order.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
super-for-of-resolve-order.js LibJS: Fix ResolveThisBinding/ResolveSuperBase emission order 2026-03-04 12:17:59 +01:00
super-length-access.js LibJS/Rust: Use GetLengthWithThis for super.length property access 2026-03-01 21:20:54 +01:00
super-method-call-order.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
super-optional-call-this.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
switch-completion-value.js LibJS: Add bytecode test for switch statement completion values 2026-02-19 12:02:50 +01:00
switch-local-only-let.js Tests/LibJS: Import various tests developed alongside Rust pipeline 2026-02-24 09:39:42 +01:00
switch-scoping.js LibJS: Replace implicit environment stack with explicit registers 2026-02-09 16:35:39 +01:00
switch-with-block-scope-return.js Tests/LibJS: Add bytecode test for return from switch with block scope 2026-03-01 21:20:54 +01:00
tagged-template-base-identifier.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
tagged-template-if-register-order.js Tests/LibJS: Import various tests developed alongside Rust pipeline 2026-02-24 09:39:42 +01:00
this-base-identifier.js LibJS: Handle ThisExpression in expression_identifier() 2026-02-15 23:21:46 +01:00
try-catch-completion-ordering.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
try-catch-finally-register.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
try-catch-scoping.js LibJS: Replace implicit environment stack with explicit registers 2026-02-09 16:35:39 +01:00
try-catch-terminated.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +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
update-member-expression.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
using-declaration-non-local-env.js LibJS: Add UsingDeclaration to needs_block_declaration_instantiation 2026-03-04 12:17:59 +01:00
var-binding-access.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
var-env-capacity-with-param-expressions.js Tests/LibJS: Add bytecode test for var environment capacity 2026-03-01 21:20:54 +01:00
var-hoisting-tdz.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
var-init-in-param-body-scope.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
var-shadow-in-default-param.js LibJS: Don't optimize body vars to locals when referenced in defaults 2026-02-19 02:45:37 +01:00
with-return.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
with-statement.js LibJS: Replace implicit environment stack with explicit registers 2026-02-09 16:35:39 +01:00