comparison src/share/vm/oops/typeArrayKlass.cpp @ 481:7d7a7c599c17

6578152: fill_region_with_object has usability and safety issues Reviewed-by: apetrusenko, ysr
author jcoomes
date Thu, 11 Dec 2008 12:05:08 -0800
parents a61af66fc99e
children 0fbdb4381b99
comparison
equal deleted inserted replaced
480:d249b360e026 481:7d7a7c599c17
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());