RFR: 8241495: Make more compiler related flags available on a per method level [v2]

Xin Liu xliu at openjdk.java.net
Tue Oct 27 03:08:19 UTC 2020


On Thu, 22 Oct 2020 09:16:34 GMT, Nils Eliasson <neliasso at openjdk.org> wrote:

>> Xin Liu has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains one commit:
>> 
>>   8241495: Make more compiler related flags available on a per method level
>
> src/hotspot/share/compiler/compilerDirectives.hpp line 38:
> 
>> 36:   #define compilerdirectives_common_flags(cflags) \
>> 37:     cflags(Enable,                  bool, false, Enable) \
>> 38:     cflags(Exclude,                 bool, false, Exclude) \
> 
> CompileCommand uses a different semantic than CompilerDirectives to exclude methods from compilation. Are you sure you will be preserving backwards compatibility?
> 
> See compilerDirectives.cpp lines 333-360 to see how the backwards compatibility is preserved.

@neliasso, I don't realize that user can get same effect by setting -XX:CompileCommand=exclude/log/compileonly etc util today.  now I get it why you place X here. `DirectiveSet::compilecommand_compatibility_init` ignore those cflags whose cc_flags are X. 

I withdraw Enable/Exclude/Log but leave BreakAtCompile and BreakAtExecution. 
because it's pointless to support -XX:CompileCommand=option,xxx,log. I prefer to have one single way to do it.

-------------

PR: https://git.openjdk.java.net/jdk/pull/796


More information about the hotspot-compiler-dev mailing list