8079682: [mlvm] remove SAM code in MHTransformationGen

Remove SAM code from the test and remove related dead code

Reviewed-by: iignatyev
This commit is contained in:
Jean Christophe Beyler 2018-08-06 14:23:02 -07:00
parent 013e6fd595
commit b2042fe0ca
2 changed files with 3 additions and 106 deletions

View File

@ -47,7 +47,6 @@ import vm.mlvm.meth.share.transform.v2.MHMacroTF;
import vm.mlvm.meth.share.transform.v2.MHOutboundCallTF;
import vm.mlvm.meth.share.transform.v2.MHOutboundVirtualCallTF;
import vm.mlvm.meth.share.transform.v2.MHPermuteTF;
import vm.mlvm.meth.share.transform.v2.MHSamTF;
import vm.mlvm.meth.share.transform.v2.MHTF;
import vm.mlvm.meth.share.transform.v2.MHTFPair;
import vm.mlvm.meth.share.transform.v2.MHThrowCatchTFPair;
@ -62,7 +61,6 @@ public class MHTransformationGen {
private static final boolean FILTER_OUT_KNOWN_BUGS = false;
private static final boolean USE_SAM = false; // Disabled in JDK7
private static final boolean USE_THROW_CATCH = false; // Test bugs
public static class ThrowCatchTestException extends Throwable {
@ -104,7 +102,7 @@ public class MHTransformationGen {
MHTF tf = null;
MHTFPair tfPair = null;
int nextCase = nextInt(12);
int nextCase = nextInt(11);
Env.traceDebug("Adding case #" + nextCase);
try {
@ -339,15 +337,7 @@ public class MHTransformationGen {
}
break;
case 9: { // SAM
if ( ! USE_SAM )
break;
tf = new MHSamTF(lastCall);
}
break;
case 10: { // Envelope argument into array
case 9: { // Envelope argument into array
if ( lastArgs.length >= 0 )
break;
@ -358,7 +348,7 @@ public class MHTransformationGen {
}
break;
case 11: { // Collect + spread
case 10: { // Collect + spread
if ( nextInt(1) == 0 )
tf = new MHCollectSpreadTF(lastCall);
else

View File

@ -1,93 +0,0 @@
/*
* Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package vm.mlvm.meth.share.transform.v2;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
public class MHSamTF extends MHBasicUnaryTF {
public static interface SAM {
public Object run(Object[] o) throws Throwable;
}
public static class SAMCaller {
private final SAM sam;
public SAMCaller(SAM sam) {
this.sam = sam;
}
public Object callSAM(Object[] o) throws Throwable {
return sam.run(o);
}
}
public MHSamTF(MHCall target) {
super(target);
}
@Override
protected MethodHandle computeInboundMH(MethodHandle targetMH) throws NoSuchMethodException, IllegalAccessException {
throw new RuntimeException("Internal error: Functionality is disabled in JDK7");
/*
MethodHandle mh = targetMH.asSpreader(Object[].class, targetMH.type().parameterCount());
SAM sam = MethodHandles.asInstance(mh, SAM.class);
// The checks below aimed to increase coverage
MethodHandle mhCopy = MethodHandles.wrapperInstanceTarget(sam);
if ( ! mh.equals(mhCopy) ) {
throw new IllegalArgumentException("wrapperInstanceTarget returned a different MH: [" + mhCopy + "]; original was [" + mh + "]");
}
Class<?> samClass = MethodHandles.wrapperInstanceType(sam);
if ( ! SAM.class.equals(samClass) ) {
throw new IllegalArgumentException("wrapperInstanceType returned a different class: [" + samClass + "]; original was [" + SAM.class + "]");
}
if ( ! MethodHandles.isWrapperInstance(sam) ) {
throw new IllegalArgumentException("isWrapperInstance returned false for SAM object: [" + sam + "]");
}
return MethodHandles.convertArguments(
MethodHandles.lookup().findVirtual(SAMCaller.class, "callSAM", MethodType.methodType(Object.class, Object[].class))
.bindTo(new SAMCaller(sam))
.asCollector(Object[].class, targetMH.type().parameterCount()),
targetMH.type());
*/
}
@Override
protected String getName() {
return "SAM";
}
@Override
protected String getDescription() {
return "";
}
}