comparison src/share/vm/oops/cpCache.hpp @ 11142:23123fc6968a

8019324: assert(_f2 == 0 || _f2 == f2) failed: illegal field change Reviewed-by: dholmes, rbackman Contributed-by: David Simms <david.simms@oracle.com>
author rbackman
date Mon, 15 Jul 2013 11:35:10 +0200
parents 3efdfd6ddbf2
children b2e698d2276c
comparison
equal deleted inserted replaced
11140:c0cb474be37e 11142:23123fc6968a
138 Metadata* existing_f1 = (Metadata*)_f1; // read once 138 Metadata* existing_f1 = (Metadata*)_f1; // read once
139 assert(existing_f1 == NULL || existing_f1 == f1, "illegal field change"); 139 assert(existing_f1 == NULL || existing_f1 == f1, "illegal field change");
140 _f1 = f1; 140 _f1 = f1;
141 } 141 }
142 void release_set_f1(Metadata* f1); 142 void release_set_f1(Metadata* f1);
143 void set_f2(intx f2) { assert(_f2 == 0 || _f2 == f2, "illegal field change"); _f2 = f2; } 143 void set_f2(intx f2) {
144 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; } 144 intx existing_f2 = _f2; // read once
145 assert(existing_f2 == 0 || existing_f2 == f2, "illegal field change");
146 _f2 = f2;
147 }
148 void set_f2_as_vfinal_method(Method* f2) {
149 assert(is_vfinal(), "flags must be set");
150 set_f2((intx)f2);
151 }
145 int make_flags(TosState state, int option_bits, int field_index_or_method_params); 152 int make_flags(TosState state, int option_bits, int field_index_or_method_params);
146 void set_flags(intx flags) { _flags = flags; } 153 void set_flags(intx flags) { _flags = flags; }
147 bool init_flags_atomic(intx flags); 154 bool init_flags_atomic(intx flags);
148 void set_field_flags(TosState field_type, int option_bits, int field_index) { 155 void set_field_flags(TosState field_type, int option_bits, int field_index) {
149 assert((field_index & field_index_mask) == field_index, "field_index in range"); 156 assert((field_index & field_index_mask) == field_index, "field_index in range");