< prev index next >

src/hotspot/share/memory/oopFactory.hpp

Print this page
*** 1,7 ***
  /*
!  * Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   *
   * This code is free software; you can redistribute it and/or modify it
   * under the terms of the GNU General Public License version 2 only, as
   * published by the Free Software Foundation.
--- 1,7 ---
  /*
!  * Copyright (c) 1997, 2025, Oracle and/or its affiliates. All rights reserved.
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   *
   * This code is free software; you can redistribute it and/or modify it
   * under the terms of the GNU General Public License version 2 only, as
   * published by the Free Software Foundation.

*** 54,10 ***
--- 54,24 ---
    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
+   //
+   // Method specifically null free and possibly flat if possible
+   // i.e. flatArrayOop if flattening can be done, else "null free" objArrayOop
+   static flatArrayOop        new_flatArray(Klass* klass, int length, LayoutKind lk, TRAPS);
+   static objArrayOop         new_null_free_objArray(Klass* klass, int length, TRAPS);
+ 
+   // Helper conversions from value to obj array...
+   static objArrayHandle  copy_flatArray_to_objArray(flatArrayHandle array, TRAPS);
+   static objArrayHandle  ensure_objArray(oop array, TRAPS); // copy into new objArray if not already an objArray
+ 
    // Helper that returns a Handle
    static objArrayHandle  new_objArray_handle(Klass* klass, int length, TRAPS);
  };
  
  #endif // SHARE_MEMORY_OOPFACTORY_HPP
< prev index next >