Update Binaryen to latest / allowInliningFunctionsWithLoops bindings#1449
Update Binaryen to latest / allowInliningFunctionsWithLoops bindings#1449
Conversation
|
Tests are failing due to the new APIs not being exported yet. |
|
Interesting, setting |
Yes. It's only affected to exported function which relatively small but contain for example loops. See this test |
|
Can you add a test for this in a follow-up PR? |
|
Also, I don't see how this now affects optimize levels, for instance whether it can theoretically yield larger modules on high shrink levels, and I'd appreciate if you could explain :) |
No It's affect only to -O3 on binaryen side. It's hardcoded as: return options.optimizeLevel >= 3 && options.shrinkLevel == 0 &&
(lightweight || options.inlining.allowHeavyweight); |
|
What do you think of setting this option to |
ok |
|
Let me know if this does what you want now :) |
|
LGTM. Thanks! |
Co-authored-by: Max Graey <maxgraey@gmail.com>
Co-authored-by: Max Graey <maxgraey@gmail.com>
Co-authored-by: Max Graey <maxgraey@gmail.com>
Co-authored-by: Max Graey <maxgraey@gmail.com>
|
Interesting, hitting an assertion now indicating that somewhere somehow an expression is |
|
Full error isn't super useful unfortunately |
|
also could you disable |
|
Error also happens if I comment out the |
|
Last working is |
|
PRs in between last working and first failing: WebAssembly/binaryen#3098 WebAssembly/binaryen#3101 WebAssembly/binaryen#3100 WebAssembly/binaryen#3102 |
|
I think it's last one. Could you open issue? |
|
Perhaps, before opening an issue, we might try to see if we can find the problem by injecting a couple checks for |
|
I'm not sure this a good idea. It will be much harder try to fix from our side |
|
🎉 This PR is included in version 0.14.11 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Also adds bindings for
BinaryenGetAllowInliningFunctionsWithLoopsandBinaryenSetAllowInliningFunctionsWithLoops.