-
Notifications
You must be signed in to change notification settings - Fork 4
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
Failing test - math.lua #47
Comments
After ykjit/yk#830 change in YK this still fails. YKD_SERIALISE_COMPILATION=1 try_repeat 100 ../src/lua -e"_U=true" math.lua
testing numbers and math lib
64-bit integers, 53-bit (mantissa) floats
testing order (floats cannot represent all integers)
instrinsic is missing `yk.intrinsic.inlined` metadata: %13 = call double @llvm.floor.f64(double %0), !dbg !9453 |
I think that might be semi-expected in the sense that we can't deopt floats at the moment - @ptersilie was looking for a test which caused that to happen. Perhaps this is the test he was looking for! |
From my understanding (and I might be completely wrong) talking to @ptersilie, this behaviour is related to LLVM implementation. |
Well, we can deopt floats as long as AOT doesn't expect them to be in a float register. I'm all the tests we tried they appear always on the stack. The above error however has nothing to do with deopt. This is the old intrinsic problem: we need to know whether LLVM has inlined an intrinsic or turned it into a call so we can act accordingly during trace construction (JITModBuilder). A common example for this is I've spent some time looking into @vext01 and I have discussed this before and the only solution we can think of at the moment is to put wrappers around all the intrinsics to prevent LLVM from inlining them. |
Issue
Steps to reproduce
Versions
YkLua -
lua-tests/fac6e7e244d3a30366bb06b01c00d2462e901fbd
Yk -
master/a690e6eaf7253a4fa9c04bb54406c07b7efc0085
The text was updated successfully, but these errors were encountered: