src/share/vm/oops/cpCacheOop.hpp

changeset 2015
083fde3b838e
parent 1957
136b78722a08
child 2017
e0ba4e04c839
equal deleted inserted replaced
2004:a528509c992b 2015:083fde3b838e
183 void set_dynamic_call( 183 void set_dynamic_call(
184 Handle call_site, // Resolved java.dyn.CallSite (f1) 184 Handle call_site, // Resolved java.dyn.CallSite (f1)
185 methodHandle signature_invoker // determines signature information 185 methodHandle signature_invoker // determines signature information
186 ); 186 );
187 187
188 // For JVM_CONSTANT_InvokeDynamic cache entries:
189 void initialize_bootstrap_method_index_in_cache(int bsm_cache_index);
190 int bootstrap_method_index_in_cache();
191
188 void set_parameter_size(int value) { 192 void set_parameter_size(int value) {
189 assert(parameter_size() == 0 || parameter_size() == value, 193 assert(parameter_size() == 0 || parameter_size() == value,
190 "size must not change"); 194 "size must not change");
191 // Setting the parameter size by itself is only safe if the 195 // Setting the parameter size by itself is only safe if the
192 // current value of _flags is 0, otherwise another thread may have 196 // current value of _flags is 0, otherwise another thread may have
232 int main_entry_index() const { assert((_indices & 0xFFFF) == 0, "must be secondary entry"); 236 int main_entry_index() const { assert((_indices & 0xFFFF) == 0, "must be secondary entry");
233 return ((uintx)_indices >> 16); } 237 return ((uintx)_indices >> 16); }
234 Bytecodes::Code bytecode_1() const { return Bytecodes::cast((_indices >> 16) & 0xFF); } 238 Bytecodes::Code bytecode_1() const { return Bytecodes::cast((_indices >> 16) & 0xFF); }
235 Bytecodes::Code bytecode_2() const { return Bytecodes::cast((_indices >> 24) & 0xFF); } 239 Bytecodes::Code bytecode_2() const { return Bytecodes::cast((_indices >> 24) & 0xFF); }
236 volatile oop f1() const { return _f1; } 240 volatile oop f1() const { return _f1; }
241 bool is_f1_null() const { return (oop)_f1 == NULL; } // classifies a CPC entry as unbound
237 intx f2() const { return _f2; } 242 intx f2() const { return _f2; }
238 int field_index() const; 243 int field_index() const;
239 int parameter_size() const { return _flags & 0xFF; } 244 int parameter_size() const { return _flags & 0xFF; }
240 bool is_vfinal() const { return ((_flags & (1 << vfinalMethod)) == (1 << vfinalMethod)); } 245 bool is_vfinal() const { return ((_flags & (1 << vfinalMethod)) == (1 << vfinalMethod)); }
241 bool is_volatile() const { return ((_flags & (1 << volatileField)) == (1 << volatileField)); } 246 bool is_volatile() const { return ((_flags & (1 << volatileField)) == (1 << volatileField)); }

mercurial