mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-19 10:34:38 +02:00
8019324: assert(_f2 == 0 || _f2 == f2) failed: illegal field change
Reviewed-by: dholmes, rbackman
This commit is contained in:
parent
e67d425245
commit
2d5af88356
1 changed files with 9 additions and 2 deletions
|
@ -140,8 +140,15 @@ class ConstantPoolCacheEntry VALUE_OBJ_CLASS_SPEC {
|
||||||
_f1 = f1;
|
_f1 = f1;
|
||||||
}
|
}
|
||||||
void release_set_f1(Metadata* f1);
|
void release_set_f1(Metadata* f1);
|
||||||
void set_f2(intx f2) { assert(_f2 == 0 || _f2 == f2, "illegal field change"); _f2 = f2; }
|
void set_f2(intx f2) {
|
||||||
void set_f2_as_vfinal_method(Method* f2) { assert(_f2 == 0 || _f2 == (intptr_t) f2, "illegal field change"); assert(is_vfinal(), "flags must be set"); _f2 = (intptr_t) f2; }
|
intx existing_f2 = _f2; // read once
|
||||||
|
assert(existing_f2 == 0 || existing_f2 == f2, "illegal field change");
|
||||||
|
_f2 = f2;
|
||||||
|
}
|
||||||
|
void set_f2_as_vfinal_method(Method* f2) {
|
||||||
|
assert(is_vfinal(), "flags must be set");
|
||||||
|
set_f2((intx)f2);
|
||||||
|
}
|
||||||
int make_flags(TosState state, int option_bits, int field_index_or_method_params);
|
int make_flags(TosState state, int option_bits, int field_index_or_method_params);
|
||||||
void set_flags(intx flags) { _flags = flags; }
|
void set_flags(intx flags) { _flags = flags; }
|
||||||
bool init_flags_atomic(intx flags);
|
bool init_flags_atomic(intx flags);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue