Mercurial > hg > graal-jvmci-8
comparison src/share/vm/compiler/compilerOracle.cpp @ 1155:4e6abf09f540
6912062: disassembler plugin needs to produce symbolic information in product mode
Summary: More informative disassembly in product mode. Also, a more consistent CompileCommand syntax.
Reviewed-by: never
author | jrose |
---|---|
date | Fri, 08 Jan 2010 13:47:01 -0800 |
parents | a61af66fc99e |
children | c18cbe5936b8 |
comparison
equal
deleted
inserted
replaced
1153:bea7a22a6f79 | 1155:4e6abf09f540 |
---|---|
390 "%*[ \t]%255" RANGEDOT "::" "%255" RANGE0 "%n", | 390 "%*[ \t]%255" RANGEDOT "::" "%255" RANGE0 "%n", |
391 "%*[ \t]%255" RANGESLASH "%*[ .]" "%255" RANGE0 "%n", | 391 "%*[ \t]%255" RANGESLASH "%*[ .]" "%255" RANGE0 "%n", |
392 }; | 392 }; |
393 | 393 |
394 static MethodMatcher::Mode check_mode(char name[], const char*& error_msg) { | 394 static MethodMatcher::Mode check_mode(char name[], const char*& error_msg) { |
395 if (strcmp(name, "*") == 0) return MethodMatcher::Any; | |
396 | |
397 int match = MethodMatcher::Exact; | 395 int match = MethodMatcher::Exact; |
398 if (name[0] == '*') { | 396 while (name[0] == '*') { |
399 match |= MethodMatcher::Suffix; | 397 match |= MethodMatcher::Suffix; |
400 strcpy(name, name + 1); | 398 strcpy(name, name + 1); |
401 } | 399 } |
402 | 400 |
401 if (strcmp(name, "*") == 0) return MethodMatcher::Any; | |
402 | |
403 size_t len = strlen(name); | 403 size_t len = strlen(name); |
404 if (len > 0 && name[len - 1] == '*') { | 404 while (len > 0 && name[len - 1] == '*') { |
405 match |= MethodMatcher::Prefix; | 405 match |= MethodMatcher::Prefix; |
406 name[len - 1] = '\0'; | 406 name[--len] = '\0'; |
407 } | 407 } |
408 | 408 |
409 if (strstr(name, "*") != NULL) { | 409 if (strstr(name, "*") != NULL) { |
410 error_msg = " Embedded * not allowed"; | 410 error_msg = " Embedded * not allowed"; |
411 return MethodMatcher::Unknown; | 411 return MethodMatcher::Unknown; |
608 | 608 |
609 void compilerOracle_init() { | 609 void compilerOracle_init() { |
610 CompilerOracle::parse_from_string(CompileCommand, CompilerOracle::parse_from_line); | 610 CompilerOracle::parse_from_string(CompileCommand, CompilerOracle::parse_from_line); |
611 CompilerOracle::parse_from_string(CompileOnly, CompilerOracle::parse_compile_only); | 611 CompilerOracle::parse_from_string(CompileOnly, CompilerOracle::parse_compile_only); |
612 CompilerOracle::parse_from_file(); | 612 CompilerOracle::parse_from_file(); |
613 if (lists[PrintCommand] != NULL) { | |
614 if (PrintAssembly) { | |
615 warning("CompileCommand and/or .hotspot_compiler file contains 'print' commands, but PrintAssembly is also enabled"); | |
616 } else if (FLAG_IS_DEFAULT(DebugNonSafepoints)) { | |
617 warning("printing of assembly code is enabled; turning on DebugNonSafepoints to gain additional output"); | |
618 DebugNonSafepoints = true; | |
619 } | |
620 } | |
613 } | 621 } |
614 | 622 |
615 | 623 |
616 void CompilerOracle::parse_compile_only(char * line) { | 624 void CompilerOracle::parse_compile_only(char * line) { |
617 int i; | 625 int i; |