< prev index next >

jdk/src/java.base/share/classes/jdk/experimental/bytecode/TypedCodeBuilder.java

Print this page
rev 14083 : vwithfield class/field access

@@ -822,11 +822,15 @@
             case MONITORENTER:
             case MONITOREXIT:
                 state.pop();
                 break;
             case VNEW:
+                throw new UnsupportedOperationException("VNEW not implemented");
+                //processVnew(op, (T) optValue);
+                //break;
             case NEW:
+            case VDEFAULT:
                 state.push(typeHelper.type((S) optValue));
                 break;
             case NEWARRAY:
                 state.pop();
                 state.push(typeHelper.arrayOf(typeHelper.fromTag((TypeTag) optValue)));

@@ -877,10 +881,20 @@
                     state.pop2();
                 }
                 state.pop();
                 break;
             }
+            case VWITHFIELD: {
+                TypeTag tag = typeHelper.tag((T) optValue);
+                if (tag.width == 1) {
+                    state.pop();
+                } else {
+                    state.pop2();
+                }
+                // state.pop(); state.push();
+                break;
+            }
             case BIPUSH:
             case SIPUSH:
                 state.push(TypeTag.I);
                 break;
             case LDC:
< prev index next >