< prev index next >

src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassWriter.java

Print this page

        

@@ -1177,10 +1177,14 @@
                 if (debugstackmap) System.out.print("null");
                 databuf.appendByte(5);
                 break;
             case CLASS:
             case ARRAY:
+                if (debugstackmap) System.out.print("object(" + types.erasure(t).tsym + ")");
+                databuf.appendByte(7);
+                databuf.appendChar(types.isValue(t) ? poolWriter.putClass(new ConstantPoolQType(types.erasure(t), types)) : poolWriter.putClass(types.erasure(t)));
+                break;
             case TYPEVAR:
                 if (debugstackmap) System.out.print("object(" + types.erasure(t).tsym + ")");
                 databuf.appendByte(7);
                 databuf.appendChar(poolWriter.putClass(types.erasure(t)));
                 break;

@@ -1490,11 +1494,11 @@
         if (c.owner.kind == MDL) {
             flags = ACC_MODULE;
         } else {
             flags = adjustFlags(c.flags() & ~DEFAULT);
             if ((flags & PROTECTED) != 0) flags |= PUBLIC;
-            flags = flags & ClassFlags & ~STRICTFP;
+            flags = flags & (ClassFlags | ACC_VALUE) & ~STRICTFP;
             if ((flags & INTERFACE) == 0) flags |= ACC_SUPER;
         }
 
         if (dumpClassModifiers) {
             PrintWriter pw = log.getWriter(Log.WriterKind.ERROR);

@@ -1635,10 +1639,12 @@
             result |= ACC_BRIDGE;
         if ((flags & VARARGS) != 0)
             result |= ACC_VARARGS;
         if ((flags & DEFAULT) != 0)
             result &= ~ABSTRACT;
+        if ((flags & VALUE) != 0)
+            result |= ACC_VALUE;
         return result;
     }
 
     long getLastModified(FileObject filename) {
         long mod = 0;
< prev index next >