< prev index next >
src/hotspot/share/prims/jvmtiExport.hpp
Print this page
@@ -168,23 +168,10 @@
const void *code_begin, const jint map_length,
const jvmtiAddrLocationMap* map) NOT_JVMTI_RETURN;
static void post_dynamic_code_generated(JvmtiEnv* env, const char *name, const void *code_begin,
const void *code_end) NOT_JVMTI_RETURN;
- // The RedefineClasses() API breaks some invariants in the "regular"
- // system. For example, there are sanity checks when GC'ing nmethods
- // that require the containing class to be unloading. However, when a
- // method is redefined, the old method and nmethod can become GC'able
- // without the containing class unloading. The state of becoming
- // GC'able can be asynchronous to the RedefineClasses() call since
- // the old method may still be running and cannot be GC'ed until
- // after all old invocations have finished. Additionally, a method
- // that has not been redefined may have an nmethod that depends on
- // the redefined method. The dependent nmethod will get deopted in
- // this case and may also be GC'able without the containing class
- // being unloaded.
- //
// This flag indicates whether RedefineClasses() has ever redefined
// one or more classes during the lifetime of the VM. The flag should
// only be set by the friend class and can be queried by other sub
// systems as needed to relax invariant checks.
static bool _has_redefined_a_class;
< prev index next >