< prev index next >

src/hotspot/share/ci/ciField.hpp

Print this page

        

*** 47,65 **** --- 47,68 ---- ciSymbol* _name; ciSymbol* _signature; ciType* _type; int _offset; bool _is_constant; + bool _is_flattened; + bool _is_flattenable; ciMethod* _known_to_link_with_put; ciInstanceKlass* _known_to_link_with_get; ciConstant _constant_value; ciType* compute_type(); ciType* compute_type_impl(); ciField(ciInstanceKlass* klass, int index); ciField(fieldDescriptor* fd); + ciField(ciField* field, ciInstanceKlass* holder, int offset, bool is_final); // shared constructor code void initialize_from(fieldDescriptor* fd); public:
*** 100,110 **** // Of what type is this field? ciType* type() { return (_type == NULL) ? compute_type() : _type; } // How is this field actually stored in memory? ! BasicType layout_type() { return type2field[(_type == NULL) ? T_OBJECT : _type->basic_type()]; } // How big is this field in memory? int size_in_bytes() { return type2aelembytes(layout_type()); } // What is the offset of this field? --- 103,113 ---- // Of what type is this field? ciType* type() { return (_type == NULL) ? compute_type() : _type; } // How is this field actually stored in memory? ! BasicType layout_type() { return type2field[type()->basic_type()]; } // How big is this field in memory? int size_in_bytes() { return type2aelembytes(layout_type()); } // What is the offset of this field?
*** 172,181 **** --- 175,187 ---- bool is_static () const { return flags().is_static(); } bool is_final () const { return flags().is_final(); } bool is_stable () const { return flags().is_stable(); } bool is_volatile () const { return flags().is_volatile(); } bool is_transient () const { return flags().is_transient(); } + bool is_flattened () const { return _is_flattened; } + bool is_flattenable () const { return _is_flattenable; } + // The field is modified outside of instance initializer methods // (or class/initializer methods if the field is static). bool has_initialized_final_update() const { return flags().has_initialized_final_update(); } bool is_call_site_target() {
< prev index next >