1603 NF_throwException, |
1603 NF_throwException, |
1604 NF_profileBoolean; |
1604 NF_profileBoolean; |
1605 |
1605 |
1606 static { |
1606 static { |
1607 try { |
1607 try { |
1608 NamedFunction nfs[] = { |
1608 NF_checkSpreadArgument = new NamedFunction(MethodHandleImpl.class |
1609 NF_checkSpreadArgument = new NamedFunction(MethodHandleImpl.class |
1609 .getDeclaredMethod("checkSpreadArgument", Object.class, int.class)); |
1610 .getDeclaredMethod("checkSpreadArgument", Object.class, int.class)), |
1610 NF_guardWithCatch = new NamedFunction(MethodHandleImpl.class |
1611 NF_guardWithCatch = new NamedFunction(MethodHandleImpl.class |
1611 .getDeclaredMethod("guardWithCatch", MethodHandle.class, Class.class, |
1612 .getDeclaredMethod("guardWithCatch", MethodHandle.class, Class.class, |
1612 MethodHandle.class, Object[].class)); |
1613 MethodHandle.class, Object[].class)), |
1613 NF_throwException = new NamedFunction(MethodHandleImpl.class |
1614 NF_throwException = new NamedFunction(MethodHandleImpl.class |
1614 .getDeclaredMethod("throwException", Throwable.class)); |
1615 .getDeclaredMethod("throwException", Throwable.class)), |
1615 NF_profileBoolean = new NamedFunction(MethodHandleImpl.class |
1616 NF_profileBoolean = new NamedFunction(MethodHandleImpl.class |
1616 .getDeclaredMethod("profileBoolean", boolean.class, int[].class)); |
1617 .getDeclaredMethod("profileBoolean", boolean.class, int[].class)) |
|
1618 }; |
|
1619 // Each nf must be statically invocable or we get tied up in our bootstraps. |
|
1620 assert(InvokerBytecodeGenerator.isStaticallyInvocable(nfs)); |
|
1621 } catch (ReflectiveOperationException ex) { |
1617 } catch (ReflectiveOperationException ex) { |
1622 throw newInternalError(ex); |
1618 throw newInternalError(ex); |
1623 } |
1619 } |
1624 } |
1620 } |
1625 |
1621 |