< prev index next >

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

Print this page
rev 14083 : vwithfield class/field access

*** 80,89 **** --- 80,95 ---- emitOp(Opcode.PUTFIELD, type); code.writeChar(poolHelper.putFieldRef(owner, name, type)); return thisBuilder(); } + public C vwithfield(S owner, CharSequence name, T type) { + emitOp(Opcode.VWITHFIELD, type); + code.writeChar(poolHelper.putFieldRef(owner, name, type)); + return thisBuilder(); + } + public C invokevirtual(S owner, CharSequence name, T type, boolean isInterface) { emitOp(Opcode.INVOKEVIRTUAL, type); code.writeChar(poolHelper.putMethodRef(owner, name, type, isInterface)); return thisBuilder(); }
*** 127,136 **** --- 133,148 ---- emitOp(Opcode.VNEW, clazz); code.writeChar(poolHelper.putMethodRef(clazz, name, desc, false)); return thisBuilder(); } + public C vdefault(S target) { + emitOp(Opcode.VDEFAULT, target); + code.writeChar(poolHelper.putClass(target)); + return thisBuilder(); + } + public C newarray(TypeTag tag) { emitOp(Opcode.NEWARRAY, tag); int newarraycode = tag.newarraycode; if (newarraycode == -1) { throw new IllegalStateException("Bad tag " + tag);
< prev index next >