Skip to content

Bug in recent "OptimizeInstructions: Optimize StructNew/ArrayNew forms" #6593

@mkustermann

Description

@mkustermann

It seems the recent optimization in fb5608a may contain a bug where it incorrectly considers two inputs to be equal in the visitArrayNewFixed implementation.

Reproduction
m3_build_web.tar.gz

Extract the tarball and serve the build/web folder with `'--headers=Cross-Origin-Embedder-Policy=credentialless;Cross-Origin-Opener-Policy=same-origin' http headers.

=> Observe the text is rendered correctly.

Now optimize the build/web/main.dart.wasm file with binaryen via

% wasm-opt --all-features --closed-world --traps-never-happen --type-unfinalizing -Os --type-ssa --gufa -Os --type-merging -Os --type-finalizing -g build/web/main.dart.wasm -o build/web/main.dart.wasm

and cold-reload the page.

=> Observe the text is now rendered incorrectly

(By briefly looking at it it seems the issue is in the $initializeEngineServices function where an array of two different _Future objects turn into an array of two identical _Future objects)

/cc @kripken

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions