src/share/vm/oops/cpCacheOop.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/oops/cpCacheOop.cpp Fri Sep 9 11:55:03 2011
--- new/src/share/vm/oops/cpCacheOop.cpp Fri Sep 9 11:55:03 2011
*** 126,146 ****
--- 126,142 ----
// to flush other fields (f1, f2) completely to memory before the bytecodes
// are updated, lest other processors see a non-zero bytecode but zero f1/f2.
void ConstantPoolCacheEntry::set_field(Bytecodes::Code get_code,
Bytecodes::Code put_code,
KlassHandle field_holder,
- int orig_field_index,
int field_offset,
TosState field_type,
bool is_final,
bool is_volatile) {
set_f1(field_holder()->java_mirror());
set_f2(field_offset);
// The field index is used by jvm/ti and is the index into fields() array
// in holder instanceKlass. This is scaled by instanceKlass::next_offset.
assert((orig_field_index % instanceKlass::next_offset) == 0, "wierd index");
const int field_index = orig_field_index / instanceKlass::next_offset;
assert(field_index <= field_index_mask,
"field index does not fit in low flag bits");
set_flags(as_flags(field_type, is_final, false, is_volatile, false, false) |
(field_index & field_index_mask));
set_bytecode_1(get_code);
*** 147,157 ****
--- 143,153 ----
set_bytecode_2(put_code);
NOT_PRODUCT(verify(tty));
}
int ConstantPoolCacheEntry::field_index() const {
- return (_flags & field_index_mask) * instanceKlass::next_offset;
}
void ConstantPoolCacheEntry::set_method(Bytecodes::Code invoke_code,
methodHandle method,
int vtable_index) {
src/share/vm/oops/cpCacheOop.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File