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 274 // stack/code manipulation helpers 275 Instruction* append_with_bci(Instruction* instr, int bci); 276 Instruction* append(Instruction* instr); 277 Instruction* append_split(StateSplit* instr); 278 279 // other helpers 280 BlockBegin* block_at(int bci) { return scope_data()->block_at(bci); } 281 XHandlers* handle_exception(Instruction* instruction); 282 void connect_to_end(BlockBegin* beg); 283 void null_check(Value value); 284 void eliminate_redundant_phis(BlockBegin* start); 285 BlockEnd* iterate_bytecodes_for_block(int bci); 286 void iterate_all_blocks(bool start_in_current_block_for_inlining = false); 287 Dependencies* dependency_recorder() const; // = compilation()->dependencies() 288 bool direct_compare(ciKlass* k); 289 Value make_constant(ciConstant value, ciField* field); 290 291 void kill_all(); 292 293 // use of state copy routines (try to minimize unnecessary state |