< prev index next >

src/hotspot/share/oops/methodData.hpp

Print this page




 185   }
 186 
 187   u1 flags() const {
 188     return _header._struct._flags;
 189   }
 190 
 191   u2 bci() const {
 192     return _header._struct._bci;
 193   }
 194 
 195   void set_header(intptr_t value) {
 196     _header._bits = value;
 197   }
 198   intptr_t header() {
 199     return _header._bits;
 200   }
 201   void set_cell_at(int index, intptr_t value) {
 202     _cells[index] = value;
 203   }
 204   void release_set_cell_at(int index, intptr_t value) {
 205     OrderAccess::release_store_ptr(&_cells[index], value);
 206   }
 207   intptr_t cell_at(int index) const {
 208     return _cells[index];
 209   }
 210 
 211   void set_flag_at(int flag_number) {
 212     assert(flag_number < flag_limit, "oob");
 213     _header._struct._flags |= (0x1 << flag_number);
 214   }
 215   bool flag_at(int flag_number) const {
 216     assert(flag_number < flag_limit, "oob");
 217     return (_header._struct._flags & (0x1 << flag_number)) != 0;
 218   }
 219 
 220   // Low-level support for code generation.
 221   static ByteSize header_offset() {
 222     return byte_offset_of(DataLayout, _header);
 223   }
 224   static ByteSize tag_offset() {
 225     return byte_offset_of(DataLayout, _header._struct._tag);




 185   }
 186 
 187   u1 flags() const {
 188     return _header._struct._flags;
 189   }
 190 
 191   u2 bci() const {
 192     return _header._struct._bci;
 193   }
 194 
 195   void set_header(intptr_t value) {
 196     _header._bits = value;
 197   }
 198   intptr_t header() {
 199     return _header._bits;
 200   }
 201   void set_cell_at(int index, intptr_t value) {
 202     _cells[index] = value;
 203   }
 204   void release_set_cell_at(int index, intptr_t value) {
 205     OrderAccess::release_store(&_cells[index], value);
 206   }
 207   intptr_t cell_at(int index) const {
 208     return _cells[index];
 209   }
 210 
 211   void set_flag_at(int flag_number) {
 212     assert(flag_number < flag_limit, "oob");
 213     _header._struct._flags |= (0x1 << flag_number);
 214   }
 215   bool flag_at(int flag_number) const {
 216     assert(flag_number < flag_limit, "oob");
 217     return (_header._struct._flags & (0x1 << flag_number)) != 0;
 218   }
 219 
 220   // Low-level support for code generation.
 221   static ByteSize header_offset() {
 222     return byte_offset_of(DataLayout, _header);
 223   }
 224   static ByteSize tag_offset() {
 225     return byte_offset_of(DataLayout, _header._struct._tag);


< prev index next >