-
Notifications
You must be signed in to change notification settings - Fork 114
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
[JFR] Fix object profiling stacktrace problem on aarch64 platform #190
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm.
@yfxhust |
This is why _cached_top_frame_bci. I am not sure whether it still stands in current static Java call implementation. |
LGTM |
JVMState includes the BCI info, and OptoStub can set _last_java_sp properly, hence, vframeStream could get the correct context information. |
Thank you! |
Summary: 1. Use CallStaticJavaNode to invoke jfr_fast_object_alloc_C so that last_java_sp is set properly 2. Remove StackWalkMode and _cached_top_frame_bci Test Plan: test/jdk/jfr/event/objectsprofiling/TestOptoObjectAllocationsSampling.java Reviewed-by: kelthuzadx, kuaiwei, sandlerwang, zhengxiaolinX Issue: #189
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Thanks again for the review! |
Hi,
Please help review this patch that fixes the stack trace problem of object profiling on the aarch64 platform.
The root cause of this problem is that the stack layout of aarch64 is different from x86_64 so that we cannot use vframeStream(thread, os::current_frame()) to get the java call stack traces.
This fix uses CallStaticJavaNode to invoke the jfr_fast_object_alloc_C so that the _last_Java_pc is set properly by opto stub.
Issue: #189
Denghui