1113 void set_scratch_locs_memory(relocInfo* b) { _scratch_locs_memory = b; }
1114
1115 // emit to scratch blob, report resulting size
1116 uint scratch_emit_size(const Node* n);
1117 void set_in_scratch_emit_size(bool x) { _in_scratch_emit_size = x; }
1118 bool in_scratch_emit_size() const { return _in_scratch_emit_size; }
1119
1120 enum ScratchBufferBlob {
1121 MAX_inst_size = 1024,
1122 MAX_locs_size = 128, // number of relocInfo elements
1123 MAX_const_size = 128,
1124 MAX_stubs_size = 128
1125 };
1126
1127 // Major entry point. Given a Scope, compile the associated method.
1128 // For normal compilations, entry_bci is InvocationEntryBci. For on stack
1129 // replacement, entry_bci indicates the bytecode for which to compile a
1130 // continuation.
1131 Compile(ciEnv* ci_env, C2Compiler* compiler, ciMethod* target,
1132 int entry_bci, bool subsume_loads, bool do_escape_analysis,
1133 bool eliminate_boxing, DirectiveSet* directive);
1134
1135 // Second major entry point. From the TypeFunc signature, generate code
1136 // to pass arguments from the Java calling convention to the C calling
1137 // convention.
1138 Compile(ciEnv* ci_env, const TypeFunc *(*gen)(),
1139 address stub_function, const char *stub_name,
1140 int is_fancy_jump, bool pass_tls,
1141 bool save_arg_registers, bool return_pc, DirectiveSet* directive);
1142
1143 // From the TypeFunc signature, generate code to pass arguments
1144 // from Compiled calling convention to Interpreter's calling convention
1145 void Generate_Compiled_To_Interpreter_Graph(const TypeFunc *tf, address interpreter_entry);
1146
1147 // From the TypeFunc signature, generate code to pass arguments
1148 // from Interpreter's calling convention to Compiler's calling convention
1149 void Generate_Interpreter_To_Compiled_Graph(const TypeFunc *tf);
1150
1151 // Are we compiling a method?
1152 bool has_method() { return method() != NULL; }
1153
1154 // Maybe print some information about this compile.
1155 void print_compile_messages();
1156
1157 // Final graph reshaping, a post-pass after the regular optimizer is done.
1158 bool final_graph_reshaping();
1159
1160 // returns true if adr is completely contained in the given alias category
1161 bool must_alias(const TypePtr* adr, int alias_idx);
|
1113 void set_scratch_locs_memory(relocInfo* b) { _scratch_locs_memory = b; }
1114
1115 // emit to scratch blob, report resulting size
1116 uint scratch_emit_size(const Node* n);
1117 void set_in_scratch_emit_size(bool x) { _in_scratch_emit_size = x; }
1118 bool in_scratch_emit_size() const { return _in_scratch_emit_size; }
1119
1120 enum ScratchBufferBlob {
1121 MAX_inst_size = 1024,
1122 MAX_locs_size = 128, // number of relocInfo elements
1123 MAX_const_size = 128,
1124 MAX_stubs_size = 128
1125 };
1126
1127 // Major entry point. Given a Scope, compile the associated method.
1128 // For normal compilations, entry_bci is InvocationEntryBci. For on stack
1129 // replacement, entry_bci indicates the bytecode for which to compile a
1130 // continuation.
1131 Compile(ciEnv* ci_env, C2Compiler* compiler, ciMethod* target,
1132 int entry_bci, bool subsume_loads, bool do_escape_analysis,
1133 bool eliminate_boxing);
1134
1135 // Second major entry point. From the TypeFunc signature, generate code
1136 // to pass arguments from the Java calling convention to the C calling
1137 // convention.
1138 Compile(ciEnv* ci_env, const TypeFunc *(*gen)(),
1139 address stub_function, const char *stub_name,
1140 int is_fancy_jump, bool pass_tls,
1141 bool save_arg_registers, bool return_pc);
1142
1143 // From the TypeFunc signature, generate code to pass arguments
1144 // from Compiled calling convention to Interpreter's calling convention
1145 void Generate_Compiled_To_Interpreter_Graph(const TypeFunc *tf, address interpreter_entry);
1146
1147 // From the TypeFunc signature, generate code to pass arguments
1148 // from Interpreter's calling convention to Compiler's calling convention
1149 void Generate_Interpreter_To_Compiled_Graph(const TypeFunc *tf);
1150
1151 // Are we compiling a method?
1152 bool has_method() { return method() != NULL; }
1153
1154 // Maybe print some information about this compile.
1155 void print_compile_messages();
1156
1157 // Final graph reshaping, a post-pass after the regular optimizer is done.
1158 bool final_graph_reshaping();
1159
1160 // returns true if adr is completely contained in the given alias category
1161 bool must_alias(const TypePtr* adr, int alias_idx);
|