100 private:
101 InlineMatcher* _inlinematchers;
102 CompilerDirectives* _directive;
103
104 static ccstrlist canonicalize_disableintrinsic(ccstrlist option_value);
105
106 public:
107 DirectiveSet(CompilerDirectives* directive);
108 ~DirectiveSet();
109 CompilerDirectives* directive();
110 bool parse_and_add_inline(char* str, const char*& error_msg);
111 void append_inline(InlineMatcher* m);
112 bool should_inline(ciMethod* inlinee);
113 bool should_not_inline(ciMethod* inlinee);
114 void print_inline(outputStream* st);
115 DirectiveSet* compilecommand_compatibility_init(methodHandle method);
116 bool is_exclusive_copy() { return _directive == NULL; }
117 bool matches_inline(methodHandle method, int inline_action);
118 static DirectiveSet* clone(DirectiveSet const* src);
119 bool is_intrinsic_disabled(methodHandle method);
120 void finalize(outputStream* st);
121
122 typedef enum {
123 #define enum_of_flags(name, type, dvalue, cc_flag) name##Index,
124 compilerdirectives_common_flags(enum_of_flags)
125 compilerdirectives_c2_flags(enum_of_flags)
126 compilerdirectives_c1_flags(enum_of_flags)
127 number_of_flags
128 } flags;
129
130 bool _modified[number_of_flags];
131
132 #define flag_store_definition(name, type, dvalue, cc_flag) type name##Option;
133 compilerdirectives_common_flags(flag_store_definition)
134 compilerdirectives_c2_flags(flag_store_definition)
135 compilerdirectives_c1_flags(flag_store_definition)
136
137 // Casting to get the same function signature for all setters. Used from parser.
138 #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; }
139 compilerdirectives_common_flags(set_function_definition)
|
100 private:
101 InlineMatcher* _inlinematchers;
102 CompilerDirectives* _directive;
103
104 static ccstrlist canonicalize_disableintrinsic(ccstrlist option_value);
105
106 public:
107 DirectiveSet(CompilerDirectives* directive);
108 ~DirectiveSet();
109 CompilerDirectives* directive();
110 bool parse_and_add_inline(char* str, const char*& error_msg);
111 void append_inline(InlineMatcher* m);
112 bool should_inline(ciMethod* inlinee);
113 bool should_not_inline(ciMethod* inlinee);
114 void print_inline(outputStream* st);
115 DirectiveSet* compilecommand_compatibility_init(methodHandle method);
116 bool is_exclusive_copy() { return _directive == NULL; }
117 bool matches_inline(methodHandle method, int inline_action);
118 static DirectiveSet* clone(DirectiveSet const* src);
119 bool is_intrinsic_disabled(methodHandle method);
120 static bool is_intrinsic_disabled(vmIntrinsics::ID id);
121 void finalize(outputStream* st);
122
123 typedef enum {
124 #define enum_of_flags(name, type, dvalue, cc_flag) name##Index,
125 compilerdirectives_common_flags(enum_of_flags)
126 compilerdirectives_c2_flags(enum_of_flags)
127 compilerdirectives_c1_flags(enum_of_flags)
128 number_of_flags
129 } flags;
130
131 bool _modified[number_of_flags];
132
133 #define flag_store_definition(name, type, dvalue, cc_flag) type name##Option;
134 compilerdirectives_common_flags(flag_store_definition)
135 compilerdirectives_c2_flags(flag_store_definition)
136 compilerdirectives_c1_flags(flag_store_definition)
137
138 // Casting to get the same function signature for all setters. Used from parser.
139 #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; }
140 compilerdirectives_common_flags(set_function_definition)
|