Mercurial > hg > truffle
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; } |