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