< prev index next >

src/hotspot/share/oops/valueArrayKlass.hpp

Print this page

        

@@ -44,30 +44,33 @@
   ValueArrayKlass(Klass* element_klass, Symbol* name);
 
   static ValueArrayKlass* allocate_klass(Klass* element_klass, Symbol* name, TRAPS);
  protected:
   // Returns the ArrayKlass for n'th dimension.
-  Klass* array_klass_impl(bool or_null, int n, TRAPS);
+  Klass* array_klass_impl(ArrayStorageProperties storage_props, bool or_null, int n, TRAPS);
 
   // Returns the array class with this class as element type.
-  Klass* array_klass_impl(bool or_null, TRAPS);
+  Klass* array_klass_impl(ArrayStorageProperties storage_props, bool or_null, TRAPS);
 
  public:
 
   ValueArrayKlass() {}
 
+  // Properties of an LWorld (LW2) flattened array
+  ArrayStorageProperties storage_properties() { return ArrayStorageProperties::flattened_and_null_free; }
+
   virtual ValueKlass* element_klass() const;
   virtual void set_element_klass(Klass* k);
 
   // Casting from Klass*
   static ValueArrayKlass* cast(Klass* k) {
     assert(k->is_valueArray_klass(), "cast to ValueArrayKlass");
     return (ValueArrayKlass*) k;
   }
 
   // klass allocation
-  static ValueArrayKlass* allocate_klass(Klass* element_klass, TRAPS);
+  static ValueArrayKlass* allocate_klass(ArrayStorageProperties storage_props, Klass* element_klass, TRAPS);
 
   void initialize(TRAPS);
 
   ModuleEntry* module() const;
   PackageEntry* package() const;
< prev index next >