JDK-8061281 (JEP-230): Push Makefiles, repository layout and small set of benchmarks
Staffan Friberg
staffan.friberg at oracle.com
Wed Aug 12 22:24:16 UTC 2015
Hi Erik,
Thank you for the quick review. I have fixed all your comments in this
new webrev, http://cr.openjdk.java.net/~sfriberg/JDK-8061281/webrev.02
Cheers,
Staffan
On 08/12/2015 03:15 AM, Erik Joelsson wrote:
> Hello,
>
> On 2015-08-12 01:34, Staffan Friberg wrote:
>> Hi,
>>
>> Unfortunately we have not yet got the new repositories created in
>> OpenJDK for JEP-230 that was discussed earlier this year [1]. However
>> I wanted to make sure we are ready to push as soon as those
>> repositories are created.
>>
>> These two webrevs contain updates to the build scripts to add the
>> build-microbenchmark target, and the new repository for the benchmarks.
>>
>>
>> Makefile change
>> The configure script now has a new flag that allows you to specifify
>> a directory where JMH is available, --with-jmh=<PATH>. If the build
>> environment has been setup correctly the benchmarks can be built
>> using "make build-microbenchmark". The directory must include the
>> following JARs commons-math3-3.2.jar, jopt-simple-4.6.jar,
>> jmh-core-1.10.2.jar, jmh-generator-annprocess-1.10.2.jar, which is
>> verified by the configure script.
>>
>>
>> webrev:
>> http://cr.openjdk.java.net/~sfriberg/JDK-8061281/webrev.01/webrev_jdk/webrev
>>
> Only a minor detail in Main.gmk line 288. I would like a + at the
> start of the line to indicate to make that the command line is running
> a submake. It likely works anyway, but we have this pattern in the
> rest of the file.
>>
>>
>> Benchmarks Repository
>> Contains the new repository and the directory structure for
>> microbenchmarks and the specific microbenchmark Makefile. Maven POM
>> files have been added to make it easy to work with the benchmarks in
>> IDEs, but are not used as part of the Makefile build process.
>>
>> webrev:
>> http://cr.openjdk.java.net/~sfriberg/JDK-8061281/webrev.01/webrev_benchmark/webrev
>>
> Only style issues which you may or may not change. These style changes
> improves readability and maintainability and we have rather recently
> improved the framework to support them. Examples:
>
> Add a space after comma. This wasn't supported before but is now.
> $(eval $(call SetupArchive, BUILD_OLDJDK_JAR, \
>
> On the last named variable, finish with ", \" and put the double
> parentheses on a new line, indented to the same level as the start of
> the expression:
> JAR := $(OLDJDK_JAR), \
> ))
>
> In addition tot hat, in the rules with touch files I would recommend
> using $(@D) to refer to the directory instead of repeating it several
> times in the recipe to reduce code duplication.
>
> I find this to be an interesting construct:
> 123 $(foreach jar, $(UNPACK_JARS), \
> 124 $$($(UNZIP) -oq $(jar) -d $(JMH_UNPACKED)))
>
> I haven't tested, but I think this would work:
> 123 $(foreach jar, $(UNPACK_JARS), \
> 124 $(UNZIP) -oq $(jar) -d $(JMH_UNPACKED) $(NEWLINE))
>
> /Erik
>>
>>
>> [1] -
>> http://mail.openjdk.java.net/pipermail/jdk9-dev/2015-January/001889.html
>>
>> Thanks,
>> Staffan
>
More information about the jdk9-dev
mailing list