equal
deleted
inserted
replaced
181 |
181 |
182 InstanceKlass* KlassFactory::create_from_stream(ClassFileStream* stream, |
182 InstanceKlass* KlassFactory::create_from_stream(ClassFileStream* stream, |
183 Symbol* name, |
183 Symbol* name, |
184 ClassLoaderData* loader_data, |
184 ClassLoaderData* loader_data, |
185 Handle protection_domain, |
185 Handle protection_domain, |
186 const InstanceKlass* host_klass, |
186 const InstanceKlass* unsafe_anonymous_host, |
187 GrowableArray<Handle>* cp_patches, |
187 GrowableArray<Handle>* cp_patches, |
188 TRAPS) { |
188 TRAPS) { |
189 assert(stream != NULL, "invariant"); |
189 assert(stream != NULL, "invariant"); |
190 assert(loader_data != NULL, "invariant"); |
190 assert(loader_data != NULL, "invariant"); |
191 assert(THREAD->is_Java_thread(), "must be a JavaThread"); |
191 assert(THREAD->is_Java_thread(), "must be a JavaThread"); |
199 |
199 |
200 // increment counter |
200 // increment counter |
201 THREAD->statistical_info().incr_define_class_count(); |
201 THREAD->statistical_info().incr_define_class_count(); |
202 |
202 |
203 // Skip this processing for VM anonymous classes |
203 // Skip this processing for VM anonymous classes |
204 if (host_klass == NULL) { |
204 if (unsafe_anonymous_host == NULL) { |
205 stream = check_class_file_load_hook(stream, |
205 stream = check_class_file_load_hook(stream, |
206 name, |
206 name, |
207 loader_data, |
207 loader_data, |
208 protection_domain, |
208 protection_domain, |
209 &cached_class_file, |
209 &cached_class_file, |
212 |
212 |
213 ClassFileParser parser(stream, |
213 ClassFileParser parser(stream, |
214 name, |
214 name, |
215 loader_data, |
215 loader_data, |
216 protection_domain, |
216 protection_domain, |
217 host_klass, |
217 unsafe_anonymous_host, |
218 cp_patches, |
218 cp_patches, |
219 ClassFileParser::BROADCAST, // publicity level |
219 ClassFileParser::BROADCAST, // publicity level |
220 CHECK_NULL); |
220 CHECK_NULL); |
221 |
221 |
222 InstanceKlass* result = parser.create_instance_klass(old_stream != stream, CHECK_NULL); |
222 InstanceKlass* result = parser.create_instance_klass(old_stream != stream, CHECK_NULL); |