src/share/vm/runtime/frame.cpp

changeset 1554
547f81740344
parent 1424
148e5441d916
child 1579
9b9c1ee9b3f6
     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    }

mercurial