< prev index next >

src/hotspot/share/ci/ciArrayKlass.hpp

Print this page
@@ -24,10 +24,11 @@
  
  #ifndef SHARE_CI_CIARRAYKLASS_HPP
  #define SHARE_CI_CIARRAYKLASS_HPP
  
  #include "ci/ciKlass.hpp"
+ #include "oops/arrayKlass.hpp"
  
  // ciArrayKlass
  //
  // This class, and its subclasses represent Klass*s in the
  // HotSpot virtual machine whose Klass part is an ArrayKlass.

@@ -53,9 +54,20 @@
    bool is_leaf_type();          // No subtypes of this array type.
  
    // What kind of vmObject is this?
    bool is_array_klass() const { return true; }
  
-   static ciArrayKlass* make(ciType* element_type);
+   // The one-level type of the array elements.
+   virtual ciKlass* element_klass() { return nullptr; }
+ 
+   static ciArrayKlass* make(ciType* klass, bool null_free = false, bool atomic = false, bool refined_type = false);
+ 
+   int array_header_in_bytes();
+   ciInstance* component_mirror_instance() const;
+ 
+   bool is_elem_null_free() const;
+   bool is_elem_atomic();
+ 
+   ArrayKlass::ArrayProperties properties() const;
  };
  
  #endif // SHARE_CI_CIARRAYKLASS_HPP
< prev index next >