Skip to content

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

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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