< prev index next >

src/hotspot/share/memory/oopFactory.hpp

Print this page

        

@@ -55,10 +55,23 @@
   static typeArrayOop    new_symbolArray(int length, TRAPS);
 
   // Regular object arrays
   static objArrayOop     new_objArray(Klass* klass, int length, TRAPS);
 
+  // Value arrays...
+  // LWorld:
+  //    - Q-type signature allocation should use this path.
+  //    - L-type signature allocation should use new_objArray (even with value type elements)
+  //
+  // Method specifically creates ArrayStorageProperties::null_free and possibly flattened if possible
+  // i.e. valueArrayOop if flattening can be done, else objArrayOop with "null free" storage properties
+  static arrayOop        new_valueArray(Klass* klass, int length, TRAPS);
+
+  // Helper conversions from value to obj array...
+  static objArrayHandle  copy_valueArray_to_objArray(valueArrayHandle array, TRAPS);
+  static objArrayHandle  ensure_objArray(oop array, TRAPS); // copy into new objArray if not already an objArray
+
   // Helpers that return handles
   static objArrayHandle  new_objArray_handle(Klass* klass, int length, TRAPS);
   static typeArrayHandle new_byteArray_handle(int length, TRAPS);
 };
 
< prev index next >