< prev index next >

src/hotspot/share/ci/ciKlass.hpp

Print this page
*** 42,12 ***
    friend class ciEnv;
    friend class ciField;
    friend class ciMethod;
    friend class ciMethodData;
    friend class ciObjArrayKlass;
-   friend class ciSignature;
    friend class ciReceiverTypeData;
  
  private:
    ciSymbol* _name;
    jint _layout_helper;
  
--- 42,14 ---
    friend class ciEnv;
    friend class ciField;
    friend class ciMethod;
    friend class ciMethodData;
    friend class ciObjArrayKlass;
    friend class ciReceiverTypeData;
+   friend class ciSignature;
+   friend class ciFlatArrayKlass;
+   friend class ciArrayKlass;
  
  private:
    ciSymbol* _name;
    jint _layout_helper;
  

*** 105,10 ***
--- 107,18 ---
    // Does this type (array, class, interface) have no subtypes?
    virtual bool is_leaf_type() {
      return false;
    }
  
+   virtual bool can_be_inline_klass(bool is_exact = false) {
+     return false;
+   }
+ 
+   virtual bool can_be_inline_array_klass() {
+     return EnableValhalla && is_java_lang_Object();
+   }
+ 
    // Attempt to get a klass using this ciKlass's loader.
    ciKlass* find_klass(ciSymbol* klass_name);
    // Note:  To find a class from its name string, use ciSymbol::make,
    // but consider adding to vmSymbols.hpp instead.
  

*** 119,10 ***
--- 129,12 ---
    jint                   modifier_flags();
  
    // Fetch Klass::access_flags.
    jint                   access_flags();
  
+   markWord prototype_header() const;
+ 
    // What kind of ciObject is this?
    bool is_klass() const { return true; }
  
    virtual ciKlass* exact_klass() = 0;
  
< prev index next >