-
Notifications
You must be signed in to change notification settings - Fork 7
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
We compile floating-point code but can't deal with it properly #774
Comments
"assert/panic" was added in 2a267f1 |
I think that's one for @ptersilie . |
I need to look into how stackmaps handle floats, since I believe deopt is what keeps this from working currently. |
I assume it simply reports a FP register or a normal stack slot. But we certainly don't preserve/restore the FP registers over deopt. |
Related issues in yklua: |
@Pavel-Durov @ptersilie What's the status of this one? Did we fix floats, or did I imagine it? |
@Pavel-Durov noticed in ykjit/yklua#19 that yklua + mandelbrot.lua crash in odd ways. There are two causes. One is an out-of-memory that isn't relevant to this issue, but another is that the benchmark uses floating point, which a) we don't seem to handle b) we let through a trace. Pavel saw this in a backtrace:
At the very least we should add some sort of
assert
/panic
at JIT time when we encounter FP code, so that we don't let the program stumble on to an inevitable, and confusing, death. Ideally we'd actually fix whatever stops us handling FP stuff (@vext01 suggested we don't deal with FP registers? maybe that's the only problem?).@Pavel-Durov perhaps you could look into the "assert/panic" fix? I suspect the wider issue will take help from @ptersilie.
The text was updated successfully, but these errors were encountered: