comparison src/share/vm/opto/compile.hpp @ 859:ea3f9723b5cf

6860599: nodes limit could be reached during Output phase Summary: Bailout compilation if nodes limit could be reached during Output phase. Reviewed-by: never, twisti
author kvn
date Thu, 23 Jul 2009 14:53:56 -0700
parents 72c5366e5d86
children 89e0543e1737
comparison
equal deleted inserted replaced
858:5314d85ffd54 859:ea3f9723b5cf
221 221
222 // Matching, CFG layout, allocation, code generation 222 // Matching, CFG layout, allocation, code generation
223 PhaseCFG* _cfg; // Results of CFG finding 223 PhaseCFG* _cfg; // Results of CFG finding
224 bool _select_24_bit_instr; // We selected an instruction with a 24-bit result 224 bool _select_24_bit_instr; // We selected an instruction with a 24-bit result
225 bool _in_24_bit_fp_mode; // We are emitting instructions with 24-bit results 225 bool _in_24_bit_fp_mode; // We are emitting instructions with 24-bit results
226 bool _has_java_calls; // True if the method has java calls 226 int _java_calls; // Number of java calls in the method
227 int _inner_loops; // Number of inner loops in the method
227 Matcher* _matcher; // Engine to map ideal to machine instructions 228 Matcher* _matcher; // Engine to map ideal to machine instructions
228 PhaseRegAlloc* _regalloc; // Results of register allocation. 229 PhaseRegAlloc* _regalloc; // Results of register allocation.
229 int _frame_slots; // Size of total frame in stack slots 230 int _frame_slots; // Size of total frame in stack slots
230 CodeOffsets _code_offsets; // Offsets into the code for various interesting entries 231 CodeOffsets _code_offsets; // Offsets into the code for various interesting entries
231 RegMask _FIRST_STACK_mask; // All stack slots usable for spills (depends on frame layout) 232 RegMask _FIRST_STACK_mask; // All stack slots usable for spills (depends on frame layout)
503 504
504 // Matching, CFG layout, allocation, code generation 505 // Matching, CFG layout, allocation, code generation
505 PhaseCFG* cfg() { return _cfg; } 506 PhaseCFG* cfg() { return _cfg; }
506 bool select_24_bit_instr() const { return _select_24_bit_instr; } 507 bool select_24_bit_instr() const { return _select_24_bit_instr; }
507 bool in_24_bit_fp_mode() const { return _in_24_bit_fp_mode; } 508 bool in_24_bit_fp_mode() const { return _in_24_bit_fp_mode; }
508 bool has_java_calls() const { return _has_java_calls; } 509 bool has_java_calls() const { return _java_calls > 0; }
510 int java_calls() const { return _java_calls; }
511 int inner_loops() const { return _inner_loops; }
509 Matcher* matcher() { return _matcher; } 512 Matcher* matcher() { return _matcher; }
510 PhaseRegAlloc* regalloc() { return _regalloc; } 513 PhaseRegAlloc* regalloc() { return _regalloc; }
511 int frame_slots() const { return _frame_slots; } 514 int frame_slots() const { return _frame_slots; }
512 int frame_size_in_words() const; // frame_slots in units of the polymorphic 'words' 515 int frame_size_in_words() const; // frame_slots in units of the polymorphic 'words'
513 RegMask& FIRST_STACK_mask() { return _FIRST_STACK_mask; } 516 RegMask& FIRST_STACK_mask() { return _FIRST_STACK_mask; }
530 void set_24_bit_selection_and_mode(bool selection, bool mode) { 533 void set_24_bit_selection_and_mode(bool selection, bool mode) {
531 _select_24_bit_instr = selection; 534 _select_24_bit_instr = selection;
532 _in_24_bit_fp_mode = mode; 535 _in_24_bit_fp_mode = mode;
533 } 536 }
534 537
535 void set_has_java_calls(bool z) { _has_java_calls = z; } 538 void set_java_calls(int z) { _java_calls = z; }
539 void set_inner_loops(int z) { _inner_loops = z; }
536 540
537 // Instruction bits passed off to the VM 541 // Instruction bits passed off to the VM
538 int code_size() { return _method_size; } 542 int code_size() { return _method_size; }
539 CodeBuffer* code_buffer() { return &_code_buffer; } 543 CodeBuffer* code_buffer() { return &_code_buffer; }
540 int first_block_size() { return _first_block_size; } 544 int first_block_size() { return _first_block_size; }