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	Tue Sep 22 16:26:53 2015
--- new/src/share/vm/compiler/methodMatcher.hpp	Tue Sep 22 16:26:53 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