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); |