676 .getDeclaredMethod("staticBase", Object.class)),
677 NF_staticOffset = new NamedFunction(DirectMethodHandle.class
678 .getDeclaredMethod("staticOffset", Object.class)),
679 NF_checkCast = new NamedFunction(DirectMethodHandle.class
680 .getDeclaredMethod("checkCast", Object.class, Object.class)),
681 NF_allocateInstance = new NamedFunction(DirectMethodHandle.class
682 .getDeclaredMethod("allocateInstance", Object.class)),
683 NF_constructorMethod = new NamedFunction(DirectMethodHandle.class
684 .getDeclaredMethod("constructorMethod", Object.class))
685 };
686 for (NamedFunction nf : nfs) {
687 // Each nf must be statically invocable or we get tied up in our bootstraps.
688 assert(InvokerBytecodeGenerator.isStaticallyInvocable(nf.member)) : nf;
689 nf.resolve();
690 }
691 } catch (ReflectiveOperationException ex) {
692 throw newInternalError(ex);
693 }
694 }
695 }
696 }
|
676 .getDeclaredMethod("staticBase", Object.class)),
677 NF_staticOffset = new NamedFunction(DirectMethodHandle.class
678 .getDeclaredMethod("staticOffset", Object.class)),
679 NF_checkCast = new NamedFunction(DirectMethodHandle.class
680 .getDeclaredMethod("checkCast", Object.class, Object.class)),
681 NF_allocateInstance = new NamedFunction(DirectMethodHandle.class
682 .getDeclaredMethod("allocateInstance", Object.class)),
683 NF_constructorMethod = new NamedFunction(DirectMethodHandle.class
684 .getDeclaredMethod("constructorMethod", Object.class))
685 };
686 for (NamedFunction nf : nfs) {
687 // Each nf must be statically invocable or we get tied up in our bootstraps.
688 assert(InvokerBytecodeGenerator.isStaticallyInvocable(nf.member)) : nf;
689 nf.resolve();
690 }
691 } catch (ReflectiveOperationException ex) {
692 throw newInternalError(ex);
693 }
694 }
695 }
696
697 void customize() {
698 assert(form.customized == null);
699 // No need to customize DMHs.
700 }
701 }
|