25 #ifndef SHARE_VM_COMPILER_COMPILERDIRECTIVES_HPP
26 #define SHARE_VM_COMPILER_COMPILERDIRECTIVES_HPP
27
28 #include "ci/ciMetadata.hpp"
29 #include "ci/ciMethod.hpp"
30 #include "ci/ciUtilities.hpp"
31 #include "compiler/methodMatcher.hpp"
32 #include "compiler/compilerOracle.hpp"
33 #include "utilities/exceptions.hpp"
34
35 // Directives flag name, type, default value, compile command name
36 #define compilerdirectives_common_flags(cflags) \
37 cflags(Enable, bool, false, X) \
38 cflags(Exclude, bool, false, X) \
39 cflags(BreakAtExecute, bool, false, X) \
40 cflags(BreakAtCompile, bool, false, X) \
41 cflags(Log, bool, LogCompilation, X) \
42 cflags(PrintAssembly, bool, PrintAssembly, PrintAssembly) \
43 cflags(PrintInlining, bool, PrintInlining, PrintInlining) \
44 cflags(PrintNMethods, bool, PrintNMethods, PrintNMethods) \
45 cflags(ReplayInline, bool, false, ReplayInline) \
46 cflags(DumpReplay, bool, false, DumpReplay) \
47 cflags(DumpInline, bool, false, DumpInline) \
48 cflags(CompilerDirectivesIgnoreCompileCommands, bool, CompilerDirectivesIgnoreCompileCommands, X) \
49 cflags(DisableIntrinsic, ccstrlist, DisableIntrinsic, DisableIntrinsic)
50
51 #ifdef COMPILER1
52 #define compilerdirectives_c1_flags(cflags)
53 #else
54 #define compilerdirectives_c1_flags(cflags)
55 #endif
56
57 #ifdef COMPILER2
58 #define compilerdirectives_c2_flags(cflags) \
59 cflags(BlockLayoutByFrequency, bool, BlockLayoutByFrequency, BlockLayoutByFrequency) \
60 cflags(PrintOptoAssembly, bool, PrintOptoAssembly, PrintOptoAssembly) \
61 cflags(PrintIntrinsics, bool, PrintIntrinsics, PrintIntrinsics) \
62 cflags(TraceOptoPipelining, bool, false, TraceOptoPipelining) \
63 cflags(TraceOptoOutput, bool, false, TraceOptoOutput) \
64 cflags(TraceSpilling, bool, TraceSpilling, TraceSpilling) \
|
25 #ifndef SHARE_VM_COMPILER_COMPILERDIRECTIVES_HPP
26 #define SHARE_VM_COMPILER_COMPILERDIRECTIVES_HPP
27
28 #include "ci/ciMetadata.hpp"
29 #include "ci/ciMethod.hpp"
30 #include "ci/ciUtilities.hpp"
31 #include "compiler/methodMatcher.hpp"
32 #include "compiler/compilerOracle.hpp"
33 #include "utilities/exceptions.hpp"
34
35 // Directives flag name, type, default value, compile command name
36 #define compilerdirectives_common_flags(cflags) \
37 cflags(Enable, bool, false, X) \
38 cflags(Exclude, bool, false, X) \
39 cflags(BreakAtExecute, bool, false, X) \
40 cflags(BreakAtCompile, bool, false, X) \
41 cflags(Log, bool, LogCompilation, X) \
42 cflags(PrintAssembly, bool, PrintAssembly, PrintAssembly) \
43 cflags(PrintInlining, bool, PrintInlining, PrintInlining) \
44 cflags(PrintNMethods, bool, PrintNMethods, PrintNMethods) \
45 cflags(BackgroundCompilation, bool, BackgroundCompilation, X) \
46 cflags(ReplayInline, bool, false, ReplayInline) \
47 cflags(DumpReplay, bool, false, DumpReplay) \
48 cflags(DumpInline, bool, false, DumpInline) \
49 cflags(CompilerDirectivesIgnoreCompileCommands, bool, CompilerDirectivesIgnoreCompileCommands, X) \
50 cflags(DisableIntrinsic, ccstrlist, DisableIntrinsic, DisableIntrinsic)
51
52 #ifdef COMPILER1
53 #define compilerdirectives_c1_flags(cflags)
54 #else
55 #define compilerdirectives_c1_flags(cflags)
56 #endif
57
58 #ifdef COMPILER2
59 #define compilerdirectives_c2_flags(cflags) \
60 cflags(BlockLayoutByFrequency, bool, BlockLayoutByFrequency, BlockLayoutByFrequency) \
61 cflags(PrintOptoAssembly, bool, PrintOptoAssembly, PrintOptoAssembly) \
62 cflags(PrintIntrinsics, bool, PrintIntrinsics, PrintIntrinsics) \
63 cflags(TraceOptoPipelining, bool, false, TraceOptoPipelining) \
64 cflags(TraceOptoOutput, bool, false, TraceOptoOutput) \
65 cflags(TraceSpilling, bool, TraceSpilling, TraceSpilling) \
|