diff src/share/vm/code/nmethod.hpp @ 1726:71faaa8e3ccc

6974176: ShouldNotReachHere, instanceKlass.cpp:1426 Reviewed-by: kvn, twisti
author never
date Thu, 12 Aug 2010 16:38:23 -0700
parents d2ede61b7a12
children 3e8fbc61cee8
line wrap: on
line diff
--- a/src/share/vm/code/nmethod.hpp	Wed Aug 11 10:48:20 2010 -0700
+++ b/src/share/vm/code/nmethod.hpp	Thu Aug 12 16:38:23 2010 -0700
@@ -177,6 +177,10 @@
   // Protected by Patching_lock
   unsigned char _state;                      // {alive, not_entrant, zombie, unloaded)
 
+#ifdef ASSERT
+  bool _oops_are_stale;  // indicates that it's no longer safe to access oops section
+#endif
+
   enum { alive        = 0,
          not_entrant  = 1, // uncommon trap has happened but activations may still exist
          zombie       = 2,
@@ -434,6 +438,7 @@
   oop*  oop_addr_at(int index) const {  // for GC
     // relocation indexes are biased by 1 (because 0 is reserved)
     assert(index > 0 && index <= oops_size(), "must be a valid non-zero index");
+    assert(!_oops_are_stale, "oops are stale");
     return &oops_begin()[index - 1];
   }