Hi Jorn,

I'll sponsor this for jdk/jdk. I'll file a RFE, test it and push it
seeing it's already reviewed.

Thanks!

/Claes

On 2019-02-19 19:35, Jorn Vernee wrote:
Hi Erik,

I have included your suggestions:
http://cr.openjdk.java.net/~jvernee/micronative/webrev.01

I'm a committer on project Panama, but I'm not sure if I have write access to jdk/jdk as well. If the new webrev looks good I could give it a try, but otherwise someone else would have to create a commit for me.

Thanks,
Jorn

Erik Joelsson schreef op 2019-02-19 18:13:
Hello Jorn,

This looks pretty good and should probably be pushed to mainline. Some
minor nits.

In BuildMicrobenchmark.gmk:

Please base MICROBENCHMARK_IMAGE dir on TEST_IMAGE_DIR like in RunTests.gmk.

Line 131, please add ", \" plus newline like on 123-124.

/Erik

On 2019-02-19 03:49, Jorn Vernee wrote:
Hi,

I've taken a first stab at adding support for native dependencies:
http://cr.openjdk.java.net/~jvernee/micronative/webrev.00/

With a small test benchmark:
http://cr.openjdk.java.net/~jvernee/micronative_test/webrev.00/

Please be aware that both are based on the Panama/foreign branch [1].

I was not able to find a workaround for my problem with the jar file access unfortunately. So I have been testing by manually running the jar file with the expected arguments (but, that's not really testing the RunTests.gmk changes).

It would be great if someone can offer a suggestion for that. The jar file is being created in make/test/BuildMicrobenchmark.gmk using the SetupJarArchive function [2]. The execution of the jar is done by code in RunTests.gmk [3]. I guess these 2 are racing to access the jar, and that is what's causing the error from the subject line.

Otherwise, I can't really test this properly, so maybe someone else can take it from here.

Cheers,
Jorn

[1] : http://hg.openjdk.java.net/panama/dev/shortlog/tip
[2] : http://hg.openjdk.java.net/jdk/jdk/file/784537ff9c4e/make/test/BuildMicrobenchmark.gmk#l98 [3] : http://hg.openjdk.java.net/jdk/jdk/file/784537ff9c4e/make/RunTests.gmk#l692

Jorn Vernee schreef op 2019-02-18 23:38:
Hi,

   1.) I did not get a warning when I was missing --with-jmh for configure, although it looks like there is supposed to be one (without --with-jmh I got the same access error, but the benchmarks.jar did not exist).

--with-jmh is an optional configure flag, not sure what we could do to
warn here. Perhaps there's some way to ensure certain make targets
depend on the configure having been run with the necessary prerequistes.
Sounds like a fine enhancement.

There seems to be a check for this in make/test/BuildMicrobenchmark.gmk [2]:

```
ifeq ($(JMH_CORE_JAR), )
  $(info Error: JMH is missing. Please use configure --with-jmh.)
  $(error Cannot continue)
endif
```

But this does not seem to be triggered.

I was hoping to use the framework for Panama, so I'd likely have some native library as dependency of the benchmark. Is there currently any support for building (native) dependencies automatically?

There should be support in the build system _somewhere_, but adding a
native library to a microbenchmark might still be a non-trivial
enhancement to the current implementation. It'd be a great addition,
though. I might have time to help out sometime soon, but I've got my
hands full right now. Perhaps someone else on this list could advice?

The Panama native test sources are being built by
'make/test/JtregNativeJdk.gmk' I'm not sure it's possible to hook
directly into that, but maybe it can serve as an example for adding a
similar feature to the benchmark suite.

I'll try looking into that.

Thanks!

Thanks for the help!

Jorn

[2] :
http://hg.openjdk.java.net/jdk/jdk/file/6fb43030a1b4/make/test/BuildMicrobenchmark.gmk#l34
/Claes


Thanks,
Jorn

[1] : http://hg.openjdk.java.net/jdk/jdk/file/bec6c8739833/make/autoconf/lib-tests.m4#l76

Reply via email to