src/share/vm/compiler/methodMatcher.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/compiler/methodMatcher.hpp Fri Sep 25 16:23:21 2015
--- new/src/share/vm/compiler/methodMatcher.hpp Fri Sep 25 16:23:21 2015
*** 79,117 ****
--- 79,90 ----
BasicMatcher(BasicMatcher* next) :
_next(next) {
}
! static BasicMatcher* parse_method_pattern(char* line, const char*& error_msg) {
! assert(error_msg == NULL, "Dont call here with error_msg already set");
BasicMatcher* bm = new BasicMatcher();
MethodMatcher::parse_method_pattern(line, error_msg, bm);
if (error_msg != NULL) {
delete bm;
return NULL;
}
// check for bad trailing characters
int bytes_read = 0;
sscanf(line, "%*[ \t]%n", &bytes_read);
if (line[bytes_read] != '\0') {
error_msg = "Unrecognized trailing text after method pattern";
delete bm;
return NULL;
}
return bm;
}
bool match(methodHandle method) {
for (BasicMatcher* current = this; current != NULL; current = current->next()) {
if (current->matches(method)) {
return true;
}
}
return false;
}
! static BasicMatcher* parse_method_pattern(char* line, const char*& error_msg);
! bool match(methodHandle method);
void set_next(BasicMatcher* next) { _next = next; }
BasicMatcher* next() { return _next; }
void print(outputStream* st) { print_base(st); }
void print_all(outputStream* st) {
*** 120,126 ****
--- 93,127 ----
_next->print_all(st);
}
}
};
+ class InlineMatcher : public MethodMatcher {
+ public:
+ enum InlineType {
+ unknown_inline,
+ dont_inline,
+ force_inline
+ };
+
+ private:
+ InlineType _inline_action;
+ InlineMatcher * _next;
+
+ InlineMatcher() : MethodMatcher(),
+ _inline_action(unknown_inline), _next(NULL) {
+ }
+
+ public:
+ static InlineMatcher* parse_method_pattern(char* line, const char*& error_msg);
+ bool match(methodHandle method, int inline_action);
+ void print(outputStream* st);
+ void set_next(InlineMatcher* next) { _next = next; }
+ InlineMatcher* next() { return _next; }
+ void set_action(InlineType inline_action) { _inline_action = inline_action; }
+ int inline_action() { return _inline_action; }
+ static InlineMatcher* parse_inline_pattern(char* line, const char*& error_msg);
+ InlineMatcher* clone();
+ };
+
#endif // SHARE_VM_COMPILER_METHODMATCHER_HPP
src/share/vm/compiler/methodMatcher.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File