< prev index next >

src/hotspot/share/ci/ciArray.hpp

Print this page
*** 1,7 ***
  /*
!  * Copyright (c) 1999, 2019, 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) 1999, 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.

*** 27,10 ***
--- 27,11 ---
  
  #include "ci/ciArrayKlass.hpp"
  #include "ci/ciConstant.hpp"
  #include "ci/ciObject.hpp"
  #include "oops/arrayOop.hpp"
+ #include "oops/flatArrayOop.hpp"
  #include "oops/objArrayOop.hpp"
  #include "oops/typeArrayOop.hpp"
  
  // ciArray
  //

*** 41,10 ***
--- 42,11 ---
    int _length;
  
  protected:
    ciArray( objArrayHandle h_a) : ciObject(h_a), _length(h_a()->length()) {}
    ciArray(typeArrayHandle h_a) : ciObject(h_a), _length(h_a()->length()) {}
+   ciArray(flatArrayHandle h_a) : ciObject(h_a), _length(h_a()->length()) {}
  
    arrayOop get_arrayOop() const { return (arrayOop)get_oop(); }
  
    const char* type_string() { return "ciArray"; }
  

*** 68,8 ***
--- 70,11 ---
    // Returns T_ILLEGAL if there is no element at the given offset.
    ciConstant element_value_by_offset(intptr_t element_offset);
  
    // What kind of ciObject is this?
    bool is_array()        { return true; }
+ 
+   virtual bool is_flat()      { return false; }
+   virtual bool is_null_free() { return false; }
  };
  
  #endif // SHARE_CI_CIARRAY_HPP
< prev index next >