JDK 9 RFR of JDK-8048620: Remove unneeded/obsolete -source/-target options in hotspot tests

Joe Darcy joe.darcy at oracle.com
Fri Jul 11 06:18:57 UTC 2014


An update, FYI the changeset removing support from javac for 
source/target of 1.5 and earlier has been pushed to jdk9/dev:

http://mail.openjdk.java.net/pipermail/jdk9-dev/2014-July/000972.html
     http://hg.openjdk.java.net/jdk9/dev/langtools/rev/fbfbefa43016

Therefore, if

     test/compiler/6932496/Test6932496.java

is not updated, it will fail to compile once it the change above 
propagates from jdk9/dev to the HotSpot repos.

Cheers,

-Joe


On 07/07/2014 09:10 AM, Joe Darcy wrote:
> Hello,
>
> I've sent a patch with the updated copyrights to Harold. As far as 
> that goes, getting those changes back should proceed.
>
> However, there is one more test which needs further examination; from 
> the email initiating this thread:
>
>> There is one additional test which uses -source/-target,
>> test/compiler/6932496/Test6932496.java. This test *does* appear
>> sensitive to class file version (no jsr / jret instruction in target 6
>> or higher) so I have not modified this test. If the test is not
>> actually sensitive to class file version, it can be updated like the
>> others. If it is sensitive and if testing this is still relevant, the
>> class file in question will need to be generated in some other way,
>> such as as by using ASM. 
>
> Thanks,
>
> -Joe
>
> On 07/03/2014 03:36 PM, Joe Darcy wrote:
>> Hi Harold,
>>
>> Yes; please sponsor this change; thanks,
>>
>> -Joe
>>
>> On 07/02/2014 05:11 AM, harold seigel wrote:
>>> Hi Joe,
>>>
>>> Your changes look good to me, also.
>>>
>>> Would you like me to sponsor your change?
>>>
>>> Thanks, Harold
>>>
>>> On 7/2/2014 6:12 AM, David Holmes wrote:
>>>> Hi Joe,
>>>>
>>>> I can provide you one Review. It seems to me the -source/-target 
>>>> were being set to ensure a minimum version (probably on -target was 
>>>> needed but -source had to come along for the ride), so removing 
>>>> them seems fine.
>>>>
>>>> Note hotspot protocol requires copyright updates at the time of 
>>>> checkin - thanks.
>>>>
>>>> Also you will need to create the changeset against the group repo 
>>>> for whomever your sponsor is (though your existing patch from the 
>>>> webrev will probably apply cleanly).
>>>>
>>>> A second reviewer (small R) is needed. If they don't sponsor it I 
>>>> will.
>>>>
>>>> Cheers,
>>>> David
>>>>
>>>>
>>>>
>>>> On 2/07/2014 2:42 AM, Joe Darcy wrote:
>>>>> *ping*
>>>>>
>>>>> -Joe
>>>>>
>>>>> On 06/27/2014 04:57 PM, Joe Darcy wrote:
>>>>>> Hello,
>>>>>>
>>>>>> As a consequence of a policy for retiring old javac -source and
>>>>>> -target options (JEP 182 [1]), in JDK 9, only -source/-target of 
>>>>>> 6/1.6
>>>>>> and higher will be supported [2]. This work is being tracked 
>>>>>> under bug
>>>>>>
>>>>>>     JDK-8011044: Remove support for 1.5 and earlier source and 
>>>>>> target
>>>>>> options
>>>>>>     https://bugs.openjdk.java.net/browse/JDK-8011044
>>>>>>
>>>>>> Many subtasks related to this are already complete, including 
>>>>>> updating
>>>>>> regression tests in the jdk and langtools repos. It has come to my
>>>>>> attention that the hotspot repo also has a few tests that use 
>>>>>> -source
>>>>>> and -target that should be updated. Please review the changes:
>>>>>>
>>>>>>     http://cr.openjdk.java.net/~darcy/8048620.0/
>>>>>>
>>>>>> Full patch below. From what I could tell looking at the bug and 
>>>>>> tests,
>>>>>> these tests are not sensitive to the class file version so they
>>>>>> shouldn't need to use an explicit -source or -target option and 
>>>>>> should
>>>>>> just accept the JDK-default.
>>>>>>
>>>>>> There is one additional test which uses -source/-target,
>>>>>> test/compiler/6932496/Test6932496.java. This test *does* appear
>>>>>> sensitive to class file version (no jsr / jret instruction in 
>>>>>> target 6
>>>>>> or higher) so I have not modified this test. If the test is not
>>>>>> actually sensitive to class file version, it can be updated like the
>>>>>> others. If it is sensitive and if testing this is still relevant, 
>>>>>> the
>>>>>> class file in question will need to be generated in some other way,
>>>>>> such as as by using ASM.
>>>>>>
>>>>>> Regardless of the outcome of the technical discussion around
>>>>>> Test6932496.java, I'd appreciate if a "hotspot buddy" could shepherd
>>>>>> this fix through the HotSpot processes.
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> -Joe
>>>>>>
>>>>>> [1] http://openjdk.java.net/jeps/182
>>>>>>
>>>>>> [2]
>>>>>> http://mail.openjdk.java.net/pipermail/jdk9-dev/2014-January/000328.html 
>>>>>>
>>>>>>
>>>>>> --- old/test/compiler/6775880/Test.java    2014-06-27
>>>>>> 16:24:25.000000000 -0700
>>>>>> +++ new/test/compiler/6775880/Test.java    2014-06-27
>>>>>> 16:24:25.000000000 -0700
>>>>>> @@ -26,7 +26,6 @@
>>>>>>   * @test
>>>>>>   * @bug 6775880
>>>>>>   * @summary EA +DeoptimizeALot:
>>>>>> assert(mon_info->owner()->is_locked(),"object must be locked now")
>>>>>> - * @compile -source 1.4 -target 1.4 Test.java
>>>>>>   * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -Xbatch
>>>>>> -XX:+DoEscapeAnalysis -XX:+DeoptimizeALot
>>>>>> -XX:CompileCommand=exclude,java.lang.AbstractStringBuilder::append Test 
>>>>>>
>>>>>>   */
>>>>>>
>>>>>> --- old/test/runtime/6626217/Test6626217.sh 2014-06-27
>>>>>> 16:24:26.000000000 -0700
>>>>>> +++ new/test/runtime/6626217/Test6626217.sh 2014-06-27
>>>>>> 16:24:26.000000000 -0700
>>>>>> @@ -54,7 +54,7 @@
>>>>>>
>>>>>>  # Compile all the usual suspects, including the default 
>>>>>> 'many_loader'
>>>>>>  ${CP} many_loader1.java.foo many_loader.java
>>>>>> -${JAVAC} ${TESTJAVACOPTS} -source 1.4 -target 1.4 -Xlint *.java
>>>>>> +${JAVAC} ${TESTJAVACOPTS} -Xlint *.java
>>>>>>
>>>>>>  # Rename the class files, so the custom loader (and not the system
>>>>>> loader) will find it
>>>>>>  ${MV} from_loader2.class from_loader2.impl2
>>>>>> @@ -62,7 +62,7 @@
>>>>>>  # Compile the next version of 'many_loader'
>>>>>>  ${MV} many_loader.class many_loader.impl1
>>>>>>  ${CP} many_loader2.java.foo many_loader.java
>>>>>> -${JAVAC} ${TESTJAVACOPTS} -source 1.4 -target 1.4 -Xlint
>>>>>> many_loader.java
>>>>>> +${JAVAC} ${TESTJAVACOPTS} -Xlint many_loader.java
>>>>>>
>>>>>>  # Rename the class file, so the custom loader (and not the system
>>>>>> loader) will find it
>>>>>>  ${MV} many_loader.class many_loader.impl2
>>>>>> --- old/test/runtime/8003720/Test8003720.java 2014-06-27
>>>>>> 16:24:26.000000000 -0700
>>>>>> +++ new/test/runtime/8003720/Test8003720.java 2014-06-27
>>>>>> 16:24:26.000000000 -0700
>>>>>> @@ -26,7 +26,7 @@
>>>>>>   * @test
>>>>>>   * @bug 8003720
>>>>>>   * @summary Method in interpreter stack frame can be deallocated
>>>>>> - * @compile -XDignore.symbol.file -source 1.7 -target 1.7 
>>>>>> Victim.java
>>>>>> + * @compile -XDignore.symbol.file Victim.java
>>>>>>   * @run main/othervm -Xverify:all -Xint Test8003720
>>>>>>   */
>>>>>>
>>>>>>
>>>>>
>>>
>>
>



More information about the hotspot-dev mailing list