1.1 --- a/src/share/vm/oops/instanceKlass.hpp Wed Apr 24 09:00:04 2013 -0400 1.2 +++ b/src/share/vm/oops/instanceKlass.hpp Wed Apr 24 16:19:35 2013 -0400 1.3 @@ -236,7 +236,7 @@ 1.4 _misc_rewritten = 1 << 0, // methods rewritten. 1.5 _misc_has_nonstatic_fields = 1 << 1, // for sizing with UseCompressedOops 1.6 _misc_should_verify_class = 1 << 2, // allow caching of preverification 1.7 - _misc_is_anonymous = 1 << 3, // has embedded _inner_classes field 1.8 + _misc_is_anonymous = 1 << 3, // has embedded _host_klass field 1.9 _misc_is_contended = 1 << 4, // marked with contended annotation 1.10 _misc_has_default_methods = 1 << 5 // class/superclass/implemented interfaces has default methods 1.11 }; 1.12 @@ -934,7 +934,9 @@ 1.13 // referenced by handles. 1.14 bool on_stack() const { return _constants->on_stack(); } 1.15 1.16 - void release_C_heap_structures(); 1.17 + // callbacks for actions during class unloading 1.18 + static void notify_unload_class(InstanceKlass* ik); 1.19 + static void release_C_heap_structures(InstanceKlass* ik); 1.20 1.21 // Parallel Scavenge and Parallel Old 1.22 PARALLEL_GC_DECLS 1.23 @@ -1022,6 +1024,8 @@ 1.24 // Returns the array class with this class as element type 1.25 Klass* array_klass_impl(bool or_null, TRAPS); 1.26 1.27 + // Free CHeap allocated fields. 1.28 + void release_C_heap_structures(); 1.29 public: 1.30 // CDS support - remove and restore oops from metadata. Oops are not shared. 1.31 virtual void remove_unshareable_info();