< prev index next >

test/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaType.java

Print this page




  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  */
  23 
  24 /**
  25  * @test
  26  * @requires (os.simpleArch == "x64" | os.simpleArch == "sparcv9") & os.arch != "aarch64"
  27  * @compile TestResolvedJavaType.java TypeUniverse.java TestMetaAccessProvider.java NameAndSignature.java
  28  * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI jdk.vm.ci.runtime.test.TestResolvedJavaType
  29  */
  30 
  31 package jdk.vm.ci.runtime.test;
  32 
  33 import static java.lang.reflect.Modifier.*;
  34 import static org.junit.Assert.*;
































  35 
  36 import java.lang.annotation.*;
  37 import java.lang.reflect.*;
  38 import java.net.*;
  39 import java.util.*;
  40 
  41 import jdk.vm.ci.common.*;
  42 import jdk.vm.ci.meta.*;
  43 import jdk.vm.ci.meta.Assumptions.*;
  44 
  45 import org.junit.*;
  46 
  47 import sun.reflect.ConstantPool;
  48 
  49 /**
  50  * Tests for {@link ResolvedJavaType}.
  51  */
  52 public class TestResolvedJavaType extends TypeUniverse {
  53 
  54     public TestResolvedJavaType() {
  55     }
  56 
  57     @Test
  58     public void findInstanceFieldWithOffsetTest() {
  59         for (Class<?> c : classes) {
  60             ResolvedJavaType type = metaAccess.lookupJavaType(c);
  61             Set<Field> reflectionFields = getInstanceFields(c, true);
  62             for (Field f : reflectionFields) {
  63                 ResolvedJavaField rf = lookupField(type.getInstanceFields(true), f);
  64                 assertNotNull(rf);
  65                 long offset = isStatic(f.getModifiers()) ? unsafe.staticFieldOffset(f) : unsafe.objectFieldOffset(f);




  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  */
  23 
  24 /**
  25  * @test
  26  * @requires (os.simpleArch == "x64" | os.simpleArch == "sparcv9") & os.arch != "aarch64"
  27  * @compile TestResolvedJavaType.java TypeUniverse.java TestMetaAccessProvider.java NameAndSignature.java
  28  * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI jdk.vm.ci.runtime.test.TestResolvedJavaType
  29  */
  30 
  31 package jdk.vm.ci.runtime.test;
  32 
  33 import static java.lang.reflect.Modifier.isAbstract;
  34 import static java.lang.reflect.Modifier.isFinal;
  35 import static java.lang.reflect.Modifier.isPrivate;
  36 import static java.lang.reflect.Modifier.isProtected;
  37 import static java.lang.reflect.Modifier.isPublic;
  38 import static java.lang.reflect.Modifier.isStatic;
  39 import static org.junit.Assert.assertArrayEquals;
  40 import static org.junit.Assert.assertEquals;
  41 import static org.junit.Assert.assertFalse;
  42 import static org.junit.Assert.assertNotNull;
  43 import static org.junit.Assert.assertNull;
  44 import static org.junit.Assert.assertTrue;
  45 
  46 import java.lang.annotation.Annotation;
  47 import java.lang.reflect.Field;
  48 import java.lang.reflect.Method;
  49 import java.lang.reflect.Modifier;
  50 import java.net.URL;
  51 import java.util.Arrays;
  52 import java.util.Collections;
  53 import java.util.HashMap;
  54 import java.util.HashSet;
  55 import java.util.Map;
  56 import java.util.Set;
  57 
  58 import jdk.vm.ci.common.JVMCIError;
  59 import jdk.vm.ci.meta.Assumptions.AssumptionResult;
  60 import jdk.vm.ci.meta.JavaConstant;
  61 import jdk.vm.ci.meta.JavaKind;
  62 import jdk.vm.ci.meta.ModifiersProvider;
  63 import jdk.vm.ci.meta.ResolvedJavaField;
  64 import jdk.vm.ci.meta.ResolvedJavaMethod;
  65 import jdk.vm.ci.meta.ResolvedJavaType;
  66 import jdk.vm.ci.meta.TrustedInterface;
  67 
  68 import org.junit.Test;









  69 
  70 import sun.reflect.ConstantPool;
  71 
  72 /**
  73  * Tests for {@link ResolvedJavaType}.
  74  */
  75 public class TestResolvedJavaType extends TypeUniverse {
  76 
  77     public TestResolvedJavaType() {
  78     }
  79 
  80     @Test
  81     public void findInstanceFieldWithOffsetTest() {
  82         for (Class<?> c : classes) {
  83             ResolvedJavaType type = metaAccess.lookupJavaType(c);
  84             Set<Field> reflectionFields = getInstanceFields(c, true);
  85             for (Field f : reflectionFields) {
  86                 ResolvedJavaField rf = lookupField(type.getInstanceFields(true), f);
  87                 assertNotNull(rf);
  88                 long offset = isStatic(f.getModifiers()) ? unsafe.staticFieldOffset(f) : unsafe.objectFieldOffset(f);


< prev index next >