-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
[RFC] Introduce JitCompBreakpoint #606
Comments
\cc @BruceForstall |
This looks like the same thing as the pre-existing |
There are lots of similar (and not so similar) options in |
Thanks for your teaching! It also works for MIPS64:
I made the wheel repeatedly :P Thanks, |
But my JitCompBreakPoint wheel is able to work for ARM64, MIPS64 and X86. Thanks, |
Doesn't your JitCompBreakPoint and JitHalt generate the same instruction (some kind of break instruction) into the code stream? |
But Thanks, |
From the ARMv8 manual, it looks like perhaps we should never be generating INS_bkpt for ARM64, and should only generate INS_brk. It looks like INS_bkpt is an arm32-only instruction. So maybe you can just change the definition of @briansull @TamarChristinaArm comments? |
Thanks, |
Yeah that's correct, the two execution states have different breakpoint instructions. |
Thanks for your kind response! May I create PR to fix the issue? Cheers, |
Yes, that would be great. |
Please review it #892 Cheers, |
Unfortunately, it looks like the situation is a little more complicated that it should be. I reproduced the failure and your fix on Linux, and it looks good. I tried the existing code and your fix on Windows, and it doesn't work. With the existing code (using So, I think we need to leave the existing code, but |
Oops. I should have put this comment in the PR #892; I'll do that. |
You are welcome :) |
* [ARM64] Change INS_bkpt to INS_brk for INS_BREAKPOINT #606 * [ARM64] Change INS_bkpt to INS_brk for INS_BREAKPOINT #606 * [ARM64] Change INS_bkpt to INS_brk for INS_BREAKPOINT #606 * [ARM64] Change INS_bkpt to INS_brk for TARGET_UNIX #606 * [ARM64] Change INS_bkpt to INS_brk for TARGET_UNIX #606 * Fix formatting errors for INS_MULADD
Hi,
When I was an apprentice in the OpenJDK world, I have no idea about How to use gdb to debug C1 compiler's internal error. I always lost in the
Assembly
forest :(Dean, an experienced OpenJDK HotSpot developer, introduced
C1Breakpoint
and thensingle-stepping
si
through the generated code.So I just implement
JitCompBreakpoint
for CoreCLR about Debugging JIT-ed Code With GDB or lldb:Then it is able to single-stepping
si
through the generated code by setting JitCompBreakpoint enviroment value:For X86:
For ARM64, it is easy to get registers information:
It is also helpful for MIPS64 RyuJIT porting :)
Request for Comments.
Thanks,
Leslie Zhai
The text was updated successfully, but these errors were encountered: