nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java
changeset 34455 cc9f05d3caf0
parent 34447 ec4c069f9436
child 36023 528cc67f1289
--- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java	Fri Nov 27 08:44:02 2015 +0100
+++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java	Wed Dec 02 16:19:15 2015 +0530
@@ -32,6 +32,7 @@
 import java.lang.invoke.MethodHandles;
 import java.lang.invoke.MethodType;
 import java.lang.invoke.SwitchPoint;
+import jdk.dynalink.CallSiteDescriptor;
 import jdk.dynalink.linker.GuardedInvocation;
 import jdk.dynalink.linker.LinkRequest;
 import jdk.dynalink.linker.support.Guards;
@@ -95,14 +96,11 @@
     public static GuardedInvocation lookupPrimitive(final LinkRequest request, final MethodHandle guard,
                                                     final ScriptObject wrappedReceiver, final MethodHandle wrapFilter,
                                                     final MethodHandle protoFilter) {
-        // lookupPrimitive is only ever invoked from NashornPrimitiveLinker,
-        // which is a linker private to Nashorn, therefore the call site
-        // descriptor class will always be NashornCallSiteDescriptor.
-        final NashornCallSiteDescriptor desc = (NashornCallSiteDescriptor)request.getCallSiteDescriptor();
-        final String name = desc.getOperand();
+        final CallSiteDescriptor desc = request.getCallSiteDescriptor();
+        final String name = NashornCallSiteDescriptor.getOperand(desc);
         final FindProperty find = name != null ? wrappedReceiver.findProperty(name, true) : null;
 
-        switch (desc.getFirstOperation()) {
+        switch (NashornCallSiteDescriptor.getFirstStandardOperation(desc)) {
         case GET_PROPERTY:
         case GET_ELEMENT:
         case GET_METHOD: