JDK-6500501 : wildcarding support wanted for CompilerOracle
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 7
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: solaris_9
  • CPU: sparc
  • Submitted: 2006-12-04
  • Updated: 2010-04-02
  • Resolved: 2007-01-17
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6 JDK 7 Other
6u4Fixed 7Fixed hs10Fixed
The compiler oracle only support exact method names without the signature but it would be useful to have more flexibility.  In particular having some wildcarding on names or classes and supporting signatures.  It would also be useful to bring the CompileOnly functionality into the oracle.  Here are some example commands:

compileonly java/lang/StringBuffer.toString ()Ljava/lang/String;
exclude *.toString

SUGGESTED FIX http://analemma.sfbay.sun.com/net/prt-archiver.sfbay/data/archived_workspaces/main/c2_baseline/2006/20061212211559.never.6500501/workspace/webrevs/webrev-2006.12.12/index.html Fixed 6500501: wildcarding support wanted for CompilerOracle Fixed 4650676: Hotspot compiler should hide "exclude" messages when .hotspot-compiler present Currently there are two mechanisms for controlling what gets compiled, -XX:CompileOnly= and the CompilerOracle. CompileOnly has some strange implicit wildcarding that seems more an artifact of the implementation and the design. The oracle is precise but doesn't support method signatures as part of the specifier. This changes adds support for optional signatures in the directives to the oracle and supports a limited amount of wildcarding on the names. It also moves the CompileOnly logic out of arguments.cpp into the oracle and adds a new oracle command "compileonly" with the same semantics as -XX:CompileOnly= but following the parsing rules of the oracle. To fix 4650676 a new option "quiet" is added which suppresses output from the oracle. I also added support for PrintNMethods with the oracle option command, so -XX:CompileCommand=option,java/lang/String.append,PrintNMethods will print out the NMethod for only that compilation. http://javaweb.sfbay/~never/webrev/6500501 Reviewed by: jrose, kvn Fix verified (y/n): y exercised some oracle and CompileOnly command lines to confirm that -XX:CompileOnly behaves the same as it used to but the new oracle options behave consistently. Build:

EVALUATION see description