src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/ConstantPoolSubstitutionsTests.java
changeset 52427 3c6aa484536c
parent 50858 2d3e99a72541
child 52578 7dd81e82d083
equal deleted inserted replaced
52426:38bf0c9c4e64 52427:3c6aa484536c
     1 /*
     1 /*
     2  * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
    73         }
    73         }
    74         return graph;
    74         return graph;
    75     }
    75     }
    76 
    76 
    77     private static Object getConstantPoolForObject() {
    77     private static Object getConstantPoolForObject() {
    78         String miscPackage = Java8OrEarlier ? "sun.misc" : "jdk.internal.misc";
    78         String miscPackage = Java8OrEarlier ? "sun.misc"
       
    79             : (Java11OrEarlier ? "jdk.internal.misc" : "jdk.internal.access");
    79         try {
    80         try {
    80             Class<?> sharedSecretsClass = Class.forName(miscPackage + ".SharedSecrets");
    81             Class<?> sharedSecretsClass = Class.forName(miscPackage + ".SharedSecrets");
    81             Class<?> javaLangAccessClass = Class.forName(miscPackage + ".JavaLangAccess");
    82             Class<?> javaLangAccessClass = Class.forName(miscPackage + ".JavaLangAccess");
    82             Object jla = sharedSecretsClass.getDeclaredMethod("getJavaLangAccess").invoke(null);
    83             Object jla = sharedSecretsClass.getDeclaredMethod("getJavaLangAccess").invoke(null);
    83             return javaLangAccessClass.getDeclaredMethod("getConstantPool", Class.class).invoke(jla, Object.class);
    84             return javaLangAccessClass.getDeclaredMethod("getConstantPool", Class.class).invoke(jla, Object.class);
   112     private static void addExports(Class<?> c) {
   113     private static void addExports(Class<?> c) {
   113         if (!Java8OrEarlier) {
   114         if (!Java8OrEarlier) {
   114             Object javaBaseModule = JLModule.fromClass(String.class);
   115             Object javaBaseModule = JLModule.fromClass(String.class);
   115             Object cModule = JLModule.fromClass(c);
   116             Object cModule = JLModule.fromClass(c);
   116             uncheckedAddExports(javaBaseModule, "jdk.internal.reflect", cModule);
   117             uncheckedAddExports(javaBaseModule, "jdk.internal.reflect", cModule);
   117             uncheckedAddExports(javaBaseModule, "jdk.internal.misc", cModule);
   118             if (Java11OrEarlier)
       
   119                 uncheckedAddExports(javaBaseModule, "jdk.internal.misc", cModule);
       
   120             else
       
   121                 uncheckedAddExports(javaBaseModule, "jdk.internal.access", cModule);
   118         }
   122         }
   119     }
   123     }
   120 
   124 
   121     @Test
   125     @Test
   122     public void testGetSize() {
   126     public void testGetSize() {