comparison src/share/vm/oops/arrayKlass.cpp @ 20804:7848fc12602b

Merge with jdk8u40-b25
author Gilles Duboscq <gilles.m.duboscq@oracle.com>
date Tue, 07 Apr 2015 14:58:49 +0200
parents eaf39a954227 73d61cd3f8e9
children
comparison
equal deleted inserted replaced
20184:84105dcdb05b 20804:7848fc12602b
98 // since a GC can happen. At this point all instance variables of the ArrayKlass must be setup. 98 // since a GC can happen. At this point all instance variables of the ArrayKlass must be setup.
99 void ArrayKlass::complete_create_array_klass(ArrayKlass* k, KlassHandle super_klass, TRAPS) { 99 void ArrayKlass::complete_create_array_klass(ArrayKlass* k, KlassHandle super_klass, TRAPS) {
100 ResourceMark rm(THREAD); 100 ResourceMark rm(THREAD);
101 k->initialize_supers(super_klass(), CHECK); 101 k->initialize_supers(super_klass(), CHECK);
102 k->vtable()->initialize_vtable(false, CHECK); 102 k->vtable()->initialize_vtable(false, CHECK);
103 java_lang_Class::create_mirror(k, Handle(NULL), CHECK); 103 java_lang_Class::create_mirror(k, Handle(THREAD, k->class_loader()), Handle(NULL), CHECK);
104 } 104 }
105 105
106 GrowableArray<Klass*>* ArrayKlass::compute_secondary_supers(int num_extra_slots) { 106 GrowableArray<Klass*>* ArrayKlass::compute_secondary_supers(int num_extra_slots) {
107 // interfaces = { cloneable_klass, serializable_klass }; 107 // interfaces = { cloneable_klass, serializable_klass };
108 assert(num_extra_slots == 0, "sanity of primitive array type"); 108 assert(num_extra_slots == 0, "sanity of primitive array type");
191 Klass::remove_unshareable_info(); 191 Klass::remove_unshareable_info();
192 // Clear the java mirror 192 // Clear the java mirror
193 set_component_mirror(NULL); 193 set_component_mirror(NULL);
194 } 194 }
195 195
196 void ArrayKlass::restore_unshareable_info(TRAPS) { 196 void ArrayKlass::restore_unshareable_info(ClassLoaderData* loader_data, Handle protection_domain, TRAPS) {
197 Klass::restore_unshareable_info(CHECK); 197 assert(loader_data == ClassLoaderData::the_null_class_loader_data(), "array classes belong to null loader");
198 Klass::restore_unshareable_info(loader_data, protection_domain, CHECK);
198 // Klass recreates the component mirror also 199 // Klass recreates the component mirror also
199 } 200 }
200 201
201 // Printing 202 // Printing
202 203