< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/classfile/ClassfileBytecodeProviderTest.java

Print this page
rev 52509 : [mq]: graal


  70 import static org.graalvm.compiler.bytecode.Bytecodes.LOOKUPSWITCH;
  71 import static org.graalvm.compiler.bytecode.Bytecodes.LSTORE;
  72 import static org.graalvm.compiler.bytecode.Bytecodes.MULTIANEWARRAY;
  73 import static org.graalvm.compiler.bytecode.Bytecodes.NEW;
  74 import static org.graalvm.compiler.bytecode.Bytecodes.NEWARRAY;
  75 import static org.graalvm.compiler.bytecode.Bytecodes.PUTFIELD;
  76 import static org.graalvm.compiler.bytecode.Bytecodes.PUTSTATIC;
  77 import static org.graalvm.compiler.bytecode.Bytecodes.RET;
  78 import static org.graalvm.compiler.bytecode.Bytecodes.SIPUSH;
  79 import static org.graalvm.compiler.bytecode.Bytecodes.TABLESWITCH;
  80 
  81 import java.io.File;
  82 import java.io.IOException;
  83 import java.lang.reflect.Executable;
  84 import java.lang.reflect.Method;
  85 import java.util.Enumeration;
  86 import java.util.Formatter;
  87 import java.util.zip.ZipEntry;
  88 import java.util.zip.ZipFile;
  89 

  90 import org.junit.Assert;
  91 import org.junit.Assume;

  92 import org.junit.Test;
  93 
  94 import org.graalvm.compiler.api.replacements.SnippetReflectionProvider;
  95 import org.graalvm.compiler.api.test.Graal;
  96 import org.graalvm.compiler.bytecode.Bytecode;
  97 import org.graalvm.compiler.bytecode.BytecodeDisassembler;
  98 import org.graalvm.compiler.bytecode.BytecodeLookupSwitch;
  99 import org.graalvm.compiler.bytecode.BytecodeStream;
 100 import org.graalvm.compiler.bytecode.BytecodeSwitch;
 101 import org.graalvm.compiler.bytecode.BytecodeTableSwitch;
 102 import org.graalvm.compiler.bytecode.Bytecodes;
 103 import org.graalvm.compiler.bytecode.ResolvedJavaMethodBytecode;
 104 import org.graalvm.compiler.core.test.GraalCompilerTest;
 105 import org.graalvm.compiler.phases.VerifyPhase;
 106 import org.graalvm.compiler.phases.util.Providers;
 107 import org.graalvm.compiler.replacements.classfile.ClassfileBytecode;
 108 import org.graalvm.compiler.replacements.classfile.ClassfileBytecodeProvider;
 109 import org.graalvm.compiler.runtime.RuntimeProvider;
 110 
 111 import jdk.vm.ci.meta.ConstantPool;
 112 import jdk.vm.ci.meta.JavaField;
 113 import jdk.vm.ci.meta.JavaMethodProfile.ProfiledMethod;
 114 import jdk.vm.ci.meta.JavaType;
 115 import jdk.vm.ci.meta.MetaAccessProvider;
 116 import jdk.vm.ci.meta.ResolvedJavaField;
 117 import jdk.vm.ci.meta.ResolvedJavaMethod;
 118 import jdk.vm.ci.meta.ResolvedJavaType;
 119 
 120 /**
 121  * Tests that bytecode exposed via {@link ClassfileBytecode} objects is the same as the bytecode
 122  * (modulo minor differences in constant pool resolution) obtained directly from
 123  * {@link ResolvedJavaMethod} objects.
 124  */
 125 public class ClassfileBytecodeProviderTest extends GraalCompilerTest {






 126 
 127     private static boolean shouldProcess(String classpathEntry) {
 128         if (classpathEntry.endsWith(".jar")) {
 129             String name = new File(classpathEntry).getName();
 130             return name.contains("jvmci") || name.contains("graal");
 131         }
 132         return false;
 133     }
 134 
 135     @Test
 136     public void test() {
 137         RuntimeProvider rt = Graal.getRequiredCapability(RuntimeProvider.class);
 138         Providers providers = rt.getHostBackend().getProviders();
 139         MetaAccessProvider metaAccess = providers.getMetaAccess();
 140 
 141         Assume.assumeTrue(VerifyPhase.class.desiredAssertionStatus());
 142 
 143         String propertyName = Java8OrEarlier ? "sun.boot.class.path" : "jdk.module.path";
 144         String bootclasspath = System.getProperty(propertyName);
 145         Assert.assertNotNull("Cannot find value of " + propertyName, bootclasspath);




  70 import static org.graalvm.compiler.bytecode.Bytecodes.LOOKUPSWITCH;
  71 import static org.graalvm.compiler.bytecode.Bytecodes.LSTORE;
  72 import static org.graalvm.compiler.bytecode.Bytecodes.MULTIANEWARRAY;
  73 import static org.graalvm.compiler.bytecode.Bytecodes.NEW;
  74 import static org.graalvm.compiler.bytecode.Bytecodes.NEWARRAY;
  75 import static org.graalvm.compiler.bytecode.Bytecodes.PUTFIELD;
  76 import static org.graalvm.compiler.bytecode.Bytecodes.PUTSTATIC;
  77 import static org.graalvm.compiler.bytecode.Bytecodes.RET;
  78 import static org.graalvm.compiler.bytecode.Bytecodes.SIPUSH;
  79 import static org.graalvm.compiler.bytecode.Bytecodes.TABLESWITCH;
  80 
  81 import java.io.File;
  82 import java.io.IOException;
  83 import java.lang.reflect.Executable;
  84 import java.lang.reflect.Method;
  85 import java.util.Enumeration;
  86 import java.util.Formatter;
  87 import java.util.zip.ZipEntry;
  88 import java.util.zip.ZipFile;
  89 
  90 import org.graalvm.compiler.test.SubprocessUtil;
  91 import org.junit.Assert;
  92 import org.junit.Assume;
  93 import org.junit.Before;
  94 import org.junit.Test;
  95 
  96 import org.graalvm.compiler.api.replacements.SnippetReflectionProvider;
  97 import org.graalvm.compiler.api.test.Graal;
  98 import org.graalvm.compiler.bytecode.Bytecode;
  99 import org.graalvm.compiler.bytecode.BytecodeDisassembler;
 100 import org.graalvm.compiler.bytecode.BytecodeLookupSwitch;
 101 import org.graalvm.compiler.bytecode.BytecodeStream;
 102 import org.graalvm.compiler.bytecode.BytecodeSwitch;
 103 import org.graalvm.compiler.bytecode.BytecodeTableSwitch;
 104 import org.graalvm.compiler.bytecode.Bytecodes;
 105 import org.graalvm.compiler.bytecode.ResolvedJavaMethodBytecode;
 106 import org.graalvm.compiler.core.test.GraalCompilerTest;
 107 import org.graalvm.compiler.phases.VerifyPhase;
 108 import org.graalvm.compiler.phases.util.Providers;
 109 import org.graalvm.compiler.replacements.classfile.ClassfileBytecode;
 110 import org.graalvm.compiler.replacements.classfile.ClassfileBytecodeProvider;
 111 import org.graalvm.compiler.runtime.RuntimeProvider;
 112 
 113 import jdk.vm.ci.meta.ConstantPool;
 114 import jdk.vm.ci.meta.JavaField;
 115 import jdk.vm.ci.meta.JavaMethodProfile.ProfiledMethod;
 116 import jdk.vm.ci.meta.JavaType;
 117 import jdk.vm.ci.meta.MetaAccessProvider;
 118 import jdk.vm.ci.meta.ResolvedJavaField;
 119 import jdk.vm.ci.meta.ResolvedJavaMethod;
 120 import jdk.vm.ci.meta.ResolvedJavaType;
 121 
 122 /**
 123  * Tests that bytecode exposed via {@link ClassfileBytecode} objects is the same as the bytecode
 124  * (modulo minor differences in constant pool resolution) obtained directly from
 125  * {@link ResolvedJavaMethod} objects.
 126  */
 127 public class ClassfileBytecodeProviderTest extends GraalCompilerTest {
 128 
 129     @Before
 130     public void checkJavaAgent() {
 131         assumeManagementLibraryIsLoadable();
 132         Assume.assumeFalse("Java Agent found -> skipping", SubprocessUtil.isJavaAgentAttached());
 133     }
 134 
 135     private static boolean shouldProcess(String classpathEntry) {
 136         if (classpathEntry.endsWith(".jar")) {
 137             String name = new File(classpathEntry).getName();
 138             return name.contains("jvmci") || name.contains("graal");
 139         }
 140         return false;
 141     }
 142 
 143     @Test
 144     public void test() {
 145         RuntimeProvider rt = Graal.getRequiredCapability(RuntimeProvider.class);
 146         Providers providers = rt.getHostBackend().getProviders();
 147         MetaAccessProvider metaAccess = providers.getMetaAccess();
 148 
 149         Assume.assumeTrue(VerifyPhase.class.desiredAssertionStatus());
 150 
 151         String propertyName = Java8OrEarlier ? "sun.boot.class.path" : "jdk.module.path";
 152         String bootclasspath = System.getProperty(propertyName);
 153         Assert.assertNotNull("Cannot find value of " + propertyName, bootclasspath);


< prev index next >