-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AsmJs/WAsm calling convention issues on xplat #2378
Comments
@Penguinwizzard Indeed, didn't get to complete Simd when I worked on xplat JIT. That's why Simd tests were disabled on xplat by that line. |
From what I was able to gather this happens because |
@jianchun The problem is almost all asm.js test have that flag even though simd is not used (I am not entirely sure the reason why, but I think there's a good one). |
@jianchun If Simd doesn't work on xplat, should we disable building Simd/not recognize the flag/error out on use on xplat? It looks like a lot of tests just fail with "SIMD is undefined", which seems fine - those tests can just be excluded. |
@Penguinwizzard @Cellule At the time I felt Simd was close to completion, but I was not exactly sure of the calling conventions. Left Simd code in build so it would not diverge further (Simd code kept introducing build failures at the time). |
Is wrong calling convention still an issue? |
@MikeHolman AFAIK it hasn't been fixed yet, but maybe @obastemur has more info on this |
Then can we increase the priority on this issue? It is essentially blocking our wasm fuzzing and generally is a pretty high impact issue for wasm/asm.js code. |
#2716 is merged and should fix this issue. |
Problems still occur; remove exclude_xplat on most wasm test cases to repro. |
Merge pull request #3129 from Penguinwizzard:fix_asan_ci Disable one test in ASAN due to a known issue with modules in ch (bug #2735), disable one test on xplat due to wasm calling convention issues (bug #2378), keep a loop from accessing data beyond an array bound in the pal code, and fix the casing on one test file.
…ASAN runs Merge pull request #3129 from Penguinwizzard:fix_asan_ci Disable one test in ASAN due to a known issue with modules in ch (bug #2735), disable one test on xplat due to wasm calling convention issues (bug #2378), keep a loop from accessing data beyond an array bound in the pal code, and fix the casing on one test file.
@Penguinwizzard the problem shouldn't be calling conventions. At least it was fixed for asm.js and others. About WASM, we have couple of disable stuff (SIMD) for xplat. Maybe we should close this issue and open a new one : |
This issue is also hitting in asm.js not just wasm. |
Closing in favor of #3561 |
When attempting to pass a floating-point argument to an asmjs/wasm function on xplat, the caller and callee don't agree on the calling convention. This causes correctness issues, as we end up often using the wrong value. This occurs in JITted code.
Repro:
Remove these lines from test/runtest.py (link):
Run
runtests.py -d AsmJSFloat
.Note: There's a separate bug filed related to removing the lines hiding this issue from runtest.py at #2412.
Repro file:
Here's a separate file by @Cellule that reproduces the issue with -maic:0
The text was updated successfully, but these errors were encountered: