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