ladybird/Tests/LibJS/Bytecode/expected
Andreas Kling bb0acb54ae LibJS: Optimize x >> 0 to ToInt32 in bytecode codegen
x >> 0 is a common JS idiom equivalent to ToInt32(x). We already had
this optimization for x | 0, now do it for right shift by zero as well.

This allows the asmint handler for ToInt32 to run instead of the more
expensive RightShift handler, which wastes time loading and checking the
rhs operand and performing a shift by zero.
2026-03-20 00:51:23 -05:00
..
annex-b-function-in-if.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
annexb-function-existing-var.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
argument-postfix-self-move.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
argument-variables.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
arguments-with-arguments-fn.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
assign-to-argument-no-tdz.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
assign-to-let-variable-tdz.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
assign-to-parameter.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
async-await-in-try-catch.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
async-await.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
async-generator-yield-await.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
async-generator-yield.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
async-return-bare.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
baseline.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
bigint-binary-literal-fold.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
bigint-constant-folding.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
bigint-large-constant-folding.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
bigint-truthiness.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
bitwise-numeric-preconvert.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
block-function-declaration-order.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
block-scoped-function-no-tdz.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
block-scoping.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
call-spread-register-order.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
captured-variables.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
catch-scope-boundary.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
chained-member-call.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
class-computed-field-lhs-name.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
class-computed-key.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
class-environment.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
class-lhs-name-no-createvariable.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
class-literal-fields.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
computed-compound-assign-register-reuse.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
computed-member-access.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
computed-member-compound-assign.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
computed-string-object-literal.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
computed-string-to-ById.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
computed-update-register-order.txt LibJS: Remove C++ pipeline compatibility hacks from Rust codegen 2026-03-20 00:51:23 -05:00
condition-dead-code-elim.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
conditional-register-order.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
const-assignment-no-extra-tdz.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
const-fold-exponentiation.txt LibJS: Deduplicate double constants in bytecode generator 2026-03-20 00:51:23 -05:00
const-fold-template-literals.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
constant-fold-large-string-to-number.txt LibJS: Deduplicate double constants in bytecode generator 2026-03-20 00:51:23 -05:00
constant-fold-string-to-number.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
default-param-self-reference.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
delete-expression-register.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
delete-super-eval-order.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
delete-super-property.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
destructure-array-rest.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
destructuring-assignment-in-logical-and.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
destructuring-assignment.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
destructuring-let-compound-assign.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
destructuring-no-base-identifier.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
destructuring-param-no-param-expressions.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
do-while-register-allocation.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
double-constant-deduplication.txt LibJS: Deduplicate double constants in bytecode generator 2026-03-20 00:51:23 -05:00
eval-prevents-locals.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
eval-same-function.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
eval-scope-optimization.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
expression-identifier-number-format.txt LibJS: Deduplicate double constants in bytecode generator 2026-03-20 00:51:23 -05:00
for-in-block-order.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
for-in-lexical-scope.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
for-in-of-lhs-patterns.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
for-in-register-lifetime.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
for-in-var-function-lhs-name.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
for-loop-break-after-if-continue.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
for-loop-scoping.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
for-of-cond-rhs-block-order.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
for-of-continue-with-block-scope.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
for-of-iteration-env-capacity.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
for-of-iterator-close.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
for-of-rhs-precedence.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
for-try-finally-continue.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
generator-yield-call.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
generator-yield-finally.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
generator-yield-star.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
generator-yield.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
global-variables.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
if-else-register-lifetime.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
indexed-append-guards.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
invalid-lhs-assignment-no-dead-code.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
invalid-lhs-forin-no-dead-code.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
lexical-env-teardown.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
local-variables.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
logical-assignment-register-order.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
logical-constant-folding.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
logical-or-in-if-condition.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
logical-or-preferred-dst.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
mov-merging.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
named-class-expression-no-lhs-name-leak.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
named-function-expression.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
nested-for-loop-completion.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
nested-member-base-identifier.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
nested-try-finally-continue.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
numeric-class-field-name.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
numeric-getter-no-lhs-name.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
numeric-index-object-literal.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
numeric-property-key.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
object-rest-computed-key.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
optional-chain-base-identifier.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
optional-chain.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
parameter-createvariable-order.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
postfix-increment-private-member.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
postfix-update-in-logical-and.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
private-identifier-access-patterns.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
private-logical-assignment-register-order.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
private-method-call-description.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
regex-literals.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
resolve-this-caching.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
right-shift-by-zero.txt LibJS: Optimize x >> 0 to ToInt32 in bytecode codegen 2026-03-20 00:51:23 -05:00
sequential-try-blocks.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
super-call-spread-register-order.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
super-computed-eval-order.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
super-computed-string-to-id.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
super-constructor-call.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
super-evaluation-order.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
super-for-of-resolve-order.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
super-length-access.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
super-method-call-order.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
super-optional-call-this.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
switch-completion-value.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
switch-local-only-let.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
switch-scoping.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
switch-with-block-scope-return.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
tagged-template-base-identifier.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
tagged-template-if-register-order.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
this-base-identifier.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
try-catch-completion-ordering.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
try-catch-finally-register.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
try-catch-scoping.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
try-catch-terminated.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
try-finally-continue.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
try-finally.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
update-member-expression.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
using-declaration-non-local-env.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
var-binding-access.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
var-env-capacity-with-param-expressions.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
var-hoisting-tdz.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
var-init-in-param-body-scope.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
var-shadow-in-default-param.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
with-return.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
with-statement.txt LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00