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