src/java.base/share/classes/java/lang/invoke/LambdaFormBuffer.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File jdk Cdiff src/java.base/share/classes/java/lang/invoke/LambdaFormBuffer.java

src/java.base/share/classes/java/lang/invoke/LambdaFormBuffer.java

Print this page
rev 11011 : 8057020: LambdaForm caches should support eviction
Reviewed-by: psandoz, ?

*** 44,66 **** private ArrayList<Name> dups; private static final int F_TRANS = 0x10, F_OWNED = 0x03; LambdaFormBuffer(LambdaForm lf) { ! this(lf.arity, lf.names, lf.result); debugName = lf.debugName; assert(lf.nameRefsAreLegal()); } - private LambdaFormBuffer(int arity, Name[] names, int result) { - this.arity = arity; - setNames(names); - if (result == LAST_RESULT) result = length - 1; - if (result >= 0 && names[result].type != V_TYPE) - resultName = names[result]; - } - private LambdaForm lambdaForm() { assert(!inTrans()); // need endEdit call to tidy things up return new LambdaForm(debugName, arity, nameArray(), resultIndex()); } --- 44,63 ---- private ArrayList<Name> dups; private static final int F_TRANS = 0x10, F_OWNED = 0x03; LambdaFormBuffer(LambdaForm lf) { ! this.arity = lf.arity; ! setNames(lf.names); ! int result = lf.result; ! if (result == LAST_RESULT) result = length - 1; ! if (result >= 0 && lf.names[result].type != V_TYPE) ! resultName = lf.names[result]; debugName = lf.debugName; assert(lf.nameRefsAreLegal()); } private LambdaForm lambdaForm() { assert(!inTrans()); // need endEdit call to tidy things up return new LambdaForm(debugName, arity, nameArray(), resultIndex()); }
src/java.base/share/classes/java/lang/invoke/LambdaFormBuffer.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File