< prev index next > src/hotspot/share/opto/compile.hpp
Print this page
const bool _do_escape_analysis; // Do escape analysis.
const bool _do_iterative_escape_analysis; // Do iterative escape analysis.
const bool _do_reduce_allocation_merges; // Do try to reduce allocation merges.
const bool _eliminate_boxing; // Do boxing elimination.
const bool _do_locks_coarsening; // Do locks coarsening
+ const bool _for_preload; // Generate code for preload (before Java method execution), do class init barriers
const bool _do_superword; // Do SuperWord
const bool _install_code; // Install the code that was compiled
public:
Options(bool subsume_loads,
bool do_escape_analysis,
bool do_iterative_escape_analysis,
bool do_reduce_allocation_merges,
bool eliminate_boxing,
bool do_locks_coarsening,
bool do_superword,
+ bool for_preload,
bool install_code) :
_subsume_loads(subsume_loads),
_do_escape_analysis(do_escape_analysis),
_do_iterative_escape_analysis(do_iterative_escape_analysis),
_do_reduce_allocation_merges(do_reduce_allocation_merges),
_eliminate_boxing(eliminate_boxing),
_do_locks_coarsening(do_locks_coarsening),
+ _for_preload(for_preload),
_do_superword(do_superword),
_install_code(install_code) {
}
static Options for_runtime_stub() {
/* do_escape_analysis = */ false,
/* do_iterative_escape_analysis = */ false,
/* do_reduce_allocation_merges = */ false,
/* eliminate_boxing = */ false,
/* do_lock_coarsening = */ false,
+ /* for_preload = */ false,
/* do_superword = */ true,
/* install_code = */ true
);
}
};
// JSR 292
bool _has_method_handle_invokes; // True if this method has MethodHandle invokes.
bool _has_monitors; // Metadata transfered to nmethod to enable Continuations lock-detection fastpath
bool _has_scoped_access; // For shared scope closure
bool _clinit_barrier_on_entry; // True if clinit barrier is needed on nmethod entry
+ bool _has_clinit_barriers; // True if compiled code has clinit barriers
int _loop_opts_cnt; // loop opts round
uint _stress_seed; // Seed for stress testing
// Compilation environment.
Arena _comp_arena; // Arena with lifetime equivalent to Compile
bool should_install_code() const { return _options._install_code; }
/** Do locks coarsening. */
bool do_locks_coarsening() const { return _options._do_locks_coarsening; }
bool do_superword() const { return _options._do_superword; }
+ bool do_clinit_barriers() const { return _options._for_preload; }
+ bool for_preload() const { return _options._for_preload; }
+
// Other fixed compilation parameters.
ciMethod* method() const { return _method; }
int entry_bci() const { return _entry_bci; }
bool is_osr_compilation() const { return _entry_bci != InvocationEntryBci; }
bool is_method_compilation() const { return (_method != nullptr && !_method->flags().is_native()); }
void set_clinit_barrier_on_entry(bool z) { _clinit_barrier_on_entry = z; }
bool has_monitors() const { return _has_monitors; }
void set_has_monitors(bool v) { _has_monitors = v; }
bool has_scoped_access() const { return _has_scoped_access; }
void set_has_scoped_access(bool v) { _has_scoped_access = v; }
+ bool has_clinit_barriers() { return _has_clinit_barriers; }
+ void set_has_clinit_barriers(bool z) { _has_clinit_barriers = z; }
// check the CompilerOracle for special behaviours for this compile
bool method_has_option(CompileCommandEnum option) {
return method() != nullptr && method()->has_option(option);
}
< prev index next >