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)); } |