RFR: 8144704: [JVMCI] add tests for simple code installation
Christian Thalinger
christian.thalinger at oracle.com
Tue Dec 15 21:19:57 UTC 2015
That’s neat! Thanks for doing this. Looks good.
Andrew, can you implement TestAssembler for AArch64? Then we could integrate 8143072.
> On Dec 15, 2015, at 7:01 AM, Roland Schatz <roland.schatz at oracle.com> wrote:
>
> Hi,
>
> Please review these new unittests for the JVMCI.
>
> JIRA: https://bugs.openjdk.java.net/browse/JDK-8144704
> Webrev: http://cr.openjdk.java.net/~rschatz/JDK-8144704/webrev.00/
>
> These tests try to generate, install and execute code. In order to do this, they need a small macro assembler for each platform.
> The TestAssembler is implemented for AMD64 and SPARC (i.e. all platforms that currently have the JVMCI).
>
> The tests themselves are platform independent. They test:
>
> - SimpleCodeInstallationTest.java: Installation and execution of a simple "a + b" method.
> - DataPatchTest.java: Installation and execution of various different implementations of "return DataPatchTest.class;" methods, using all possible combinations of data patches (narrow/wide, oop/klass pointer, inline in code or through data section).
> - SimpleDebugInfoTest.java: Deoptimizations to various interpreter states with constant/register/stack values.
> - VirtualObjectDebugInfoTest.java: Deoptimization with a virtual object graph.
>
> These tests are by far not complete, if we want complete coverage of all combinations (especially data type / native location / jvm location combinations in the DebugInfo), we probably need generated tests.
>
> Aside from combination coverage, still not tested are:
> - deoptimizations to more complicated VM states (e.g. while holding a lock, or with more than one inlined stack frame)
> - safepoints and oopmaps
> - invokes
>
> Thanks,
> Roland
More information about the hotspot-compiler-dev
mailing list