73 private:
74 // Instruction bits passed off to the VM
75 CodeBuffer _code_buffer; // Where the code is assembled
76 int _first_block_size; // Size of unvalidated entry point code / OSR poison code
77 ExceptionHandlerTable _handler_table; // Table of native-code exception handlers
78 ImplicitExceptionTable _inc_table; // Table of implicit null checks in native code
79 C2CodeStubList _stub_list; // List of code stubs
80 OopMapSet* _oop_map_set; // Table of oop maps (one for each safepoint location)
81 BufferBlob* _scratch_buffer_blob; // For temporary code buffers.
82 relocInfo* _scratch_locs_memory; // For temporary code buffers.
83 int _scratch_const_size; // For temporary code buffers.
84 bool _in_scratch_emit_size; // true when in scratch_emit_size.
85
86 int _frame_slots; // Size of total frame in stack slots
87 CodeOffsets _code_offsets; // Offsets into the code for various interesting entries
88
89 uint _node_bundling_limit;
90 Bundle* _node_bundling_base; // Information for instruction bundling
91
92 // For deopt
93 int _orig_pc_slot;
94 int _orig_pc_slot_offset_in_bytes;
95
96 ConstantTable _constant_table; // The constant table for this compilation unit.
97
98 BufferSizingData _buf_sizes;
99 Block* _block;
100 uint _index;
101
102 void perform_mach_node_analysis();
103 void pd_perform_mach_node_analysis();
104
105 public:
106 PhaseOutput();
107 ~PhaseOutput();
108
109 // Convert Nodes to instruction bits and pass off to the VM
110 void Output();
111 bool need_stack_bang(int frame_size_in_bytes) const;
112 void compute_loop_first_inst_sizes();
113
|
73 private:
74 // Instruction bits passed off to the VM
75 CodeBuffer _code_buffer; // Where the code is assembled
76 int _first_block_size; // Size of unvalidated entry point code / OSR poison code
77 ExceptionHandlerTable _handler_table; // Table of native-code exception handlers
78 ImplicitExceptionTable _inc_table; // Table of implicit null checks in native code
79 C2CodeStubList _stub_list; // List of code stubs
80 OopMapSet* _oop_map_set; // Table of oop maps (one for each safepoint location)
81 BufferBlob* _scratch_buffer_blob; // For temporary code buffers.
82 relocInfo* _scratch_locs_memory; // For temporary code buffers.
83 int _scratch_const_size; // For temporary code buffers.
84 bool _in_scratch_emit_size; // true when in scratch_emit_size.
85
86 int _frame_slots; // Size of total frame in stack slots
87 CodeOffsets _code_offsets; // Offsets into the code for various interesting entries
88
89 uint _node_bundling_limit;
90 Bundle* _node_bundling_base; // Information for instruction bundling
91
92 // For deopt
93 int _orig_pc_slot_offset_in_bytes;
94
95 ConstantTable _constant_table; // The constant table for this compilation unit.
96
97 BufferSizingData _buf_sizes;
98 Block* _block;
99 uint _index;
100
101 void perform_mach_node_analysis();
102 void pd_perform_mach_node_analysis();
103
104 public:
105 PhaseOutput();
106 ~PhaseOutput();
107
108 // Convert Nodes to instruction bits and pass off to the VM
109 void Output();
110 bool need_stack_bang(int frame_size_in_bytes) const;
111 void compute_loop_first_inst_sizes();
112
|