src/share/vm/compiler/oopMap.hpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
hotspot Cdiff src/share/vm/compiler/oopMap.hpp
src/share/vm/compiler/oopMap.hpp
Print this page
*** 52,62 ****
void set_value(int value) { _value = value; }
short _content_reg;
public:
// Constants
! enum { type_bits = 5,
register_bits = BitsPerShort - type_bits };
enum { type_shift = 0,
register_shift = type_bits };
--- 52,62 ----
void set_value(int value) { _value = value; }
short _content_reg;
public:
// Constants
! enum { type_bits = 4,
register_bits = BitsPerShort - type_bits };
enum { type_shift = 0,
register_shift = type_bits };
*** 66,79 ****
register_mask_in_place = register_mask << register_shift };
enum oop_types { // must fit in type_bits
unused_value =0, // powers of 2, for masking OopMapStream
oop_value = 1,
! value_value = 2,
! narrowoop_value = 4,
! callee_saved_value = 8,
! derived_oop_value= 16 };
// Constructors
OopMapValue () { set_value(0); set_content_reg(VMRegImpl::Bad()); }
OopMapValue (VMReg reg, oop_types t) { set_reg_type(reg,t); }
OopMapValue (VMReg reg, oop_types t, VMReg reg2) { set_reg_type(reg,t); set_content_reg(reg2); }
--- 66,78 ----
register_mask_in_place = register_mask << register_shift };
enum oop_types { // must fit in type_bits
unused_value =0, // powers of 2, for masking OopMapStream
oop_value = 1,
! narrowoop_value = 2,
! callee_saved_value = 4,
! derived_oop_value= 8 };
// Constructors
OopMapValue () { set_value(0); set_content_reg(VMRegImpl::Bad()); }
OopMapValue (VMReg reg, oop_types t) { set_reg_type(reg,t); }
OopMapValue (VMReg reg, oop_types t, VMReg reg2) { set_reg_type(reg,t); set_content_reg(reg2); }
*** 94,110 ****
}
}
// Querying
bool is_oop() { return mask_bits(value(), type_mask_in_place) == oop_value; }
- bool is_value() { return mask_bits(value(), type_mask_in_place) == value_value; }
bool is_narrowoop() { return mask_bits(value(), type_mask_in_place) == narrowoop_value; }
bool is_callee_saved() { return mask_bits(value(), type_mask_in_place) == callee_saved_value; }
bool is_derived_oop() { return mask_bits(value(), type_mask_in_place) == derived_oop_value; }
void set_oop() { set_value((value() & register_mask_in_place) | oop_value); }
- void set_value() { set_value((value() & register_mask_in_place) | value_value); }
void set_narrowoop() { set_value((value() & register_mask_in_place) | narrowoop_value); }
void set_callee_saved() { set_value((value() & register_mask_in_place) | callee_saved_value); }
void set_derived_oop() { set_value((value() & register_mask_in_place) | derived_oop_value); }
VMReg reg() const { return VMRegImpl::as_VMReg(mask_bits(value(), register_mask_in_place) >> register_shift); }
--- 93,107 ----
src/share/vm/compiler/oopMap.hpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File