ladybird/Tests/LibJS/Bytecode/expected
Andreas Kling 790386e114 LibJS: Preserve Promise job ordering across calls
Only drain the standalone Promise job queue when unwinding the outermost
bytecode execution. Draining after every nested run_executable() return
let sibling Promise reactions run before current-job reactions.

Plain async function returns were relying on that extra drain because
return values were compiled as implicit awaits. Resolve completed async
functions through the Promise resolving function instead, while keeping
the async generator return-await path.

Add Promise ordering coverage and update the asm inline-call regression
to check the pre-drain state.
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: Fix destructured primitive string const loops 2026-05-22 01:56:57 +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: Preserve Promise job ordering across calls 2026-05-22 01:56:57 +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: Fix destructured primitive string const loops 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: Preserve resolved assignment bindings 2026-05-22 01:56:57 +02:00
destructuring-let-compound-assign.txt LibJS: Fix destructured primitive string const loops 2026-05-22 01:56:57 +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: Preserve resolved assignment bindings 2026-05-22 01:56:57 +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: Fix destructured primitive string const loops 2026-05-22 01:56:57 +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: Fix destructured primitive string const loops 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: Fix destructured primitive string const loops 2026-05-22 01:56:57 +02:00
for-of-iterator-close.txt LibJS: Fix destructured primitive string const loops 2026-05-22 01:56:57 +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: Yield delegated iterator results directly 2026-05-22 01:56:57 +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: Fix destructured primitive string const loops 2026-05-22 01:56:57 +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: Resolve super constructor before arguments 2026-05-22 01:56:57 +02:00
super-computed-eval-order.txt LibJS: Resolve super constructor before arguments 2026-05-22 01:56:57 +02:00
super-computed-string-to-id.txt LibJS: Resolve super constructor before arguments 2026-05-22 01:56:57 +02:00
super-constructor-call.txt LibJS: Resolve super constructor before arguments 2026-05-22 01:56:57 +02:00
super-evaluation-order.txt LibJS: Resolve super constructor before arguments 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: Resolve super constructor before arguments 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: Resolve super constructor before arguments 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