Request for review 7141200: log some interesting information in ring buffers for crashes

Christian Thalinger christian.thalinger at oracle.com
Mon Feb 13 02:34:43 PST 2012


On Feb 10, 2012, at 6:44 PM, Tom Rodriguez wrote:

> 
> On Feb 10, 2012, at 7:10 AM, Christian Thalinger wrote:
> 
>> 
>> On Jan 31, 2012, at 6:05 PM, Tom Rodriguez wrote:
>> 
>>> 
>>> On Jan 31, 2012, at 3:01 AM, Christian Thalinger wrote:
>>> 
>>>> 
>>>> On Jan 31, 2012, at 8:50 AM, Tom Rodriguez wrote:
>>>> 
>>>>> http://cr.openjdk.java.net/~never/7141200
>>>>> 664 lines changed: 389 ins; 185 del; 90 mod; 37188 unchg
>>>>> 
>>>>> 7141200: log some interesting information in ring buffers for crashes
>>>>> Reviewed-by:
>>>> 
>>>> This looks good.  Since you removed the debug methods to print the events I guess now the way to print them is to call Events::print_all.  Could we have a default outputStream for easier calling in the debugger:
>>>> 
>>>> +   static void print_all(outputStream* out = tty);
>>>> 
>>>> (Although in my experience this doesn't work very good in GDB.)
>>> 
>>> I'll add something like that, probably Events::print.
>> 
>> I think we should move the implementation of print to the .cpp file:
>> 
>> (dbx) p Events::print()        
>> dbx: Events::print is missing in this scope (never defined or an inlined function)
>> (dbx) p Events::print_all(tty) 
>> Compilation events (10 events):
>> ...
>> 
>> If you want I can add it to 7143766.
> 
> I've got a couple minor fixes for this so I'll include it there.

You can also remove the event stuff from debug.cpp:

diff --git a/src/share/vm/utilities/debug.cpp b/src/share/vm/utilities/debug.cpp
--- a/src/share/vm/utilities/debug.cpp
+++ b/src/share/vm/utilities/debug.cpp
@@ -47,7 +47,6 @@
 #include "runtime/vframe.hpp"
 #include "services/heapDumper.hpp"
 #include "utilities/defaultStream.hpp"
-#include "utilities/events.hpp"
 #include "utilities/top.hpp"
 #include "utilities/vmError.hpp"
 #ifdef TARGET_OS_FAMILY_linux
@@ -759,8 +758,6 @@
 
   tty->print_cr("misc.");
   tty->print_cr("  flush()       - flushes the log file");
-  tty->print_cr("  events()      - dump last 50 events");
-
 
   tty->print_cr("compiler debugging");
   tty->print_cr("  debug()       - to set things up for compiler debugging");

-- Chris

> 
> tom
> 
>> 
>> -- Chris
>> 
>>> 
>>>>> 
>>>>> There are some EventMarks in GC code that I'm tempted to delete.  Any
>>>>> objections?
>>>>> 
>>>>> I put a couple example logs at:
>>>>> 
>>>>> http://cr.openjdk.java.net/~never/7141200/example1.log
>>>>> http://cr.openjdk.java.net/~never/7141200/example2.log
>>>> 
>>>> Unfortunately these are not there.
>>> 
>>> I think they got deleted by rsync.  They are there now.
>>> 
>>> tom
>>> 
>>>> 
>>>> -- Chris
>>>> 
>>>>> 
>>>>> I can produce others if needed.
>>>>> 
>>>>> Performance seems to be largely unchanged according to refworkload but
>>>>> I'm still running some benchmarks.  Tested with JCK vm and lang, and
>>>>> the nsk tests.
>>>>> 
>>>>> 
>>>> 
>>> 
>> 
> 



More information about the hotspot-dev mailing list