hotspot/src/share/vm/oops/typeArrayKlass.cpp
changeset 1668 8ec481b8f514
parent 1 489c9b5090e2
child 2105 347008ce7984
equal deleted inserted replaced
1667:fc79935c3055 1668:8ec481b8f514
    34   if (dimension() != tak->dimension()) return false;
    34   if (dimension() != tak->dimension()) return false;
    35 
    35 
    36   return element_type() == tak->element_type();
    36   return element_type() == tak->element_type();
    37 }
    37 }
    38 
    38 
    39 klassOop typeArrayKlass::create_klass(BasicType type, int scale, TRAPS) {
    39 klassOop typeArrayKlass::create_klass(BasicType type, int scale,
       
    40                                       const char* name_str, TRAPS) {
    40   typeArrayKlass o;
    41   typeArrayKlass o;
    41 
    42 
    42   symbolHandle sym(symbolOop(NULL));
    43   symbolHandle sym(symbolOop(NULL));
    43   // bootstrapping: don't create sym if symbolKlass not created yet
    44   // bootstrapping: don't create sym if symbolKlass not created yet
    44   if (Universe::symbolKlassObj() != NULL) {
    45   if (Universe::symbolKlassObj() != NULL && name_str != NULL) {
    45     sym = oopFactory::new_symbol_handle(external_name(type), CHECK_NULL);
    46     sym = oopFactory::new_symbol_handle(name_str, CHECK_NULL);
    46   }
    47   }
    47   KlassHandle klassklass (THREAD, Universe::typeArrayKlassKlassObj());
    48   KlassHandle klassklass (THREAD, Universe::typeArrayKlassKlassObj());
    48 
    49 
    49   arrayKlassHandle k = base_create_array_klass(o.vtbl_value(), header_size(), klassklass, CHECK_NULL);
    50   arrayKlassHandle k = base_create_array_klass(o.vtbl_value(), header_size(), klassklass, CHECK_NULL);
    50   typeArrayKlass* ak = typeArrayKlass::cast(k());
    51   typeArrayKlass* ak = typeArrayKlass::cast(k());