Mercurial > hg > graal-jvmci-8
comparison src/share/vm/oops/instanceKlass.hpp @ 17883:9428a0b94204
8028497: SIGSEGV at ClassLoaderData::oops_do(OopClosure*, KlassClosure*, bool)
Summary: Keep class in CLD::_klasses list and mirror created for CDS classes if OOM during restore_shareable_info(). This keeps pointers consistent for CMS.
Reviewed-by: ehelin, stefank, jmasa, iklam
author | coleenp |
---|---|
date | Tue, 15 Apr 2014 17:02:20 -0400 |
parents | b8413a9cbb84 |
children | 386dd1c71858 |
comparison
equal
deleted
inserted
replaced
17876:9c3dc501b5eb | 17883:9428a0b94204 |
---|---|
828 bool oop_is_instance_slow() const { return true; } | 828 bool oop_is_instance_slow() const { return true; } |
829 | 829 |
830 // Iterators | 830 // Iterators |
831 void do_local_static_fields(FieldClosure* cl); | 831 void do_local_static_fields(FieldClosure* cl); |
832 void do_nonstatic_fields(FieldClosure* cl); // including inherited fields | 832 void do_nonstatic_fields(FieldClosure* cl); // including inherited fields |
833 void do_local_static_fields(void f(fieldDescriptor*, TRAPS), TRAPS); | 833 void do_local_static_fields(void f(fieldDescriptor*, Handle, TRAPS), Handle, TRAPS); |
834 | 834 |
835 void methods_do(void f(Method* method)); | 835 void methods_do(void f(Method* method)); |
836 void array_klasses_do(void f(Klass* k)); | 836 void array_klasses_do(void f(Klass* k)); |
837 void array_klasses_do(void f(Klass* k, TRAPS), TRAPS); | 837 void array_klasses_do(void f(Klass* k, TRAPS), TRAPS); |
838 bool super_types_do(SuperTypeClosure* blk); | 838 bool super_types_do(SuperTypeClosure* blk); |
1036 static void initialize_impl (instanceKlassHandle this_oop, TRAPS); | 1036 static void initialize_impl (instanceKlassHandle this_oop, TRAPS); |
1037 static void eager_initialize_impl (instanceKlassHandle this_oop); | 1037 static void eager_initialize_impl (instanceKlassHandle this_oop); |
1038 static void set_initialization_state_and_notify_impl (instanceKlassHandle this_oop, ClassState state, TRAPS); | 1038 static void set_initialization_state_and_notify_impl (instanceKlassHandle this_oop, ClassState state, TRAPS); |
1039 static void call_class_initializer_impl (instanceKlassHandle this_oop, TRAPS); | 1039 static void call_class_initializer_impl (instanceKlassHandle this_oop, TRAPS); |
1040 static Klass* array_klass_impl (instanceKlassHandle this_oop, bool or_null, int n, TRAPS); | 1040 static Klass* array_klass_impl (instanceKlassHandle this_oop, bool or_null, int n, TRAPS); |
1041 static void do_local_static_fields_impl (instanceKlassHandle this_oop, void f(fieldDescriptor* fd, TRAPS), TRAPS); | 1041 static void do_local_static_fields_impl (instanceKlassHandle this_oop, void f(fieldDescriptor* fd, Handle, TRAPS), Handle, TRAPS); |
1042 /* jni_id_for_impl for jfieldID only */ | 1042 /* jni_id_for_impl for jfieldID only */ |
1043 static JNIid* jni_id_for_impl (instanceKlassHandle this_oop, int offset); | 1043 static JNIid* jni_id_for_impl (instanceKlassHandle this_oop, int offset); |
1044 | 1044 |
1045 // Returns the array class for the n'th dimension | 1045 // Returns the array class for the n'th dimension |
1046 Klass* array_klass_impl(bool or_null, int n, TRAPS); | 1046 Klass* array_klass_impl(bool or_null, int n, TRAPS); |