250 void if_same(ValueType* type, If::Condition cond); 251 void jsr(int dest); 252 void ret(int local_index); 253 void table_switch(); 254 void lookup_switch(); 255 void method_return(Value x, bool ignore_return = false); 256 void call_register_finalizer(); 257 void access_field(Bytecodes::Code code); 258 void invoke(Bytecodes::Code code); 259 void new_instance(int klass_index); 260 void new_type_array(); 261 void new_object_array(); 262 void check_cast(int klass_index); 263 void instance_of(int klass_index); 264 void monitorenter(Value x, int bci); 265 void monitorexit(Value x, int bci); 266 void new_multi_array(int dimensions); 267 void throw_op(int bci); 268 Value round_fp(Value fp_value); 269 270 // stack/code manipulation helpers 271 Instruction* append_with_bci(Instruction* instr, int bci); 272 Instruction* append(Instruction* instr); 273 Instruction* append_split(StateSplit* instr); 274 275 // other helpers 276 BlockBegin* block_at(int bci) { return scope_data()->block_at(bci); } 277 XHandlers* handle_exception(Instruction* instruction); 278 void connect_to_end(BlockBegin* beg); 279 void null_check(Value value); 280 void eliminate_redundant_phis(BlockBegin* start); 281 BlockEnd* iterate_bytecodes_for_block(int bci); 282 void iterate_all_blocks(bool start_in_current_block_for_inlining = false); 283 Dependencies* dependency_recorder() const; // = compilation()->dependencies() 284 bool direct_compare(ciKlass* k); 285 Value make_constant(ciConstant value, ciField* field); 286 287 void kill_all(); 288 289 // use of state copy routines (try to minimize unnecessary state | 250 void if_same(ValueType* type, If::Condition cond); 251 void jsr(int dest); 252 void ret(int local_index); 253 void table_switch(); 254 void lookup_switch(); 255 void method_return(Value x, bool ignore_return = false); 256 void call_register_finalizer(); 257 void access_field(Bytecodes::Code code); 258 void invoke(Bytecodes::Code code); 259 void new_instance(int klass_index); 260 void new_type_array(); 261 void new_object_array(); 262 void check_cast(int klass_index); 263 void instance_of(int klass_index); 264 void monitorenter(Value x, int bci); 265 void monitorexit(Value x, int bci); 266 void new_multi_array(int dimensions); 267 void throw_op(int bci); 268 Value round_fp(Value fp_value); 269 270 // value types 271 void new_value_type_instance(int klass_index); 272 void withfield(int field_index); 273 void copy_value_content(ciValueKlass* vk, Value src, int src_off, Value dest, int dest_off, 274 ValueStack* state_before, bool needs_patching); 275 276 // stack/code manipulation helpers 277 Instruction* append_with_bci(Instruction* instr, int bci); 278 Instruction* append(Instruction* instr); 279 Instruction* append_split(StateSplit* instr); 280 281 // other helpers 282 BlockBegin* block_at(int bci) { return scope_data()->block_at(bci); } 283 XHandlers* handle_exception(Instruction* instruction); 284 void connect_to_end(BlockBegin* beg); 285 void null_check(Value value); 286 void eliminate_redundant_phis(BlockBegin* start); 287 BlockEnd* iterate_bytecodes_for_block(int bci); 288 void iterate_all_blocks(bool start_in_current_block_for_inlining = false); 289 Dependencies* dependency_recorder() const; // = compilation()->dependencies() 290 bool direct_compare(ciKlass* k); 291 Value make_constant(ciConstant value, ciField* field); 292 293 void kill_all(); 294 295 // use of state copy routines (try to minimize unnecessary state |