1.1 --- a/src/share/vm/runtime/frame.cpp Wed Dec 02 20:32:27 2009 -0500 1.2 +++ b/src/share/vm/runtime/frame.cpp Fri Dec 11 11:09:49 2009 -0800 1.3 @@ -1190,9 +1190,19 @@ 1.4 1.5 1.6 void frame::oops_do_internal(OopClosure* f, CodeBlobClosure* cf, RegisterMap* map, bool use_interpreter_oop_map_cache) { 1.7 - if (is_interpreted_frame()) { oops_interpreted_do(f, map, use_interpreter_oop_map_cache); 1.8 - } else if (is_entry_frame()) { oops_entry_do (f, map); 1.9 - } else if (CodeCache::contains(pc())) { oops_code_blob_do (f, cf, map); 1.10 +#ifndef PRODUCT 1.11 + // simulate GC crash here to dump java thread in error report 1.12 + if (CrashGCForDumpingJavaThread) { 1.13 + char *t = NULL; 1.14 + *t = 'c'; 1.15 + } 1.16 +#endif 1.17 + if (is_interpreted_frame()) { 1.18 + oops_interpreted_do(f, map, use_interpreter_oop_map_cache); 1.19 + } else if (is_entry_frame()) { 1.20 + oops_entry_do(f, map); 1.21 + } else if (CodeCache::contains(pc())) { 1.22 + oops_code_blob_do(f, cf, map); 1.23 } else { 1.24 ShouldNotReachHere(); 1.25 }