--- old/src/share/vm/opto/compile.hpp 2015-09-25 16:23:22.318913900 +0200 +++ new/src/share/vm/opto/compile.hpp 2015-09-25 16:23:22.230913903 +0200 @@ -391,6 +391,7 @@ // Compilation environment. Arena _comp_arena; // Arena with lifetime equivalent to Compile ciEnv* _env; // CI interface + DirectiveSet* _dirset; // Compiler directives CompileLog* _log; // from CompilerThread const char* _failure_reason; // for record_failure/failing pattern GrowableArray* _intrinsics; // List of intrinsics. @@ -578,6 +579,7 @@ // ID for this compilation. Useful for setting breakpoints in the debugger. int compile_id() const { return _compile_id; } + DirectiveSet* dirset() const { return _dirset; } // Does this compilation allow instructions to subsume loads? User // instructions that subsume a load may result in an unschedulable @@ -671,10 +673,7 @@ bool method_has_option(const char * option) { return method() != NULL && method()->has_option(option); } - template - bool method_has_option_value(const char * option, T& value) { - return method() != NULL && method()->has_option_value(option, value); - } + #ifndef PRODUCT bool trace_opto_output() const { return _trace_opto_output; } bool parsed_irreducible_loop() const { return _parsed_irreducible_loop; } @@ -692,7 +691,7 @@ void begin_method() { #ifndef PRODUCT - if (_printer && _printer->should_print(_method)) { + if (_printer && _printer->should_print(1)) { _printer->begin_method(this); } #endif @@ -711,7 +710,7 @@ #ifndef PRODUCT - if (_printer && _printer->should_print(_method)) { + if (_printer && _printer->should_print(level)) { _printer->print_method(this, CompilerPhaseTypeHelper::to_string(cpt), level); } #endif @@ -728,7 +727,7 @@ event.commit(); } #ifndef PRODUCT - if (_printer && _printer->should_print(_method)) { + if (_printer && _printer->should_print(level)) { _printer->end_method(); } #endif @@ -1107,7 +1106,7 @@ // continuation. Compile(ciEnv* ci_env, C2Compiler* compiler, ciMethod* target, int entry_bci, bool subsume_loads, bool do_escape_analysis, - bool eliminate_boxing); + bool eliminate_boxing, DirectiveSet* dirset); // Second major entry point. From the TypeFunc signature, generate code // to pass arguments from the Java calling convention to the C calling @@ -1115,7 +1114,7 @@ Compile(ciEnv* ci_env, const TypeFunc *(*gen)(), address stub_function, const char *stub_name, int is_fancy_jump, bool pass_tls, - bool save_arg_registers, bool return_pc); + bool save_arg_registers, bool return_pc, DirectiveSet* dirset); // From the TypeFunc signature, generate code to pass arguments // from Compiled calling convention to Interpreter's calling convention