I'm trying to understand what is call site in JVM. Quote from https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-5.html#jvms-5.4.3.6
The result of call site specifier resolution is a tuple consisting of:
• the reference to an instance of
java.lang.invoke.MethodHandle
,• the reference to an instance of
java.lang.invoke.MethodType
,• the references to instances of
Class
,java.lang.invoke.MethodHandle
,java.lang.invoke.MethodType
, andString
.
We also have the so called call site object https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.invokedynamic:
The result returned by the bootstrap method must be a reference to an object whose class is
java.lang.invoke.CallSite
or a subclass ofjava.lang.invoke.CallSite
. This object is known as the call site object
The call site object concept is clear. This just an instance of CallSite
. But what about call site specifier? Is that an Java object? Is that a String
literal?