366 bool can_store_as_constant(Value i, BasicType type) const;
367
368 LIR_Opr safepoint_poll_register();
369
370 void profile_branch(If* if_instr, If::Condition cond);
371 void increment_event_counter_impl(CodeEmitInfo* info,
372 ciMethod *method, int frequency,
373 int bci, bool backedge, bool notify);
374 void increment_event_counter(CodeEmitInfo* info, int bci, bool backedge);
375 void increment_invocation_counter(CodeEmitInfo *info) {
376 if (compilation()->count_invocations()) {
377 increment_event_counter(info, InvocationEntryBci, false);
378 }
379 }
380 void increment_backedge_counter(CodeEmitInfo* info, int bci) {
381 if (compilation()->count_backedges()) {
382 increment_event_counter(info, bci, true);
383 }
384 }
385 void decrement_age(CodeEmitInfo* info);
386 CodeEmitInfo* state_for(Instruction* x, ValueStack* state, bool ignore_xhandler = false);
387 CodeEmitInfo* state_for(Instruction* x);
388
389 // allocates a virtual register for this instruction if
390 // one isn't already allocated. Only for Phi and Local.
391 LIR_Opr operand_for_instruction(Instruction *x);
392
393 void set_block(BlockBegin* block) { _block = block; }
394
395 void block_prolog(BlockBegin* block);
396 void block_epilog(BlockBegin* block);
397
398 void do_root (Instruction* instr);
399 void walk (Instruction* instr);
400
401 void bind_block_entry(BlockBegin* block);
402 void start_block(BlockBegin* block);
403
404 LIR_Opr new_register(BasicType type);
405 LIR_Opr new_register(Value value) { return new_register(as_BasicType(value->type())); }
406 LIR_Opr new_register(ValueType* type) { return new_register(as_BasicType(type)); }
|
366 bool can_store_as_constant(Value i, BasicType type) const;
367
368 LIR_Opr safepoint_poll_register();
369
370 void profile_branch(If* if_instr, If::Condition cond);
371 void increment_event_counter_impl(CodeEmitInfo* info,
372 ciMethod *method, int frequency,
373 int bci, bool backedge, bool notify);
374 void increment_event_counter(CodeEmitInfo* info, int bci, bool backedge);
375 void increment_invocation_counter(CodeEmitInfo *info) {
376 if (compilation()->count_invocations()) {
377 increment_event_counter(info, InvocationEntryBci, false);
378 }
379 }
380 void increment_backedge_counter(CodeEmitInfo* info, int bci) {
381 if (compilation()->count_backedges()) {
382 increment_event_counter(info, bci, true);
383 }
384 }
385 void decrement_age(CodeEmitInfo* info);
386 CodeEmitInfo* state_for(Instruction* x, ValueStack* state, bool ignore_xhandler = false, bool deoptimize_on_exception = false);
387 CodeEmitInfo* state_for(Instruction* x);
388
389 // allocates a virtual register for this instruction if
390 // one isn't already allocated. Only for Phi and Local.
391 LIR_Opr operand_for_instruction(Instruction *x);
392
393 void set_block(BlockBegin* block) { _block = block; }
394
395 void block_prolog(BlockBegin* block);
396 void block_epilog(BlockBegin* block);
397
398 void do_root (Instruction* instr);
399 void walk (Instruction* instr);
400
401 void bind_block_entry(BlockBegin* block);
402 void start_block(BlockBegin* block);
403
404 LIR_Opr new_register(BasicType type);
405 LIR_Opr new_register(Value value) { return new_register(as_BasicType(value->type())); }
406 LIR_Opr new_register(ValueType* type) { return new_register(as_BasicType(type)); }
|