RFR(S): 8145331: SEGV in DirectivesStack::release(DirectiveSet*)

Christian Thalinger christian.thalinger at oracle.com
Thu Jan 14 18:55:16 UTC 2016

It would be nice if we somehow could detect if we are using C2 or not.  I mean this is sufficient:

+             // Dont bother check JVMCI compiler - returns false on all intrinsics.
+             if (!Boolean.valueOf(getVMOption("UseJVMCICompiler"))) {

but we are doing the reverse test:  we should be testing for isC2() not !isJVMCI().

Anyway, that is a different issue.  This change looks good.

> On Jan 14, 2016, at 2:44 AM, Nils Eliasson <nils.eliasson at oracle.com> wrote:
> Hi,
> Please review this patch:
> Description:
> In the fix for JDK-8144873 I updated only one of the two use cases of CompilerDirectives::get_for(AbstractCompiler..)
> Summary:
> I simplify CompilerDirectives::get_for(..) to always return the c1_store for all unsupported cases. Makes getMatchingDirective and getDefaultDirective simpler too. Moved refcount out of get_for(...) since it is not guaranteed to be used if updated here.
> Testing:
> All intrinsic tests and all compilercontrol tests in addition to testset hotspot.
> IntrinsicAvailableTest is updated to not check JVMCI compiler for intrinsics.
> IntrinsicDisabledTest.jtr doesn't work with JVMCI - no action taken
> NullCheckDroppingsTest.jtr doesn't work - since JVMCI doesn't support BackgroudCompilation - no action taken
> Bug: https://bugs.openjdk.java.net/browse/JDK-8145331
> Webrev: http://cr.openjdk.java.net/~neliasso/8145331/webrev.01/
> Regards,
> Nils Eliasson

More information about the hotspot-compiler-dev mailing list