src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.word/src/org/graalvm/compiler/word/WordTypes.java
changeset 52578 7dd81e82d083
parent 50858 2d3e99a72541
child 52910 583fd71c47d6
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.word/src/org/graalvm/compiler/word/WordTypes.java	Thu Nov 15 21:05:47 2018 +0100
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.word/src/org/graalvm/compiler/word/WordTypes.java	Thu Nov 15 09:04:07 2018 -0800
@@ -24,6 +24,8 @@
 
 package org.graalvm.compiler.word;
 
+import static jdk.vm.ci.services.Services.IS_BUILDING_NATIVE_IMAGE;
+
 import org.graalvm.compiler.core.common.type.Stamp;
 import org.graalvm.compiler.core.common.type.StampFactory;
 import org.graalvm.compiler.nodes.ValueNode;
@@ -78,7 +80,9 @@
         this.objectAccessType = metaAccess.lookupJavaType(ObjectAccess.class);
         this.barrieredAccessType = metaAccess.lookupJavaType(BarrieredAccess.class);
 
-        Word.ensureInitialized();
+        if (!IS_BUILDING_NATIVE_IMAGE) {
+            Word.ensureInitialized();
+        }
         this.wordImplType.initialize();
     }
 
@@ -88,7 +92,7 @@
     public boolean isWordOperation(ResolvedJavaMethod targetMethod) {
         final boolean isWordFactory = wordFactoryType.equals(targetMethod.getDeclaringClass());
         if (isWordFactory) {
-            return true;
+            return !targetMethod.isConstructor();
         }
         final boolean isObjectAccess = objectAccessType.equals(targetMethod.getDeclaringClass());
         final boolean isBarrieredAccess = barrieredAccessType.equals(targetMethod.getDeclaringClass());