comparison src/share/vm/classfile/systemDictionary.hpp @ 7185:90273fc0a981

8000662: NPG: nashorn ant clean test262 out-of-memory with Java heap Summary: Add ClassLoaderData object for each anonymous class with metaspaces to allocate in. Reviewed-by: twisti, jrose, stefank
author coleenp
date Thu, 29 Nov 2012 16:50:29 -0500
parents 4735d2c84362
children 291ffc492eb6 ade95d680b42
comparison
equal deleted inserted replaced
7181:2fc0334f613a 7185:90273fc0a981
469 469
470 // Compute the default system loader 470 // Compute the default system loader
471 static void compute_java_system_loader(TRAPS); 471 static void compute_java_system_loader(TRAPS);
472 472
473 // Register a new class loader 473 // Register a new class loader
474 static ClassLoaderData* register_loader(Handle class_loader); 474 static ClassLoaderData* register_loader(Handle class_loader, TRAPS);
475 private: 475 private:
476 // Mirrors for primitive classes (created eagerly) 476 // Mirrors for primitive classes (created eagerly)
477 static oop check_mirror(oop m) { 477 static oop check_mirror(oop m) {
478 assert(m != NULL, "mirror not initialized"); 478 assert(m != NULL, "mirror not initialized");
479 return m; 479 return m;
529 static const char* loader_name(oop loader) { 529 static const char* loader_name(oop loader) {
530 return ((loader) == NULL ? "<bootloader>" : 530 return ((loader) == NULL ? "<bootloader>" :
531 InstanceKlass::cast((loader)->klass())->name()->as_C_string() ); 531 InstanceKlass::cast((loader)->klass())->name()->as_C_string() );
532 } 532 }
533 static const char* loader_name(ClassLoaderData* loader_data) { 533 static const char* loader_name(ClassLoaderData* loader_data) {
534 return (loader_data->is_the_null_class_loader_data() ? "<bootloader>" : 534 return (loader_data->class_loader() == NULL ? "<bootloader>" :
535 InstanceKlass::cast((loader_data->class_loader())->klass())->name()->as_C_string() ); 535 InstanceKlass::cast((loader_data->class_loader())->klass())->name()->as_C_string() );
536 } 536 }
537 537
538 // Record the error when the first attempt to resolve a reference from a constant 538 // Record the error when the first attempt to resolve a reference from a constant
539 // pool entry to a class fails. 539 // pool entry to a class fails.