RFR(L): JEP165: Compiler Control

Pavel Punegov pavel.punegov at oracle.com
Thu Oct 15 18:34:58 UTC 2015


Hi,

In TestCompilerDirectivesCompatibilityCommand* tests 
-XX:+UnlockDiagnosticVMOptions should be specified before the PrintAssembly

   36  * @run testng/othervm -Xbootclasspath/a:. -XX:-PrintAssembly -XX:CompileCommand=option,*.helper,bool,PrintAssembly,false -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI TestCompilerDirectivesCompatibilityCommandOff

Otherwise it looks good (not a Reviewer)

On 15.10.2015 16:53, Nils Eliasson wrote:
> Hi all,
>
> Here is the latest (final?) webrev.
>
> Changes since last time:
> - Fixed comments
> - update jdk webrev
> - Added test for verifying CompileCommand compatility
> - Fixed error messages when adding directives with diagnostic commands
> - Fixed bug on solaris sparc
> - synced with recent additions to hs-comp
> - Added flag DoReserveCopyInSuperWordDebug that was added as a 
> CompileCommand option recently
>
> https://bugs.openjdk.java.net/browse/JDK-8046155
> http://cr.openjdk.java.net/~neliasso/8046155/webrev_jdk.03/
> http://cr.openjdk.java.net/~neliasso/8046155/webrev.11/
>
> Regards,
> Nils
>
> On 2015-09-22 19:21, Nils Eliasson wrote:
>> Hi,
>>
>> This is the initial RFR for JEP165: Compiler Control. This feature 
>> enables runtime manageable, method dependent compiler flags. 
>> (Immutable for the duration of a compilation.)
>>
>> The change includes:
>> - A parser for the directives format (json like) including vmtests 
>> (json.cpp/hpp)
>> - A component for construction of compiler directives 
>> (directivesParser.cpp/hpp)
>> - The directives including the option definitions, default values and 
>> compilecommand relations (compilerDirectives.cpp/hpp)
>> - Diagnostic commands for working with the directives - installing, 
>> removing, printing
>> - Lots of small changes wherever we access flags or legacy 
>> compilecommands in the compiler
>>
>> Notes:
>> The feature is documented in the JEP 
>> (https://bugs.openjdk.java.net/browse/JDK-8046155).
>>
>> Currently only a small amount of compiler flags are included in the 
>> change. The flags are a representative selection of different types 
>> targeting both compilers. All of them existed as CompilerOracle 
>> option commands. Two commands was not included in the directives due 
>> to time constraints - CompilerThresholdScaling and UseRTMLocks. Both 
>> are accessed from runtime (outside any compiler) and requires some 
>> special handling. (Solved but not implemented.)
>>
>> Full backwards compatibility with CompileCommands is implemented but 
>> can be turned off with flag -XX:CompileCommandCompatibilty. Also meta 
>> handling the compatibility flag by supporting it in the directives 
>> (test feature).
>>
>> The change contain some rough edges that will polished over the 
>> coming days.
>>
>> JEP: https://bugs.openjdk.java.net/browse/JDK-8046155
>> Hotspot webrev: http://cr.openjdk.java.net/~neliasso/8046155/webrev.01/
>> JDK webrev: http://cr.openjdk.java.net/~neliasso/8046155/webrev_jdk.01/
>>
>> Please review!
>>
>> Best regards,
>> Nils Eliasson
>

-- 
Thanks,
Pavel Punegov

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20151015/30e0d2e1/attachment.html>


More information about the hotspot-compiler-dev mailing list