comparison src/share/vm/oops/instanceKlass.hpp @ 20375:6e0cb14ce59b

8046070: Class Data Sharing clean up and refactoring Summary: Cleaned up CDS to be more configurable, maintainable and extensible Reviewed-by: dholmes, coleenp, acorn, mchung
author iklam
date Thu, 21 Aug 2014 13:57:51 -0700
parents 2c6ef90f030a
children 90257dfad6e3
comparison
equal deleted inserted replaced
20374:999824269b71 20375:6e0cb14ce59b
1002 ALL_OOP_OOP_ITERATE_CLOSURES_2(InstanceKlass_OOP_OOP_ITERATE_BACKWARDS_DECL) 1002 ALL_OOP_OOP_ITERATE_CLOSURES_2(InstanceKlass_OOP_OOP_ITERATE_BACKWARDS_DECL)
1003 #endif // INCLUDE_ALL_GCS 1003 #endif // INCLUDE_ALL_GCS
1004 1004
1005 u2 idnum_allocated_count() const { return _idnum_allocated_count; } 1005 u2 idnum_allocated_count() const { return _idnum_allocated_count; }
1006 1006
1007 public:
1008 void set_in_error_state() {
1009 assert(DumpSharedSpaces, "only call this when dumping archive");
1010 _init_state = initialization_error;
1011 }
1012 bool check_sharing_error_state();
1013
1007 private: 1014 private:
1008 // initialization state 1015 // initialization state
1009 #ifdef ASSERT 1016 #ifdef ASSERT
1010 void set_init_state(ClassState state); 1017 void set_init_state(ClassState state);
1011 #else 1018 #else
1060 // Free CHeap allocated fields. 1067 // Free CHeap allocated fields.
1061 void release_C_heap_structures(); 1068 void release_C_heap_structures();
1062 public: 1069 public:
1063 // CDS support - remove and restore oops from metadata. Oops are not shared. 1070 // CDS support - remove and restore oops from metadata. Oops are not shared.
1064 virtual void remove_unshareable_info(); 1071 virtual void remove_unshareable_info();
1065 virtual void restore_unshareable_info(TRAPS); 1072 virtual void restore_unshareable_info(ClassLoaderData* loader_data, Handle protection_domain, TRAPS);
1066 1073
1067 // jvm support 1074 // jvm support
1068 jint compute_modifier_flags(TRAPS) const; 1075 jint compute_modifier_flags(TRAPS) const;
1069 1076
1070 // JSR-292 support 1077 // JSR-292 support