ladybird/Tests/LibJS/Bytecode/expected
Andreas Kling 4046f65ae7 LibJS: Treat class definition parts as strict
Record the generator's strictness for each emitted bytecode
instruction, instead of applying the executable's final strictness to
every instruction during assembly. This lets class heritage and
computed element names run with strict assignment semantics inside
sloppy scripts.

Also create the class self-binding as a strict immutable binding,
matching ClassDefinitionEvaluation, and cover strict class heritage and
computed names in the runtime tests.
2026-05-22 01:56:57 +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: Treat class definition parts as strict 2026-05-22 01:56:57 +02:00
class-environment.txt LibJS: Treat class definition parts as strict 2026-05-22 01:56:57 +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: Treat class definition parts as strict 2026-05-22 01:56:57 +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: Treat class definition parts as strict 2026-05-22 01:56:57 +02:00
delete-super-property.txt LibJS: Treat class definition parts as strict 2026-05-22 01:56:57 +02:00
destructure-array-rest.txt LibJS: Close iterators during array destructuring 2026-05-22 01:56:57 +02:00
destructuring-assignment-in-logical-and.txt LibJS: Close iterators during array destructuring 2026-05-22 01:56:57 +02:00
destructuring-assignment.txt LibJS: Treat class definition parts as strict 2026-05-22 01:56:57 +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: Close iterators during array destructuring 2026-05-22 01:56:57 +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: Cache dynamic environment coordinates 2026-05-19 15:54:23 +02:00
eval-same-function.txt LibJS: Cache dynamic environment coordinates 2026-05-19 15:54:23 +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: Close iterators during array destructuring 2026-05-22 01:56:57 +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: Treat class definition parts as strict 2026-05-22 01:56:57 +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: Treat class definition parts as strict 2026-05-22 01:56:57 +02:00
numeric-getter-no-lhs-name.txt LibJS: Infer computed property function names 2026-05-22 01:56:57 +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: Evaluate object destructuring targets before GetV 2026-05-22 01:56:57 +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: Treat class definition parts as strict 2026-05-22 01:56:57 +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: Treat class definition parts as strict 2026-05-22 01:56:57 +02:00
private-logical-assignment-register-order.txt LibJS: Treat class definition parts as strict 2026-05-22 01:56:57 +02:00
private-method-call-description.txt LibJS: Treat class definition parts as strict 2026-05-22 01:56:57 +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: Treat class definition parts as strict 2026-05-22 01:56:57 +02:00
super-computed-eval-order.txt LibJS: Treat class definition parts as strict 2026-05-22 01:56:57 +02:00
super-computed-string-to-id.txt LibJS: Treat class definition parts as strict 2026-05-22 01:56:57 +02:00
super-constructor-call.txt LibJS: Treat class definition parts as strict 2026-05-22 01:56:57 +02:00
super-evaluation-order.txt LibJS: Treat class definition parts as strict 2026-05-22 01:56:57 +02:00
super-for-of-resolve-order.txt LibJS: Treat class definition parts as strict 2026-05-22 01:56:57 +02:00
super-length-access.txt LibJS: Treat class definition parts as strict 2026-05-22 01:56:57 +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: Treat class definition parts as strict 2026-05-22 01:56:57 +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: Cache dynamic environment coordinates 2026-05-19 15:54:23 +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