src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/DynamicLinker.java

Print this page

        

*** 86,95 **** --- 86,96 ---- import java.lang.invoke.MethodHandle; import java.lang.invoke.MethodHandles; import java.lang.invoke.MethodType; import java.lang.invoke.MutableCallSite; import java.util.List; + import java.util.Objects; import jdk.internal.dynalink.linker.GuardedInvocation; import jdk.internal.dynalink.linker.GuardingDynamicLinker; import jdk.internal.dynalink.linker.LinkRequest; import jdk.internal.dynalink.linker.LinkerServices; import jdk.internal.dynalink.support.CallSiteDescriptorFactory;
*** 250,260 **** } // Make sure we filter the invocation before linking it into the call site. This is typically used to match the // return type of the invocation to the call site. guardedInvocation = prelinkFilter.filter(guardedInvocation, linkRequest, linkerServices); ! guardedInvocation.getClass(); // null pointer check int newRelinkCount = relinkCount; // Note that the short-circuited "&&" evaluation below ensures we'll increment the relinkCount until // threshold + 1 but not beyond that. Threshold + 1 is treated as a special value to signal that resetAndRelink // has already executed once for the unstable call site; we only want the call site to throw away its current --- 251,261 ---- } // Make sure we filter the invocation before linking it into the call site. This is typically used to match the // return type of the invocation to the call site. guardedInvocation = prelinkFilter.filter(guardedInvocation, linkRequest, linkerServices); ! Objects.requireNonNull(guardedInvocation); int newRelinkCount = relinkCount; // Note that the short-circuited "&&" evaluation below ensures we'll increment the relinkCount until // threshold + 1 but not beyond that. Threshold + 1 is treated as a special value to signal that resetAndRelink // has already executed once for the unstable call site; we only want the call site to throw away its current