--- old/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64.test/src/org/graalvm/compiler/hotspot/amd64/test/StubAVXTest.java 2017-03-20 17:38:08.000000000 -0700 +++ new/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64.test/src/org/graalvm/compiler/hotspot/amd64/test/StubAVXTest.java 2017-03-20 17:38:08.000000000 -0700 @@ -25,13 +25,10 @@ import static org.graalvm.compiler.lir.LIRInstruction.OperandFlag.REG; -import org.junit.Assume; -import org.junit.Before; -import org.junit.Test; - import org.graalvm.compiler.api.replacements.Snippet; import org.graalvm.compiler.asm.amd64.AMD64Address; import org.graalvm.compiler.asm.amd64.AMD64MacroAssembler; +import org.graalvm.compiler.bytecode.BytecodeProvider; import org.graalvm.compiler.core.common.LIRKind; import org.graalvm.compiler.core.common.spi.ForeignCallDescriptor; import org.graalvm.compiler.core.common.type.DataPointerConstant; @@ -52,6 +49,12 @@ import org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext; import org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin; import org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins; +import org.graalvm.compiler.options.OptionValues; +import org.graalvm.compiler.replacements.ReplacementsImpl; +import org.graalvm.compiler.replacements.classfile.ClassfileBytecodeProvider; +import org.junit.Assume; +import org.junit.Before; +import org.junit.Test; import jdk.vm.ci.amd64.AMD64; import jdk.vm.ci.amd64.AMD64.CPUFeature; @@ -59,6 +62,7 @@ import jdk.vm.ci.code.Register; import jdk.vm.ci.code.ValueUtil; import jdk.vm.ci.meta.AllocatableValue; +import jdk.vm.ci.meta.MetaAccessProvider; import jdk.vm.ci.meta.ResolvedJavaMethod; import jdk.vm.ci.meta.Value; @@ -163,13 +167,20 @@ private static class TestStub extends SnippetStub { - TestStub(HotSpotProviders providers, HotSpotForeignCallLinkage linkage) { - super("testStub", providers, linkage); + TestStub(OptionValues options, HotSpotProviders providers, HotSpotForeignCallLinkage linkage) { + super("testStub", options, providers, linkage); } @Snippet static void testStub() { } + + @Override + protected BytecodeProvider getReplacementsBytecodeProvider() { + ReplacementsImpl d = (ReplacementsImpl) providers.getReplacements(); + MetaAccessProvider metaAccess = d.providers.getMetaAccess(); + return new ClassfileBytecodeProvider(metaAccess, d.snippetReflection, ClassLoader.getSystemClassLoader()); + } } public static final ForeignCallDescriptor TEST_STUB = new ForeignCallDescriptor("test_stub", void.class); @@ -208,7 +219,7 @@ HotSpotProviders providers = (HotSpotProviders) getProviders(); HotSpotForeignCallsProviderImpl foreignCalls = (HotSpotForeignCallsProviderImpl) providers.getForeignCalls(); HotSpotForeignCallLinkage linkage = foreignCalls.registerStubCall(TEST_STUB, true, HotSpotForeignCallLinkage.Transition.LEAF_NOFP); - linkage.setCompiledStub(new TestStub(providers, linkage)); + linkage.setCompiledStub(new TestStub(getInitialOptions(), providers, linkage)); runTest("testStub"); } }