49 50 static typeArrayOop new_charArray(const char* utf8_str, TRAPS); 51 static typeArrayOop new_tenured_charArray(int length, TRAPS); 52 53 static typeArrayOop new_typeArray(BasicType type, int length, TRAPS); 54 static typeArrayOop new_typeArray_nozero(BasicType type, int length, TRAPS); 55 static typeArrayOop new_symbolArray(int length, TRAPS); 56 57 // Regular object arrays 58 static objArrayOop new_objArray(Klass* klass, int length, TRAPS); 59 60 // Value arrays... 61 // LWorld: 62 // - Q-type signature allocation should use this path. 63 // - L-type signature allocation should use new_objArray (even with value type elements) 64 // 65 // Method specifically creates ArrayStorageProperties::null_free and possibly flattened if possible 66 // i.e. valueArrayOop if flattening can be done, else objArrayOop with "null free" storage properties 67 static arrayOop new_valueArray(Klass* klass, int length, TRAPS); 68 69 // Helpers that return handles 70 static objArrayHandle new_objArray_handle(Klass* klass, int length, TRAPS); 71 static typeArrayHandle new_byteArray_handle(int length, TRAPS); 72 }; 73 74 #endif // SHARE_MEMORY_OOPFACTORY_HPP | 49 50 static typeArrayOop new_charArray(const char* utf8_str, TRAPS); 51 static typeArrayOop new_tenured_charArray(int length, TRAPS); 52 53 static typeArrayOop new_typeArray(BasicType type, int length, TRAPS); 54 static typeArrayOop new_typeArray_nozero(BasicType type, int length, TRAPS); 55 static typeArrayOop new_symbolArray(int length, TRAPS); 56 57 // Regular object arrays 58 static objArrayOop new_objArray(Klass* klass, int length, TRAPS); 59 60 // Value arrays... 61 // LWorld: 62 // - Q-type signature allocation should use this path. 63 // - L-type signature allocation should use new_objArray (even with value type elements) 64 // 65 // Method specifically creates ArrayStorageProperties::null_free and possibly flattened if possible 66 // i.e. valueArrayOop if flattening can be done, else objArrayOop with "null free" storage properties 67 static arrayOop new_valueArray(Klass* klass, int length, TRAPS); 68 69 // Helper conversions from value to obj array... 70 static objArrayHandle copy_valueArray_to_objArray(valueArrayHandle array, TRAPS); 71 static objArrayHandle ensure_objArray(oop array, TRAPS); // copy into new objArray if not already an objArray 72 73 // Helpers that return handles 74 static objArrayHandle new_objArray_handle(Klass* klass, int length, TRAPS); 75 static typeArrayHandle new_byteArray_handle(int length, TRAPS); 76 }; 77 78 #endif // SHARE_MEMORY_OOPFACTORY_HPP |