src/share/vm/compiler/compilerDirectives.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Cdiff src/share/vm/compiler/compilerDirectives.hpp

src/share/vm/compiler/compilerDirectives.hpp

Print this page
rev 10101 : 8138756: Compiler Control: Print directives in hs_err
Summary: Add directive print in hs_err
Reviewed-by:

*** 32,42 **** #include "compiler/compilerOracle.hpp" #include "utilities/exceptions.hpp" // Directives flag name, type, default value, compile command name #define compilerdirectives_common_flags(cflags) \ ! cflags(Enable, bool, false, X) \ cflags(Exclude, bool, false, X) \ cflags(BreakAtExecute, bool, false, X) \ cflags(BreakAtCompile, bool, false, X) \ cflags(Log, bool, LogCompilation, X) \ cflags(PrintAssembly, bool, PrintAssembly, PrintAssembly) \ --- 32,42 ---- #include "compiler/compilerOracle.hpp" #include "utilities/exceptions.hpp" // Directives flag name, type, default value, compile command name #define compilerdirectives_common_flags(cflags) \ ! cflags(Enable, bool, true, X) \ cflags(Exclude, bool, false, X) \ cflags(BreakAtExecute, bool, false, X) \ cflags(BreakAtCompile, bool, false, X) \ cflags(Log, bool, LogCompilation, X) \ cflags(PrintAssembly, bool, PrintAssembly, PrintAssembly) \
*** 115,124 **** --- 115,125 ---- bool is_exclusive_copy() { return _directive == NULL; } bool matches_inline(methodHandle method, int inline_action); static DirectiveSet* clone(DirectiveSet const* src); bool is_intrinsic_disabled(methodHandle method); void finalize(outputStream* st); + bool is_default_set(); typedef enum { #define enum_of_flags(name, type, dvalue, cc_flag) name##Index, compilerdirectives_common_flags(enum_of_flags) compilerdirectives_c2_flags(enum_of_flags)
*** 137,156 **** #define set_function_definition(name, type, dvalue, cc_flag) void set_##name(void* value) { type val = *(type*)value; name##Option = val; _modified[name##Index] = 1; } compilerdirectives_common_flags(set_function_definition) compilerdirectives_c2_flags(set_function_definition) compilerdirectives_c1_flags(set_function_definition) ! void print_intx(outputStream* st, ccstr n, intx v, bool mod) { if (mod) { st->print("%s:" INTX_FORMAT " ", n, v); } } ! void print_bool(outputStream* st, ccstr n, bool v, bool mod) { if (mod) { st->print("%s:%s ", n, v ? "true" : "false"); } } ! void print_double(outputStream* st, ccstr n, double v, bool mod) { if (mod) { st->print("%s:%f ", n, v); } } ! void print_ccstr(outputStream* st, ccstr n, ccstr v, bool mod) { if (mod) { st->print("%s:%s ", n, v); } } ! void print_ccstrlist(outputStream* st, ccstr n, ccstr v, bool mod) { print_ccstr(st, n, v, mod); } ! ! void print(outputStream* st) { print_inline(st); st->print(" "); ! #define print_function_definition(name, type, dvalue, cc_flag) print_##type(st, #name, this->name##Option, true);//(bool)_modified[name##Index]); compilerdirectives_common_flags(print_function_definition) compilerdirectives_c2_flags(print_function_definition) compilerdirectives_c1_flags(print_function_definition) st->cr(); } --- 138,160 ---- #define set_function_definition(name, type, dvalue, cc_flag) void set_##name(void* value) { type val = *(type*)value; name##Option = val; _modified[name##Index] = 1; } compilerdirectives_common_flags(set_function_definition) compilerdirectives_c2_flags(set_function_definition) compilerdirectives_c1_flags(set_function_definition) ! void print_intx(outputStream* st, ccstr n, intx v, intx dvalue) { if (v != dvalue) st->print("*"); st->print("%s:" INTX_FORMAT " ", n, v); } ! void print_bool(outputStream* st, ccstr n, bool v, bool dvalue) { if (v != dvalue) st->print("*"); st->print("%s:%s ", n, v ? "true" : "false"); } ! void print_double(outputStream* st, ccstr n, double v, double dvalue) { if (v != dvalue) st->print("*"); st->print("%s:%f ", n, v); } ! void print_ccstr(outputStream* st, ccstr n, ccstr v, ccstr dvalue) { if (strcmp(v, dvalue)) st->print("*"); st->print("%s:%s ", n, v); } ! void print_ccstrlist(outputStream* st, ccstr n, ccstr v, ccstr dvalue) { print_ccstr(st, n, v, dvalue); } ! ! void print(outputStream* st) { ! if (is_default_set()) { ! st->print_cr(" default directive"); ! } print_inline(st); st->print(" "); ! #define print_function_definition(name, type, dvalue, cc_flag) print_##type(st, #name, this->name##Option, dvalue); compilerdirectives_common_flags(print_function_definition) compilerdirectives_c2_flags(print_function_definition) compilerdirectives_c1_flags(print_function_definition) st->cr(); }
src/share/vm/compiler/compilerDirectives.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File