-
Notifications
You must be signed in to change notification settings - Fork 140
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
VM Backtraces #1450
Labels
Comments
To reconstruct a backtrace, we would follow these steps:
|
With an IP backtrace, we can use DWARF-like line tables that our bytecode compiler will generate to convert IP addresses to source information. When our bytecode compiler generates these line tables along with the bytecode modules, it will register the bytecode line tables with clasp's runtime just like we register object files generated by llvm. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
We would like to support good backtraces for bytecode functions. This means that the existing backtrace machinery for native code needs to be extended so it can also handle bytecode functions.
The idea we've come with to support this is to make VM frames work a little more like native frames, by pushing the IP to the VM stack just before a call. The caller does not actually need this address to return, like you would natively, but its presence on the stack can be used to get the chain of function calls and make a backtrace.
In order to present any useful information we would also need DWARF-like line tables (#1449).
The text was updated successfully, but these errors were encountered: