774 BoundMethodHandle mh; |
774 BoundMethodHandle mh; |
775 try { |
775 try { |
776 if (PROFILE_GWT) { |
776 if (PROFILE_GWT) { |
777 int[] counts = new int[2]; |
777 int[] counts = new int[2]; |
778 mh = (BoundMethodHandle) |
778 mh = (BoundMethodHandle) |
779 BoundMethodHandle.speciesData_LLLL().constructor().invokeBasic(type, form, |
779 BoundMethodHandle.speciesData_LLLL().factory().invokeBasic(type, form, |
780 (Object) test, (Object) profile(target), (Object) profile(fallback), counts); |
780 (Object) test, (Object) profile(target), (Object) profile(fallback), counts); |
781 } else { |
781 } else { |
782 mh = (BoundMethodHandle) |
782 mh = (BoundMethodHandle) |
783 BoundMethodHandle.speciesData_LLL().constructor().invokeBasic(type, form, |
783 BoundMethodHandle.speciesData_LLL().factory().invokeBasic(type, form, |
784 (Object) test, (Object) profile(target), (Object) profile(fallback)); |
784 (Object) test, (Object) profile(target), (Object) profile(fallback)); |
785 } |
785 } |
786 } catch (Throwable ex) { |
786 } catch (Throwable ex) { |
787 throw uncaughtException(ex); |
787 throw uncaughtException(ex); |
788 } |
788 } |
1087 MethodHandle unboxResult = unboxResultHandle(type.returnType()); |
1087 MethodHandle unboxResult = unboxResultHandle(type.returnType()); |
1088 |
1088 |
1089 BoundMethodHandle.SpeciesData data = BoundMethodHandle.speciesData_LLLLL(); |
1089 BoundMethodHandle.SpeciesData data = BoundMethodHandle.speciesData_LLLLL(); |
1090 BoundMethodHandle mh; |
1090 BoundMethodHandle mh; |
1091 try { |
1091 try { |
1092 mh = (BoundMethodHandle) data.constructor().invokeBasic(type, form, (Object) target, (Object) exType, |
1092 mh = (BoundMethodHandle) data.factory().invokeBasic(type, form, (Object) target, (Object) exType, |
1093 (Object) catcher, (Object) collectArgs, (Object) unboxResult); |
1093 (Object) catcher, (Object) collectArgs, (Object) unboxResult); |
1094 } catch (Throwable ex) { |
1094 } catch (Throwable ex) { |
1095 throw uncaughtException(ex); |
1095 throw uncaughtException(ex); |
1096 } |
1096 } |
1097 assert(mh.type() == type); |
1097 assert(mh.type() == type); |
1883 LoopClauses clauseData = |
1883 LoopClauses clauseData = |
1884 new LoopClauses(new MethodHandle[][]{toArray(init), toArray(step), toArray(pred), toArray(fini)}); |
1884 new LoopClauses(new MethodHandle[][]{toArray(init), toArray(step), toArray(pred), toArray(fini)}); |
1885 BoundMethodHandle.SpeciesData data = BoundMethodHandle.speciesData_LLL(); |
1885 BoundMethodHandle.SpeciesData data = BoundMethodHandle.speciesData_LLL(); |
1886 BoundMethodHandle mh; |
1886 BoundMethodHandle mh; |
1887 try { |
1887 try { |
1888 mh = (BoundMethodHandle) data.constructor().invokeBasic(type, form, (Object) clauseData, |
1888 mh = (BoundMethodHandle) data.factory().invokeBasic(type, form, (Object) clauseData, |
1889 (Object) collectArgs, (Object) unboxResult); |
1889 (Object) collectArgs, (Object) unboxResult); |
1890 } catch (Throwable ex) { |
1890 } catch (Throwable ex) { |
1891 throw uncaughtException(ex); |
1891 throw uncaughtException(ex); |
1892 } |
1892 } |
1893 assert(mh.type() == type); |
1893 assert(mh.type() == type); |
2126 MethodHandle unboxResult = unboxResultHandle(rtype); |
2126 MethodHandle unboxResult = unboxResultHandle(rtype); |
2127 |
2127 |
2128 BoundMethodHandle.SpeciesData data = BoundMethodHandle.speciesData_LLLL(); |
2128 BoundMethodHandle.SpeciesData data = BoundMethodHandle.speciesData_LLLL(); |
2129 BoundMethodHandle mh; |
2129 BoundMethodHandle mh; |
2130 try { |
2130 try { |
2131 mh = (BoundMethodHandle) data.constructor().invokeBasic(type, form, (Object) target, (Object) cleanup, |
2131 mh = (BoundMethodHandle) data.factory().invokeBasic(type, form, (Object) target, (Object) cleanup, |
2132 (Object) collectArgs, (Object) unboxResult); |
2132 (Object) collectArgs, (Object) unboxResult); |
2133 } catch (Throwable ex) { |
2133 } catch (Throwable ex) { |
2134 throw uncaughtException(ex); |
2134 throw uncaughtException(ex); |
2135 } |
2135 } |
2136 assert(mh.type() == type); |
2136 assert(mh.type() == type); |