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()); |