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

src/share/classes/java/lang/invoke/BoundMethodHandle.java

Print this page
rev 9091 : [mq]: 8027827.catchException.ver03
rev 9092 : [mq]: 8027827.caching


 844             }
 845             // extend arguments array
 846             Object[] newArgs = Arrays.copyOf(initName.arguments, initName.arguments.length + 1);
 847             newArgs[newArgs.length - 1] = ctorMN;
 848             // replace function
 849             final NamedFunction nf = new NamedFunction(linkerMN);
 850             final Name linkedCtor = new Name(nf, newArgs);
 851             linkedCtor.initIndex(initNameIndex);
 852             lf.names[initNameIndex] = linkedCtor;
 853             return cmh;
 854         }
 855 
 856     }
 857 
 858     private static final Lookup LOOKUP = Lookup.IMPL_LOOKUP;
 859 
 860     /**
 861      * All subclasses must provide such a value describing their type signature.
 862      */
 863     static final SpeciesData SPECIES_DATA = SpeciesData.EMPTY;














 864 }


 844             }
 845             // extend arguments array
 846             Object[] newArgs = Arrays.copyOf(initName.arguments, initName.arguments.length + 1);
 847             newArgs[newArgs.length - 1] = ctorMN;
 848             // replace function
 849             final NamedFunction nf = new NamedFunction(linkerMN);
 850             final Name linkedCtor = new Name(nf, newArgs);
 851             linkedCtor.initIndex(initNameIndex);
 852             lf.names[initNameIndex] = linkedCtor;
 853             return cmh;
 854         }
 855 
 856     }
 857 
 858     private static final Lookup LOOKUP = Lookup.IMPL_LOOKUP;
 859 
 860     /**
 861      * All subclasses must provide such a value describing their type signature.
 862      */
 863     static final SpeciesData SPECIES_DATA = SpeciesData.EMPTY;
 864 
 865     private static final SpeciesData[] SPECIES_DATA_CACHE = new SpeciesData[5];
 866     private static SpeciesData checkCache(int size, String types) {
 867         int idx = size - 1;
 868         SpeciesData data = SPECIES_DATA_CACHE[idx];
 869         if (data != null)  return data;
 870         SPECIES_DATA_CACHE[idx] = data = getSpeciesData(types);
 871         return data;
 872     }
 873     static SpeciesData speciesData_L()     { return checkCache(1, "L"); }
 874     static SpeciesData speciesData_LL()    { return checkCache(2, "LL"); }
 875     static SpeciesData speciesData_LLL()   { return checkCache(3, "LLL"); }
 876     static SpeciesData speciesData_LLLL()  { return checkCache(4, "LLLL"); }
 877     static SpeciesData speciesData_LLLLL() { return checkCache(5, "LLLLL"); }
 878 }
src/share/classes/java/lang/invoke/BoundMethodHandle.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File