RFR (S) 8001538: hs_err file does not list anymore compiled methods in compilation events
Christian Thalinger
christian.thalinger at oracle.com
Tue Nov 13 10:43:56 PST 2012
On Nov 13, 2012, at 7:53 AM, Vladimir Ivanov <vladimir.x.ivanov at oracle.com> wrote:
> http://cr.openjdk.java.net/~vlivanov/8001538/webrev.00/
>
> Due to incorrect message buffer size calculation, a message may be truncated to 4/8 characters.
>
> Also, changed how deoptimization events are logged:
> - moved [1] from "Deoptimization events" to "Events" section.
> - added [2] to "Deoptimization events" section
>
> Sample output from a hs_err file:
> Deoptimization events (2 events):
> Event: 3.438 Thread 0x0000000103804800 Uncommon trap: Test::f @ 23, reason: unloaded, action: reinterpret
> Event: 3.482 Thread 0x0000000103804800 Uncommon trap: Test::main @ 38, reason: unloaded, action: reinterpret
>
> Internal exceptions (10 events):
> ...
>
> Events (10 events):
> Event: 3.441 Thread 0x0000000103804800 DEOPT UNPACKING pc=0x00000001046cf214 sp=0x0000000100700548 mode 2
> Event: 3.482 Thread 0x0000000103804800 Uncommon trap 3 fr.pc 0x00000001046ffe1c
> ...
I have similar change in one of my workspaces:
diff --git a/src/share/vm/runtime/deoptimization.cpp b/src/share/vm/runtime/deoptimization.cpp
--- a/src/share/vm/runtime/deoptimization.cpp
+++ b/src/share/vm/runtime/deoptimization.cpp
@@ -1241,10 +1241,6 @@
// before we are done with it.
nmethodLocker nl(fr.pc());
- // Log a message
- Events::log_deopt_message(thread, "Uncommon trap %d fr.pc " INTPTR_FORMAT,
- trap_request, fr.pc());
-
{
ResourceMark rm;
@@ -1265,6 +1261,11 @@
int trap_bci = trap_scope->bci();
Bytecodes::Code trap_bc = trap_method->java_code_at(trap_bci);
+ // Log a message
+ Events::log_deopt_message(thread, "Uncommon trap: reason=%s action=%s pc=" INTPTR_FORMAT " method=%s @ %d",
+ trap_reason_name(reason), trap_action_name(action), fr.pc(),
+ trap_method->name_and_sig_as_C_string(), trap_bci);
+
// Record this event in the histogram.
gather_statistics(reason, action, trap_bc);
Maybe you can merge them. Btw. I find the PC also very helpful in the log_deopt_message.
-- Chris
>
> Testing: JPRT, simple test w/ deopt events in the log.
>
> Best regards,
> Vladimir Ivanov
>
> [1] Uncommon trap 3 fr.pc 0x00000001046ffe1c
> [2] Uncommon trap: Test::f @ 23, reason=unloaded action=reinterpret
More information about the hotspot-compiler-dev
mailing list