src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/classfile/D
changeset 50330 2cbc42a5764b
parent 50329 18fba780c1d1
child 50331 2712cf4711d1
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/classfile/D	Thu May 31 10:14:41 2018 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-diff --git a/compiler/src/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/classfile/ClassfileBytecodeProvider.java b/compiler/src/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/classfile/ClassfileBytecodeProvider.java
-index 88403c3..728297d 100644
---- a/compiler/src/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/classfile/ClassfileBytecodeProvider.java
-+++ b/compiler/src/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/classfile/ClassfileBytecodeProvider.java
-@@ -138,7 +138,11 @@ public final class ClassfileBytecodeProvider implements BytecodeProvider {
-         return classfile;
-     }
- 
--    synchronized Class<?> resolveToClass(String descriptor) {
-+    Class<?> resolveToClass(String descriptor) {
-+        return resolveToClass(descriptor, false);
-+    }
-+
-+    synchronized Class<?> resolveToClass(String descriptor, boolean initialize) {
-         Class<?> c = classes.get(descriptor);
-         if (c == null) {
-             if (descriptor.length() == 1) {
-@@ -155,7 +159,7 @@ public final class ClassfileBytecodeProvider implements BytecodeProvider {
-                     name = descriptor.replace('/', '.');
-                 }
-                 try {
--                    c = Class.forName(name, true, loader);
-+                    c = Class.forName(name, initialize, loader);
-                     classes.put(descriptor, c);
-                 } catch (ClassNotFoundException e) {
-                     throw new NoClassDefFoundError(descriptor);
-diff --git a/compiler/src/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/classfile/ClassfileConstant.java b/compiler/src/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/classfile/ClassfileConstant.java
-index 087f78b..bde2dd4 100644
---- a/compiler/src/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/classfile/ClassfileConstant.java
-+++ b/compiler/src/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/classfile/ClassfileConstant.java
-@@ -70,8 +70,9 @@ abstract class ClassfileConstant {
-      * @param cp
-      * @param index
-      * @param opcode
-+     * @param initialize
-      */
--    public void loadReferencedType(ClassfileConstantPool cp, int index, int opcode) {
-+    public void loadReferencedType(ClassfileConstantPool cp, int index, int opcode, boolean initialize) {
-     }
- 
-     @Override
-@@ -90,15 +91,19 @@ abstract class ClassfileConstant {
-         }
- 
-         @Override
--        public void loadReferencedType(ClassfileConstantPool cp, int index, int opcode) {
--            resolve(cp);
-+        public void loadReferencedType(ClassfileConstantPool cp, int index, int opcode, boolean initialize) {
-+            resolve(cp, initialize);
-         }
- 
-         public ResolvedJavaType resolve(ClassfileConstantPool cp) throws GraalError {
-+            return resolve(cp, false /* initialize */);
-+        }
-+
-+        public ResolvedJavaType resolve(ClassfileConstantPool cp, boolean initialize) throws GraalError {
-             if (type == null) {
-                 String typeDescriptor = cp.get(Utf8.class, nameIndex).value;
-                 ClassfileBytecodeProvider context = cp.context;
--                type = context.metaAccess.lookupJavaType(context.resolveToClass(typeDescriptor));
-+                type = context.metaAccess.lookupJavaType(context.resolveToClass(typeDescriptor, initialize));
-             }
-             return type;
-         }
-@@ -116,8 +121,8 @@ abstract class ClassfileConstant {
-         }
- 
-         @Override
--        public void loadReferencedType(ClassfileConstantPool cp, int index, int opcode) {
--            cp.get(ClassRef.class, classIndex).loadReferencedType(cp, classIndex, opcode);
-+        public void loadReferencedType(ClassfileConstantPool cp, int index, int opcode, boolean initialize) {
-+            cp.get(ClassRef.class, classIndex).loadReferencedType(cp, classIndex, opcode, initialize);
-         }
-     }
- 
-@@ -269,7 +274,7 @@ abstract class ClassfileConstant {
-         }
- 
-         @Override
--        public void loadReferencedType(ClassfileConstantPool cp, int index, int opcode) {
-+        public void loadReferencedType(ClassfileConstantPool cp, int index, int opcode, boolean initialize) {
-             throw new GraalError("Resolution of " + name + " constant pool entries not supported by " + ClassfileBytecodeProvider.class.getSimpleName());
-         }
-     }
-diff --git a/compiler/src/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/classfile/ClassfileConstantPool.java b/compiler/src/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/classfile/ClassfileConstantPool.java
-index 218df10..a54779b 100644
---- a/compiler/src/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/classfile/ClassfileConstantPool.java
-+++ b/compiler/src/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/classfile/ClassfileConstantPool.java
-@@ -133,11 +133,11 @@ class ClassfileConstantPool implements ConstantPool {
-     }
- 
-     @Override
--    public void loadReferencedType(int index, int opcode) {
-+    public void loadReferencedType(int index, int opcode, boolean initialize) {
-         if (opcode == Bytecodes.INVOKEDYNAMIC) {
-             throw new GraalError("INVOKEDYNAMIC not supported by " + ClassfileBytecodeProvider.class.getSimpleName());
-         }
--        entries[index].loadReferencedType(this, index, opcode);
-+        entries[index].loadReferencedType(this, index, opcode, initialize);
-     }
- 
-     @Override