< prev index next >


Print this page


@@ -44,30 +44,33 @@
   ValueArrayKlass(Klass* element_klass, Symbol* name);
   static ValueArrayKlass* allocate_klass(Klass* element_klass, Symbol* name, TRAPS);
   // 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);
   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 >