public static CallSite bootstrap(MethodHandles.Lookup callerLookup, String name, MethodType type, long bindingId)
{
try {
MethodHandle handle = callerLookup.findStaticGetter(callerLookup.lookupClass(), CALL_SITES_FIELD_NAME, Map.class);
Map<Long, MethodHandle> bindings = (Map<Long, MethodHandle>) handle.invokeExact();
checkNotNull(bindings, "'callSites' field in %s is null", callerLookup.lookupClass().getName());
MethodHandle method = bindings.get(bindingId);
checkArgument(method != null, "Binding %s for function %s%s not found", bindingId, name, type.parameterList());
return new ConstantCallSite(method);