-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Dump EmittedFunctionDetails to sysimage #6490
Conversation
I don't have any concrete suggestions for the deserialization, but keep in mind that LLVM's emitting API will be changing with 3.5/MCJIT. I started toying with this myself (here), but didn't get very far. The biggest issue is that (I think) the function pointers are now offsets within each anonymous module and no longer unique. But you probably already know this… |
This is so great. This is arguably the most important 0.3 blocker. |
Almost works, just need to fix the fptr round trip. |
Now it works.
(I was saving the function pointer correctly, but the line numbers were zero'd out when each I added some minor contortions to call @mbauman thanks - hopefully this will go away when we move to 3.5 by getting info directly from DWARF. |
I can confirm that on OSX, this works just fine:
|
On Windows this gives a
|
@staticfloat great, thanks! @tkelman thanks - any idea where the crash is? |
Nevermind, I see where it is. Not sure what to do about it though; and it's a moot point because the epilogue insertion is failing. |
sorry, i couldn't respond sooner. no, the
|
Some notes from IRC discussion w/ vtjnash:
@vtjnash wants to punt on |
So seeing that Windows support is not really tractable, and this works well on linux and mac, I'll merge tomorrow if there are no objections. (I took out the |
Not sure what you changed, but now this branch doesn't build on Windows.
The I'm personally fine with |
- Fiddles with FuncInfo struct to optionally store name and filename info - sysimg_handle -> jl_sysimg_handle (not exported) - adds jl_restore_linedebug_info(uv_lib_t*)
Fixed on windows, and eliminated warnings. |
Dump EmittedFunctionDetails to sysimage
This implements serialization and deserialization of line number information. Ref #5354.