All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.oracle.graal.python.nodes.object.IsNodeGen Maven / Gradle / Ivy

There is a newer version: 24.1.1
Show newest version
// CheckStyle: start generated
package com.oracle.graal.python.nodes.object;

import com.oracle.graal.python.builtins.PythonBuiltinClassType;
import com.oracle.graal.python.builtins.objects.PNone;
import com.oracle.graal.python.builtins.objects.cext.PythonAbstractNativeObject;
import com.oracle.graal.python.builtins.objects.cext.capi.CExtNodes.PointerCompareNode;
import com.oracle.graal.python.builtins.objects.cext.capi.CExtNodesFactory.PointerCompareNodeGen;
import com.oracle.graal.python.builtins.objects.code.PCode;
import com.oracle.graal.python.builtins.objects.code.CodeNodes.GetCodeCallTargetNode;
import com.oracle.graal.python.builtins.objects.code.CodeNodesFactory.GetCodeCallTargetNodeGen;
import com.oracle.graal.python.builtins.objects.ints.PInt;
import com.oracle.graal.python.builtins.objects.str.PString;
import com.oracle.graal.python.builtins.objects.str.StringNodes.IsInternedStringNode;
import com.oracle.graal.python.builtins.objects.str.StringNodes.StringMaterializeNode;
import com.oracle.graal.python.builtins.objects.str.StringNodesFactory.IsInternedStringNodeGen;
import com.oracle.graal.python.builtins.objects.str.StringNodesFactory.StringMaterializeNodeGen;
import com.oracle.graal.python.builtins.objects.type.PythonBuiltinClass;
import com.oracle.graal.python.nodes.object.BuiltinClassProfiles.IsAnyBuiltinObjectProfile;
import com.oracle.graal.python.nodes.object.BuiltinClassProfilesFactory.IsAnyBuiltinObjectProfileNodeGen;
import com.oracle.truffle.api.CompilerDirectives;
import com.oracle.truffle.api.CompilerDirectives.CompilationFinal;
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
import com.oracle.truffle.api.dsl.GeneratedBy;
import com.oracle.truffle.api.dsl.NeverDefault;
import com.oracle.truffle.api.dsl.DSLSupport.SpecializationDataNode;
import com.oracle.truffle.api.dsl.InlineSupport.InlineTarget;
import com.oracle.truffle.api.dsl.InlineSupport.ReferenceField;
import com.oracle.truffle.api.dsl.InlineSupport.StateField;
import com.oracle.truffle.api.dsl.InlineSupport.UnsafeAccessedField;
import com.oracle.truffle.api.interop.InteropLibrary;
import com.oracle.truffle.api.library.LibraryFactory;
import com.oracle.truffle.api.nodes.DenyReplace;
import com.oracle.truffle.api.nodes.Node;
import com.oracle.truffle.api.nodes.NodeCost;
import com.oracle.truffle.api.strings.TruffleString.EqualNode;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.VarHandle;
import java.lang.invoke.MethodHandles.Lookup;
import java.util.Objects;

/**
 * Debug Info: 
 *   Specialization {@link IsNode#doBB}
 *     Activation probability: 0.09071
 *     With/without class size: 5/0 bytes
 *   Specialization {@link IsNode#doBP}
 *     Activation probability: 0.08643
 *     With/without class size: 5/0 bytes
 *   Specialization {@link IsNode#doII}
 *     Activation probability: 0.08214
 *     With/without class size: 4/0 bytes
 *   Specialization {@link IsNode#doIL}
 *     Activation probability: 0.07786
 *     With/without class size: 4/0 bytes
 *   Specialization {@link IsNode#doIP}
 *     Activation probability: 0.07357
 *     With/without class size: 5/0 bytes
 *   Specialization {@link IsNode#doLI}
 *     Activation probability: 0.06929
 *     With/without class size: 4/0 bytes
 *   Specialization {@link IsNode#doLL}
 *     Activation probability: 0.06500
 *     With/without class size: 4/0 bytes
 *   Specialization {@link IsNode#doLP}
 *     Activation probability: 0.06071
 *     With/without class size: 4/0 bytes
 *   Specialization {@link IsNode#doDD}
 *     Activation probability: 0.05643
 *     With/without class size: 4/0 bytes
 *   Specialization {@link IsNode#doPB}
 *     Activation probability: 0.05214
 *     With/without class size: 4/0 bytes
 *   Specialization {@link IsNode#doPI}
 *     Activation probability: 0.04786
 *     With/without class size: 4/0 bytes
 *   Specialization {@link IsNode#doPL}
 *     Activation probability: 0.04357
 *     With/without class size: 4/0 bytes
 *   Specialization {@link IsNode#doCT}
 *     Activation probability: 0.03929
 *     With/without class size: 4/0 bytes
 *   Specialization {@link IsNode#doTC}
 *     Activation probability: 0.03500
 *     With/without class size: 4/0 bytes
 *   Specialization {@link IsNode#doNative}
 *     Activation probability: 0.03071
 *     With/without class size: 4/4 bytes
 *   Specialization {@link IsNode#doCode}
 *     Activation probability: 0.02643
 *     With/without class size: 4/5 bytes
 *   Specialization {@link IsNode#doObjectPNone}
 *     Activation probability: 0.02214
 *     With/without class size: 4/0 bytes
 *   Specialization {@link IsNode#doPNoneObject}
 *     Activation probability: 0.01786
 *     With/without class size: 4/0 bytes
 *   Specialization {@link IsNode#doPString}
 *     Activation probability: 0.01357
 *     With/without class size: 4/17 bytes
 *   Specialization {@link IsNode#doOther}
 *     Activation probability: 0.00929
 *     With/without class size: 4/5 bytes
 * 
*/ @GeneratedBy(IsNode.class) @SuppressWarnings("javadoc") public final class IsNodeGen extends IsNode { private static final StateField STATE_1_UPDATER = StateField.create(MethodHandles.lookup(), "state_1_"); private static final StateField CODE__IS_NODE_CODE_STATE_0_UPDATER = StateField.create(CodeData.lookup_(), "code_state_0_"); private static final StateField P_STRING__IS_NODE_P_STRING_STATE_0_UPDATER = StateField.create(PStringData.lookup_(), "pString_state_0_"); private static final StateField FALLBACK__IS_NODE_FALLBACK_STATE_0_UPDATER = StateField.create(FallbackData.lookup_(), "fallback_state_0_"); /** * Source Info:
     *   Specialization: {@link IsNode#doIP}
     *   Parameter: {@link IsAnyBuiltinObjectProfile} isBuiltin
     *   Inline method: {@link IsAnyBuiltinObjectProfileNodeGen#inline}
*/ private static final IsAnyBuiltinObjectProfile INLINED_IS_BUILTIN = IsAnyBuiltinObjectProfileNodeGen.inline(InlineTarget.create(IsAnyBuiltinObjectProfile.class, STATE_1_UPDATER.subUpdater(0, 20), ReferenceField.create(MethodHandles.lookup(), "isBuiltin_field1_", Node.class))); /** * Source Info:
     *   Specialization: {@link IsNode#doCode}
     *   Parameter: {@link GetCodeCallTargetNode} getCt
     *   Inline method: {@link GetCodeCallTargetNodeGen#inline}
*/ private static final GetCodeCallTargetNode INLINED_CODE_GET_CT_ = GetCodeCallTargetNodeGen.inline(InlineTarget.create(GetCodeCallTargetNode.class, CODE__IS_NODE_CODE_STATE_0_UPDATER.subUpdater(0, 4), ReferenceField.create(CodeData.lookup_(), "code_getCt__field1_", Object.class))); /** * Source Info:
     *   Specialization: {@link IsNode#doPString}
     *   Parameter: {@link StringMaterializeNode} materializeNode
     *   Inline method: {@link StringMaterializeNodeGen#inline}
*/ private static final StringMaterializeNode INLINED_P_STRING_MATERIALIZE_NODE_ = StringMaterializeNodeGen.inline(InlineTarget.create(StringMaterializeNode.class, P_STRING__IS_NODE_P_STRING_STATE_0_UPDATER.subUpdater(0, 3), ReferenceField.create(PStringData.lookup_(), "pString_materializeNode__field1_", Node.class), ReferenceField.create(PStringData.lookup_(), "pString_materializeNode__field2_", Node.class))); /** * Source Info:
     *   Specialization: {@link IsNode#doPString}
     *   Parameter: {@link IsInternedStringNode} isInternedStringNode
     *   Inline method: {@link IsInternedStringNodeGen#inline}
*/ private static final IsInternedStringNode INLINED_P_STRING_IS_INTERNED_STRING_NODE_ = IsInternedStringNodeGen.inline(InlineTarget.create(IsInternedStringNode.class, P_STRING__IS_NODE_P_STRING_STATE_0_UPDATER.subUpdater(3, 1), ReferenceField.create(PStringData.lookup_(), "pString_isInternedStringNode__field1_", Node.class))); /** * Source Info:
     *   Specialization: {@link IsNode#doOther}
     *   Parameter: {@link IsForeignObjectNode} isForeignObjectNode
     *   Inline method: {@link IsForeignObjectNodeGen#inline}
*/ private static final IsForeignObjectNode INLINED_FALLBACK_IS_FOREIGN_OBJECT_NODE_ = IsForeignObjectNodeGen.inline(InlineTarget.create(IsForeignObjectNode.class, FALLBACK__IS_NODE_FALLBACK_STATE_0_UPDATER.subUpdater(0, 8))); private static final Uncached UNCACHED = new Uncached(); private static final LibraryFactory INTEROP_LIBRARY_ = LibraryFactory.resolve(InteropLibrary.class); /** * State Info:
     *   0: SpecializationActive {@link IsNode#doBB}
     *   1: SpecializationActive {@link IsNode#doBP}
     *   2: SpecializationActive {@link IsNode#doII}
     *   3: SpecializationActive {@link IsNode#doIL}
     *   4: SpecializationActive {@link IsNode#doIP}
     *   5: SpecializationActive {@link IsNode#doLI}
     *   6: SpecializationActive {@link IsNode#doLL}
     *   7: SpecializationActive {@link IsNode#doLP}
     *   8: SpecializationActive {@link IsNode#doDD}
     *   9: SpecializationActive {@link IsNode#doPB}
     *   10: SpecializationActive {@link IsNode#doPI}
     *   11: SpecializationActive {@link IsNode#doPL}
     *   12: SpecializationActive {@link IsNode#doCT}
     *   13: SpecializationActive {@link IsNode#doTC}
     *   14: SpecializationActive {@link IsNode#doNative}
     *   15: SpecializationActive {@link IsNode#doCode}
     *   16: SpecializationActive {@link IsNode#doObjectPNone}
     *   17: SpecializationActive {@link IsNode#doPNoneObject}
     *   18: SpecializationActive {@link IsNode#doPString}
     *   19: SpecializationActive {@link IsNode#doOther}
     * 
*/ @CompilationFinal private int state_0_; /** * State Info:
     *   0-19: InlinedCache
     *        Specialization: {@link IsNode#doIP}
     *        Parameter: {@link IsAnyBuiltinObjectProfile} isBuiltin
     *        Inline method: {@link IsAnyBuiltinObjectProfileNodeGen#inline}
     * 
*/ @CompilationFinal @UnsafeAccessedField private int state_1_; /** * Source Info:
     *   Specialization: {@link IsNode#doIP}
     *   Parameter: {@link IsAnyBuiltinObjectProfile} isBuiltin
     *   Inline method: {@link IsAnyBuiltinObjectProfileNodeGen#inline}
     *   Inline field: {@link Node} field1
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node isBuiltin_field1_; /** * Source Info:
     *   Specialization: {@link IsNode#doNative}
     *   Parameter: {@link PointerCompareNode} isNode
*/ @Child private PointerCompareNode native_isNode_; @Child private CodeData code_cache; @Child private PStringData pString_cache; @Child private FallbackData fallback_cache; private IsNodeGen() { } @SuppressWarnings("static-method") private boolean fallbackGuard_(int state_0, Object arg0Value, Object arg1Value) { if (arg0Value instanceof Boolean) { if (!((state_0 & 0b1) != 0 /* is SpecializationActive[IsNode.doBB(boolean, boolean)] */) && arg1Value instanceof Boolean) { return false; } if (!((state_0 & 0b10) != 0 /* is SpecializationActive[IsNode.doBP(boolean, PInt)] */) && arg1Value instanceof PInt) { return false; } } if (arg0Value instanceof Integer) { if (!((state_0 & 0b100) != 0 /* is SpecializationActive[IsNode.doII(int, int)] */) && arg1Value instanceof Integer) { return false; } if (!((state_0 & 0b1000) != 0 /* is SpecializationActive[IsNode.doIL(int, long)] */) && arg1Value instanceof Long) { return false; } if (!((state_0 & 0b10000) != 0 /* is SpecializationActive[IsNode.doIP(int, PInt, Node, IsAnyBuiltinObjectProfile)] */) && arg1Value instanceof PInt) { return false; } } if (arg0Value instanceof Long) { if (!((state_0 & 0b100000) != 0 /* is SpecializationActive[IsNode.doLI(long, int)] */) && arg1Value instanceof Integer) { return false; } if (!((state_0 & 0b1000000) != 0 /* is SpecializationActive[IsNode.doLL(long, long)] */) && arg1Value instanceof Long) { return false; } if (!((state_0 & 0b10000000) != 0 /* is SpecializationActive[IsNode.doLP(long, PInt, Node, IsAnyBuiltinObjectProfile)] */) && arg1Value instanceof PInt) { return false; } } if (!((state_0 & 0b100000000) != 0 /* is SpecializationActive[IsNode.doDD(double, double)] */) && arg0Value instanceof Double && arg1Value instanceof Double) { return false; } if (arg0Value instanceof PInt) { if (!((state_0 & 0b1000000000) != 0 /* is SpecializationActive[IsNode.doPB(PInt, boolean)] */) && arg1Value instanceof Boolean) { return false; } if (!((state_0 & 0b10000000000) != 0 /* is SpecializationActive[IsNode.doPI(PInt, int, Node, IsAnyBuiltinObjectProfile)] */) && arg1Value instanceof Integer) { return false; } if (!((state_0 & 0b100000000000) != 0 /* is SpecializationActive[IsNode.doPL(PInt, long, Node, IsAnyBuiltinObjectProfile)] */) && arg1Value instanceof Long) { return false; } } if (!((state_0 & 0b1000000000000) != 0 /* is SpecializationActive[IsNode.doCT(PythonBuiltinClass, PythonBuiltinClassType)] */) && arg0Value instanceof PythonBuiltinClass && arg1Value instanceof PythonBuiltinClassType) { return false; } if (!((state_0 & 0b10000000000000) != 0 /* is SpecializationActive[IsNode.doTC(PythonBuiltinClassType, PythonBuiltinClass)] */) && arg0Value instanceof PythonBuiltinClassType && arg1Value instanceof PythonBuiltinClass) { return false; } if (!((state_0 & 0b100000000000000) != 0 /* is SpecializationActive[IsNode.doNative(PythonAbstractNativeObject, PythonAbstractNativeObject, PointerCompareNode)] */) && arg0Value instanceof PythonAbstractNativeObject && arg1Value instanceof PythonAbstractNativeObject) { return false; } if (!((state_0 & 0b1000000000000000) != 0 /* is SpecializationActive[IsNode.doCode(PCode, PCode, Node, GetCodeCallTargetNode)] */) && arg0Value instanceof PCode && arg1Value instanceof PCode) { return false; } if (!((state_0 & 0x10000) != 0 /* is SpecializationActive[IsNode.doObjectPNone(Object, PNone)] */) && arg1Value instanceof PNone) { return false; } if (!((state_0 & 0x20000) != 0 /* is SpecializationActive[IsNode.doPNoneObject(PNone, Object)] */) && arg0Value instanceof PNone) { return false; } if (!((state_0 & 0x40000) != 0 /* is SpecializationActive[IsNode.doPString(PString, PString, Node, StringMaterializeNode, IsInternedStringNode, EqualNode)] */) && arg0Value instanceof PString && arg1Value instanceof PString) { return false; } return true; } @Override protected boolean executeInternal(Object arg0Value, Object arg1Value) { int state_0 = this.state_0_; if (state_0 != 0 /* is SpecializationActive[IsNode.doBB(boolean, boolean)] || SpecializationActive[IsNode.doBP(boolean, PInt)] || SpecializationActive[IsNode.doII(int, int)] || SpecializationActive[IsNode.doIL(int, long)] || SpecializationActive[IsNode.doIP(int, PInt, Node, IsAnyBuiltinObjectProfile)] || SpecializationActive[IsNode.doLI(long, int)] || SpecializationActive[IsNode.doLL(long, long)] || SpecializationActive[IsNode.doLP(long, PInt, Node, IsAnyBuiltinObjectProfile)] || SpecializationActive[IsNode.doDD(double, double)] || SpecializationActive[IsNode.doPB(PInt, boolean)] || SpecializationActive[IsNode.doPI(PInt, int, Node, IsAnyBuiltinObjectProfile)] || SpecializationActive[IsNode.doPL(PInt, long, Node, IsAnyBuiltinObjectProfile)] || SpecializationActive[IsNode.doCT(PythonBuiltinClass, PythonBuiltinClassType)] || SpecializationActive[IsNode.doTC(PythonBuiltinClassType, PythonBuiltinClass)] || SpecializationActive[IsNode.doNative(PythonAbstractNativeObject, PythonAbstractNativeObject, PointerCompareNode)] || SpecializationActive[IsNode.doCode(PCode, PCode, Node, GetCodeCallTargetNode)] || SpecializationActive[IsNode.doObjectPNone(Object, PNone)] || SpecializationActive[IsNode.doPNoneObject(PNone, Object)] || SpecializationActive[IsNode.doPString(PString, PString, Node, StringMaterializeNode, IsInternedStringNode, EqualNode)] || SpecializationActive[IsNode.doOther(Object, Object, Node, IsForeignObjectNode, InteropLibrary)] */) { if ((state_0 & 0b11) != 0 /* is SpecializationActive[IsNode.doBB(boolean, boolean)] || SpecializationActive[IsNode.doBP(boolean, PInt)] */ && arg0Value instanceof Boolean) { boolean arg0Value_ = (boolean) arg0Value; if ((state_0 & 0b1) != 0 /* is SpecializationActive[IsNode.doBB(boolean, boolean)] */ && arg1Value instanceof Boolean) { boolean arg1Value_ = (boolean) arg1Value; return IsNode.doBB(arg0Value_, arg1Value_); } if ((state_0 & 0b10) != 0 /* is SpecializationActive[IsNode.doBP(boolean, PInt)] */ && arg1Value instanceof PInt) { PInt arg1Value_ = (PInt) arg1Value; return doBP(arg0Value_, arg1Value_); } } if ((state_0 & 0b11100) != 0 /* is SpecializationActive[IsNode.doII(int, int)] || SpecializationActive[IsNode.doIL(int, long)] || SpecializationActive[IsNode.doIP(int, PInt, Node, IsAnyBuiltinObjectProfile)] */ && arg0Value instanceof Integer) { int arg0Value_ = (int) arg0Value; if ((state_0 & 0b100) != 0 /* is SpecializationActive[IsNode.doII(int, int)] */ && arg1Value instanceof Integer) { int arg1Value_ = (int) arg1Value; return IsNode.doII(arg0Value_, arg1Value_); } if ((state_0 & 0b1000) != 0 /* is SpecializationActive[IsNode.doIL(int, long)] */ && arg1Value instanceof Long) { long arg1Value_ = (long) arg1Value; return IsNode.doIL(arg0Value_, arg1Value_); } if ((state_0 & 0b10000) != 0 /* is SpecializationActive[IsNode.doIP(int, PInt, Node, IsAnyBuiltinObjectProfile)] */ && arg1Value instanceof PInt) { PInt arg1Value_ = (PInt) arg1Value; { Node inliningTarget__ = (this); return IsNode.doIP(arg0Value_, arg1Value_, inliningTarget__, INLINED_IS_BUILTIN); } } } if ((state_0 & 0b11100000) != 0 /* is SpecializationActive[IsNode.doLI(long, int)] || SpecializationActive[IsNode.doLL(long, long)] || SpecializationActive[IsNode.doLP(long, PInt, Node, IsAnyBuiltinObjectProfile)] */ && arg0Value instanceof Long) { long arg0Value_ = (long) arg0Value; if ((state_0 & 0b100000) != 0 /* is SpecializationActive[IsNode.doLI(long, int)] */ && arg1Value instanceof Integer) { int arg1Value_ = (int) arg1Value; return IsNode.doLI(arg0Value_, arg1Value_); } if ((state_0 & 0b1000000) != 0 /* is SpecializationActive[IsNode.doLL(long, long)] */ && arg1Value instanceof Long) { long arg1Value_ = (long) arg1Value; return IsNode.doLL(arg0Value_, arg1Value_); } if ((state_0 & 0b10000000) != 0 /* is SpecializationActive[IsNode.doLP(long, PInt, Node, IsAnyBuiltinObjectProfile)] */ && arg1Value instanceof PInt) { PInt arg1Value_ = (PInt) arg1Value; { Node inliningTarget__1 = (this); return IsNode.doLP(arg0Value_, arg1Value_, inliningTarget__1, INLINED_IS_BUILTIN); } } } if ((state_0 & 0b100000000) != 0 /* is SpecializationActive[IsNode.doDD(double, double)] */ && arg0Value instanceof Double) { double arg0Value_ = (double) arg0Value; if (arg1Value instanceof Double) { double arg1Value_ = (double) arg1Value; return IsNode.doDD(arg0Value_, arg1Value_); } } if ((state_0 & 0b111000000000) != 0 /* is SpecializationActive[IsNode.doPB(PInt, boolean)] || SpecializationActive[IsNode.doPI(PInt, int, Node, IsAnyBuiltinObjectProfile)] || SpecializationActive[IsNode.doPL(PInt, long, Node, IsAnyBuiltinObjectProfile)] */ && arg0Value instanceof PInt) { PInt arg0Value_ = (PInt) arg0Value; if ((state_0 & 0b1000000000) != 0 /* is SpecializationActive[IsNode.doPB(PInt, boolean)] */ && arg1Value instanceof Boolean) { boolean arg1Value_ = (boolean) arg1Value; return doPB(arg0Value_, arg1Value_); } if ((state_0 & 0b10000000000) != 0 /* is SpecializationActive[IsNode.doPI(PInt, int, Node, IsAnyBuiltinObjectProfile)] */ && arg1Value instanceof Integer) { int arg1Value_ = (int) arg1Value; { Node inliningTarget__2 = (this); return IsNode.doPI(arg0Value_, arg1Value_, inliningTarget__2, INLINED_IS_BUILTIN); } } if ((state_0 & 0b100000000000) != 0 /* is SpecializationActive[IsNode.doPL(PInt, long, Node, IsAnyBuiltinObjectProfile)] */ && arg1Value instanceof Long) { long arg1Value_ = (long) arg1Value; { Node inliningTarget__3 = (this); return IsNode.doPL(arg0Value_, arg1Value_, inliningTarget__3, INLINED_IS_BUILTIN); } } } if ((state_0 & 0b1000000000000) != 0 /* is SpecializationActive[IsNode.doCT(PythonBuiltinClass, PythonBuiltinClassType)] */ && arg0Value instanceof PythonBuiltinClass) { PythonBuiltinClass arg0Value_ = (PythonBuiltinClass) arg0Value; if (arg1Value instanceof PythonBuiltinClassType) { PythonBuiltinClassType arg1Value_ = (PythonBuiltinClassType) arg1Value; return IsNode.doCT(arg0Value_, arg1Value_); } } if ((state_0 & 0b10000000000000) != 0 /* is SpecializationActive[IsNode.doTC(PythonBuiltinClassType, PythonBuiltinClass)] */ && arg0Value instanceof PythonBuiltinClassType) { PythonBuiltinClassType arg0Value_ = (PythonBuiltinClassType) arg0Value; if (arg1Value instanceof PythonBuiltinClass) { PythonBuiltinClass arg1Value_ = (PythonBuiltinClass) arg1Value; return IsNode.doTC(arg0Value_, arg1Value_); } } if ((state_0 & 0b100000000000000) != 0 /* is SpecializationActive[IsNode.doNative(PythonAbstractNativeObject, PythonAbstractNativeObject, PointerCompareNode)] */ && arg0Value instanceof PythonAbstractNativeObject) { PythonAbstractNativeObject arg0Value_ = (PythonAbstractNativeObject) arg0Value; if (arg1Value instanceof PythonAbstractNativeObject) { PythonAbstractNativeObject arg1Value_ = (PythonAbstractNativeObject) arg1Value; { PointerCompareNode isNode__ = this.native_isNode_; if (isNode__ != null) { return IsNode.doNative(arg0Value_, arg1Value_, isNode__); } } } } if ((state_0 & 0b1000000000000000) != 0 /* is SpecializationActive[IsNode.doCode(PCode, PCode, Node, GetCodeCallTargetNode)] */ && arg0Value instanceof PCode) { PCode arg0Value_ = (PCode) arg0Value; if (arg1Value instanceof PCode) { PCode arg1Value_ = (PCode) arg1Value; CodeData s15_ = this.code_cache; if (s15_ != null) { { Node inliningTarget__4 = (s15_); return IsNode.doCode(arg0Value_, arg1Value_, inliningTarget__4, INLINED_CODE_GET_CT_); } } } } if ((state_0 & 0x10000) != 0 /* is SpecializationActive[IsNode.doObjectPNone(Object, PNone)] */ && arg1Value instanceof PNone) { PNone arg1Value_ = (PNone) arg1Value; return doObjectPNone(arg0Value, arg1Value_); } if ((state_0 & 0x20000) != 0 /* is SpecializationActive[IsNode.doPNoneObject(PNone, Object)] */ && arg0Value instanceof PNone) { PNone arg0Value_ = (PNone) arg0Value; return doPNoneObject(arg0Value_, arg1Value); } if ((state_0 & 0x40000) != 0 /* is SpecializationActive[IsNode.doPString(PString, PString, Node, StringMaterializeNode, IsInternedStringNode, EqualNode)] */ && arg0Value instanceof PString) { PString arg0Value_ = (PString) arg0Value; if (arg1Value instanceof PString) { PString arg1Value_ = (PString) arg1Value; PStringData s18_ = this.pString_cache; if (s18_ != null) { { Node inliningTarget__5 = (s18_); return IsNode.doPString(arg0Value_, arg1Value_, inliningTarget__5, INLINED_P_STRING_MATERIALIZE_NODE_, INLINED_P_STRING_IS_INTERNED_STRING_NODE_, s18_.equalNode_); } } } } if ((state_0 & 0x80000) != 0 /* is SpecializationActive[IsNode.doOther(Object, Object, Node, IsForeignObjectNode, InteropLibrary)] */) { FallbackData s19_ = this.fallback_cache; if (s19_ != null) { { Node inliningTarget__6 = (s19_); if (fallbackGuard_(state_0, arg0Value, arg1Value)) { return IsNode.doOther(arg0Value, arg1Value, inliningTarget__6, INLINED_FALLBACK_IS_FOREIGN_OBJECT_NODE_, s19_.lib_); } } } } } CompilerDirectives.transferToInterpreterAndInvalidate(); return executeAndSpecialize(arg0Value, arg1Value); } @Override protected boolean executeInternal(boolean arg0Value, Object arg1Value) { int state_0 = this.state_0_; if ((state_0 & 0x90003) != 0 /* is SpecializationActive[IsNode.doBB(boolean, boolean)] || SpecializationActive[IsNode.doBP(boolean, PInt)] || SpecializationActive[IsNode.doObjectPNone(Object, PNone)] || SpecializationActive[IsNode.doOther(Object, Object, Node, IsForeignObjectNode, InteropLibrary)] */) { if ((state_0 & 0b11) != 0 /* is SpecializationActive[IsNode.doBB(boolean, boolean)] || SpecializationActive[IsNode.doBP(boolean, PInt)] */) { if ((state_0 & 0b1) != 0 /* is SpecializationActive[IsNode.doBB(boolean, boolean)] */ && arg1Value instanceof Boolean) { boolean arg1Value_ = (boolean) arg1Value; return IsNode.doBB(arg0Value, arg1Value_); } if ((state_0 & 0b10) != 0 /* is SpecializationActive[IsNode.doBP(boolean, PInt)] */ && arg1Value instanceof PInt) { PInt arg1Value_ = (PInt) arg1Value; return doBP(arg0Value, arg1Value_); } } if ((state_0 & 0x90000) != 0 /* is SpecializationActive[IsNode.doObjectPNone(Object, PNone)] || SpecializationActive[IsNode.doOther(Object, Object, Node, IsForeignObjectNode, InteropLibrary)] */) { if ((state_0 & 0x10000) != 0 /* is SpecializationActive[IsNode.doObjectPNone(Object, PNone)] */ && arg1Value instanceof PNone) { PNone arg1Value_ = (PNone) arg1Value; return doObjectPNone(arg0Value, arg1Value_); } if ((state_0 & 0x80000) != 0 /* is SpecializationActive[IsNode.doOther(Object, Object, Node, IsForeignObjectNode, InteropLibrary)] */) { FallbackData s19_ = this.fallback_cache; if (s19_ != null) { { Node inliningTarget__6 = (s19_); if (fallbackGuard_(state_0, arg0Value, arg1Value)) { return IsNode.doOther(arg0Value, arg1Value, inliningTarget__6, INLINED_FALLBACK_IS_FOREIGN_OBJECT_NODE_, s19_.lib_); } } } } } } CompilerDirectives.transferToInterpreterAndInvalidate(); return executeAndSpecialize(arg0Value, arg1Value); } private boolean executeAndSpecialize(Object arg0Value, Object arg1Value) { int state_0 = this.state_0_; if (arg0Value instanceof Boolean) { boolean arg0Value_ = (boolean) arg0Value; if (arg1Value instanceof Boolean) { boolean arg1Value_ = (boolean) arg1Value; state_0 = state_0 | 0b1 /* add SpecializationActive[IsNode.doBB(boolean, boolean)] */; this.state_0_ = state_0; return IsNode.doBB(arg0Value_, arg1Value_); } if (arg1Value instanceof PInt) { PInt arg1Value_ = (PInt) arg1Value; state_0 = state_0 | 0b10 /* add SpecializationActive[IsNode.doBP(boolean, PInt)] */; this.state_0_ = state_0; return doBP(arg0Value_, arg1Value_); } } if (arg0Value instanceof Integer) { int arg0Value_ = (int) arg0Value; if (arg1Value instanceof Integer) { int arg1Value_ = (int) arg1Value; state_0 = state_0 | 0b100 /* add SpecializationActive[IsNode.doII(int, int)] */; this.state_0_ = state_0; return IsNode.doII(arg0Value_, arg1Value_); } if (arg1Value instanceof Long) { long arg1Value_ = (long) arg1Value; state_0 = state_0 | 0b1000 /* add SpecializationActive[IsNode.doIL(int, long)] */; this.state_0_ = state_0; return IsNode.doIL(arg0Value_, arg1Value_); } { Node inliningTarget__ = null; if (arg1Value instanceof PInt) { PInt arg1Value_ = (PInt) arg1Value; inliningTarget__ = (this); state_0 = state_0 | 0b10000 /* add SpecializationActive[IsNode.doIP(int, PInt, Node, IsAnyBuiltinObjectProfile)] */; this.state_0_ = state_0; return IsNode.doIP(arg0Value_, arg1Value_, inliningTarget__, INLINED_IS_BUILTIN); } } } if (arg0Value instanceof Long) { long arg0Value_ = (long) arg0Value; if (arg1Value instanceof Integer) { int arg1Value_ = (int) arg1Value; state_0 = state_0 | 0b100000 /* add SpecializationActive[IsNode.doLI(long, int)] */; this.state_0_ = state_0; return IsNode.doLI(arg0Value_, arg1Value_); } if (arg1Value instanceof Long) { long arg1Value_ = (long) arg1Value; state_0 = state_0 | 0b1000000 /* add SpecializationActive[IsNode.doLL(long, long)] */; this.state_0_ = state_0; return IsNode.doLL(arg0Value_, arg1Value_); } { Node inliningTarget__1 = null; if (arg1Value instanceof PInt) { PInt arg1Value_ = (PInt) arg1Value; inliningTarget__1 = (this); state_0 = state_0 | 0b10000000 /* add SpecializationActive[IsNode.doLP(long, PInt, Node, IsAnyBuiltinObjectProfile)] */; this.state_0_ = state_0; return IsNode.doLP(arg0Value_, arg1Value_, inliningTarget__1, INLINED_IS_BUILTIN); } } } if (arg0Value instanceof Double) { double arg0Value_ = (double) arg0Value; if (arg1Value instanceof Double) { double arg1Value_ = (double) arg1Value; state_0 = state_0 | 0b100000000 /* add SpecializationActive[IsNode.doDD(double, double)] */; this.state_0_ = state_0; return IsNode.doDD(arg0Value_, arg1Value_); } } if (arg0Value instanceof PInt) { PInt arg0Value_ = (PInt) arg0Value; if (arg1Value instanceof Boolean) { boolean arg1Value_ = (boolean) arg1Value; state_0 = state_0 | 0b1000000000 /* add SpecializationActive[IsNode.doPB(PInt, boolean)] */; this.state_0_ = state_0; return doPB(arg0Value_, arg1Value_); } { Node inliningTarget__2 = null; if (arg1Value instanceof Integer) { int arg1Value_ = (int) arg1Value; inliningTarget__2 = (this); state_0 = state_0 | 0b10000000000 /* add SpecializationActive[IsNode.doPI(PInt, int, Node, IsAnyBuiltinObjectProfile)] */; this.state_0_ = state_0; return IsNode.doPI(arg0Value_, arg1Value_, inliningTarget__2, INLINED_IS_BUILTIN); } } { Node inliningTarget__3 = null; if (arg1Value instanceof Long) { long arg1Value_ = (long) arg1Value; inliningTarget__3 = (this); state_0 = state_0 | 0b100000000000 /* add SpecializationActive[IsNode.doPL(PInt, long, Node, IsAnyBuiltinObjectProfile)] */; this.state_0_ = state_0; return IsNode.doPL(arg0Value_, arg1Value_, inliningTarget__3, INLINED_IS_BUILTIN); } } } if (arg0Value instanceof PythonBuiltinClass) { PythonBuiltinClass arg0Value_ = (PythonBuiltinClass) arg0Value; if (arg1Value instanceof PythonBuiltinClassType) { PythonBuiltinClassType arg1Value_ = (PythonBuiltinClassType) arg1Value; state_0 = state_0 | 0b1000000000000 /* add SpecializationActive[IsNode.doCT(PythonBuiltinClass, PythonBuiltinClassType)] */; this.state_0_ = state_0; return IsNode.doCT(arg0Value_, arg1Value_); } } if (arg0Value instanceof PythonBuiltinClassType) { PythonBuiltinClassType arg0Value_ = (PythonBuiltinClassType) arg0Value; if (arg1Value instanceof PythonBuiltinClass) { PythonBuiltinClass arg1Value_ = (PythonBuiltinClass) arg1Value; state_0 = state_0 | 0b10000000000000 /* add SpecializationActive[IsNode.doTC(PythonBuiltinClassType, PythonBuiltinClass)] */; this.state_0_ = state_0; return IsNode.doTC(arg0Value_, arg1Value_); } } if (arg0Value instanceof PythonAbstractNativeObject) { PythonAbstractNativeObject arg0Value_ = (PythonAbstractNativeObject) arg0Value; if (arg1Value instanceof PythonAbstractNativeObject) { PythonAbstractNativeObject arg1Value_ = (PythonAbstractNativeObject) arg1Value; PointerCompareNode isNode__ = this.insert((PointerCompareNodeGen.create())); Objects.requireNonNull(isNode__, "Specialization 'doNative(PythonAbstractNativeObject, PythonAbstractNativeObject, PointerCompareNode)' cache 'isNode' returned a 'null' default value. The cache initializer must never return a default value for this cache. Use @Cached(neverDefault=false) to allow default values for this cached value or make sure the cache initializer never returns 'null'."); VarHandle.storeStoreFence(); this.native_isNode_ = isNode__; state_0 = state_0 | 0b100000000000000 /* add SpecializationActive[IsNode.doNative(PythonAbstractNativeObject, PythonAbstractNativeObject, PointerCompareNode)] */; this.state_0_ = state_0; return IsNode.doNative(arg0Value_, arg1Value_, isNode__); } } { Node inliningTarget__4 = null; if (arg0Value instanceof PCode) { PCode arg0Value_ = (PCode) arg0Value; if (arg1Value instanceof PCode) { PCode arg1Value_ = (PCode) arg1Value; CodeData s15_ = this.insert(new CodeData()); inliningTarget__4 = (s15_); VarHandle.storeStoreFence(); this.code_cache = s15_; state_0 = state_0 | 0b1000000000000000 /* add SpecializationActive[IsNode.doCode(PCode, PCode, Node, GetCodeCallTargetNode)] */; this.state_0_ = state_0; return IsNode.doCode(arg0Value_, arg1Value_, inliningTarget__4, INLINED_CODE_GET_CT_); } } } if (arg1Value instanceof PNone) { PNone arg1Value_ = (PNone) arg1Value; state_0 = state_0 | 0x10000 /* add SpecializationActive[IsNode.doObjectPNone(Object, PNone)] */; this.state_0_ = state_0; return doObjectPNone(arg0Value, arg1Value_); } if (arg0Value instanceof PNone) { PNone arg0Value_ = (PNone) arg0Value; state_0 = state_0 | 0x20000 /* add SpecializationActive[IsNode.doPNoneObject(PNone, Object)] */; this.state_0_ = state_0; return doPNoneObject(arg0Value_, arg1Value); } { Node inliningTarget__5 = null; if (arg0Value instanceof PString) { PString arg0Value_ = (PString) arg0Value; if (arg1Value instanceof PString) { PString arg1Value_ = (PString) arg1Value; PStringData s18_ = this.insert(new PStringData()); inliningTarget__5 = (s18_); EqualNode equalNode__ = s18_.insert((EqualNode.create())); Objects.requireNonNull(equalNode__, "Specialization 'doPString(PString, PString, Node, StringMaterializeNode, IsInternedStringNode, EqualNode)' cache 'equalNode' returned a 'null' default value. The cache initializer must never return a default value for this cache. Use @Cached(neverDefault=false) to allow default values for this cached value or make sure the cache initializer never returns 'null'."); s18_.equalNode_ = equalNode__; VarHandle.storeStoreFence(); this.pString_cache = s18_; state_0 = state_0 | 0x40000 /* add SpecializationActive[IsNode.doPString(PString, PString, Node, StringMaterializeNode, IsInternedStringNode, EqualNode)] */; this.state_0_ = state_0; return IsNode.doPString(arg0Value_, arg1Value_, inliningTarget__5, INLINED_P_STRING_MATERIALIZE_NODE_, INLINED_P_STRING_IS_INTERNED_STRING_NODE_, equalNode__); } } } { Node inliningTarget__6 = null; FallbackData s19_ = this.insert(new FallbackData()); inliningTarget__6 = (s19_); InteropLibrary lib__ = s19_.insert((INTEROP_LIBRARY_.createDispatched(3))); Objects.requireNonNull(lib__, "Specialization 'doOther(Object, Object, Node, IsForeignObjectNode, InteropLibrary)' cache 'lib' returned a 'null' default value. The cache initializer must never return a default value for this cache. Use @Cached(neverDefault=false) to allow default values for this cached value or make sure the cache initializer never returns 'null'."); s19_.lib_ = lib__; VarHandle.storeStoreFence(); this.fallback_cache = s19_; state_0 = state_0 | 0x80000 /* add SpecializationActive[IsNode.doOther(Object, Object, Node, IsForeignObjectNode, InteropLibrary)] */; this.state_0_ = state_0; return IsNode.doOther(arg0Value, arg1Value, inliningTarget__6, INLINED_FALLBACK_IS_FOREIGN_OBJECT_NODE_, lib__); } } @Override public NodeCost getCost() { int state_0 = this.state_0_; if (state_0 == 0) { return NodeCost.UNINITIALIZED; } else { int counter = 0; counter += Integer.bitCount(state_0); if (counter == 1) { return NodeCost.MONOMORPHIC; } } return NodeCost.POLYMORPHIC; } @NeverDefault public static IsNode create() { return new IsNodeGen(); } @NeverDefault public static IsNode getUncached() { return IsNodeGen.UNCACHED; } @GeneratedBy(IsNode.class) @DenyReplace private static final class CodeData extends Node implements SpecializationDataNode { /** * State Info:
         *   0-3: InlinedCache
         *        Specialization: {@link IsNode#doCode}
         *        Parameter: {@link GetCodeCallTargetNode} getCt
         *        Inline method: {@link GetCodeCallTargetNodeGen#inline}
         * 
*/ @CompilationFinal @UnsafeAccessedField private int code_state_0_; /** * Source Info:
         *   Specialization: {@link IsNode#doCode}
         *   Parameter: {@link GetCodeCallTargetNode} getCt
         *   Inline method: {@link GetCodeCallTargetNodeGen#inline}
         *   Inline field: {@link Object} field1
*/ @CompilationFinal @UnsafeAccessedField @SuppressWarnings("unused") private Object code_getCt__field1_; CodeData() { } @Override public NodeCost getCost() { return NodeCost.NONE; } private static Lookup lookup_() { return MethodHandles.lookup(); } } @GeneratedBy(IsNode.class) @DenyReplace private static final class PStringData extends Node implements SpecializationDataNode { /** * State Info:
         *   0-2: InlinedCache
         *        Specialization: {@link IsNode#doPString}
         *        Parameter: {@link StringMaterializeNode} materializeNode
         *        Inline method: {@link StringMaterializeNodeGen#inline}
         *   3: InlinedCache
         *        Specialization: {@link IsNode#doPString}
         *        Parameter: {@link IsInternedStringNode} isInternedStringNode
         *        Inline method: {@link IsInternedStringNodeGen#inline}
         * 
*/ @CompilationFinal @UnsafeAccessedField private int pString_state_0_; /** * Source Info:
         *   Specialization: {@link IsNode#doPString}
         *   Parameter: {@link StringMaterializeNode} materializeNode
         *   Inline method: {@link StringMaterializeNodeGen#inline}
         *   Inline field: {@link Node} field1
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node pString_materializeNode__field1_; /** * Source Info:
         *   Specialization: {@link IsNode#doPString}
         *   Parameter: {@link StringMaterializeNode} materializeNode
         *   Inline method: {@link StringMaterializeNodeGen#inline}
         *   Inline field: {@link Node} field2
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node pString_materializeNode__field2_; /** * Source Info:
         *   Specialization: {@link IsNode#doPString}
         *   Parameter: {@link IsInternedStringNode} isInternedStringNode
         *   Inline method: {@link IsInternedStringNodeGen#inline}
         *   Inline field: {@link Node} field1
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node pString_isInternedStringNode__field1_; /** * Source Info:
         *   Specialization: {@link IsNode#doPString}
         *   Parameter: {@link EqualNode} equalNode
*/ @Child EqualNode equalNode_; PStringData() { } @Override public NodeCost getCost() { return NodeCost.NONE; } private static Lookup lookup_() { return MethodHandles.lookup(); } } @GeneratedBy(IsNode.class) @DenyReplace private static final class FallbackData extends Node implements SpecializationDataNode { /** * State Info:
         *   0-7: InlinedCache
         *        Specialization: {@link IsNode#doOther}
         *        Parameter: {@link IsForeignObjectNode} isForeignObjectNode
         *        Inline method: {@link IsForeignObjectNodeGen#inline}
         * 
*/ @CompilationFinal @UnsafeAccessedField private int fallback_state_0_; /** * Source Info:
         *   Specialization: {@link IsNode#doOther}
         *   Parameter: {@link InteropLibrary} lib
*/ @Child InteropLibrary lib_; FallbackData() { } @Override public NodeCost getCost() { return NodeCost.NONE; } private static Lookup lookup_() { return MethodHandles.lookup(); } } @GeneratedBy(IsNode.class) @DenyReplace private static final class Uncached extends IsNode { @TruffleBoundary @Override protected boolean executeInternal(Object arg0Value, Object arg1Value) { if (arg0Value instanceof Boolean) { boolean arg0Value_ = (boolean) arg0Value; if (arg1Value instanceof Boolean) { boolean arg1Value_ = (boolean) arg1Value; return IsNode.doBB(arg0Value_, arg1Value_); } if (arg1Value instanceof PInt) { PInt arg1Value_ = (PInt) arg1Value; return doBP(arg0Value_, arg1Value_); } } if (arg0Value instanceof Integer) { int arg0Value_ = (int) arg0Value; if (arg1Value instanceof Integer) { int arg1Value_ = (int) arg1Value; return IsNode.doII(arg0Value_, arg1Value_); } if (arg1Value instanceof Long) { long arg1Value_ = (long) arg1Value; return IsNode.doIL(arg0Value_, arg1Value_); } if (arg1Value instanceof PInt) { PInt arg1Value_ = (PInt) arg1Value; return IsNode.doIP(arg0Value_, arg1Value_, (this), (IsAnyBuiltinObjectProfileNodeGen.getUncached())); } } if (arg0Value instanceof Long) { long arg0Value_ = (long) arg0Value; if (arg1Value instanceof Integer) { int arg1Value_ = (int) arg1Value; return IsNode.doLI(arg0Value_, arg1Value_); } if (arg1Value instanceof Long) { long arg1Value_ = (long) arg1Value; return IsNode.doLL(arg0Value_, arg1Value_); } if (arg1Value instanceof PInt) { PInt arg1Value_ = (PInt) arg1Value; return IsNode.doLP(arg0Value_, arg1Value_, (this), (IsAnyBuiltinObjectProfileNodeGen.getUncached())); } } if (arg0Value instanceof Double) { double arg0Value_ = (double) arg0Value; if (arg1Value instanceof Double) { double arg1Value_ = (double) arg1Value; return IsNode.doDD(arg0Value_, arg1Value_); } } if (arg0Value instanceof PInt) { PInt arg0Value_ = (PInt) arg0Value; if (arg1Value instanceof Boolean) { boolean arg1Value_ = (boolean) arg1Value; return doPB(arg0Value_, arg1Value_); } if (arg1Value instanceof Integer) { int arg1Value_ = (int) arg1Value; return IsNode.doPI(arg0Value_, arg1Value_, (this), (IsAnyBuiltinObjectProfileNodeGen.getUncached())); } if (arg1Value instanceof Long) { long arg1Value_ = (long) arg1Value; return IsNode.doPL(arg0Value_, arg1Value_, (this), (IsAnyBuiltinObjectProfileNodeGen.getUncached())); } } if (arg0Value instanceof PythonBuiltinClass) { PythonBuiltinClass arg0Value_ = (PythonBuiltinClass) arg0Value; if (arg1Value instanceof PythonBuiltinClassType) { PythonBuiltinClassType arg1Value_ = (PythonBuiltinClassType) arg1Value; return IsNode.doCT(arg0Value_, arg1Value_); } } if (arg0Value instanceof PythonBuiltinClassType) { PythonBuiltinClassType arg0Value_ = (PythonBuiltinClassType) arg0Value; if (arg1Value instanceof PythonBuiltinClass) { PythonBuiltinClass arg1Value_ = (PythonBuiltinClass) arg1Value; return IsNode.doTC(arg0Value_, arg1Value_); } } if (arg0Value instanceof PythonAbstractNativeObject) { PythonAbstractNativeObject arg0Value_ = (PythonAbstractNativeObject) arg0Value; if (arg1Value instanceof PythonAbstractNativeObject) { PythonAbstractNativeObject arg1Value_ = (PythonAbstractNativeObject) arg1Value; return IsNode.doNative(arg0Value_, arg1Value_, (PointerCompareNodeGen.getUncached())); } } if (arg0Value instanceof PCode) { PCode arg0Value_ = (PCode) arg0Value; if (arg1Value instanceof PCode) { PCode arg1Value_ = (PCode) arg1Value; return IsNode.doCode(arg0Value_, arg1Value_, (this), (GetCodeCallTargetNodeGen.getUncached())); } } if (arg1Value instanceof PNone) { PNone arg1Value_ = (PNone) arg1Value; return doObjectPNone(arg0Value, arg1Value_); } if (arg0Value instanceof PNone) { PNone arg0Value_ = (PNone) arg0Value; return doPNoneObject(arg0Value_, arg1Value); } if (arg0Value instanceof PString) { PString arg0Value_ = (PString) arg0Value; if (arg1Value instanceof PString) { PString arg1Value_ = (PString) arg1Value; return IsNode.doPString(arg0Value_, arg1Value_, (this), (StringMaterializeNodeGen.getUncached()), (IsInternedStringNodeGen.getUncached()), (EqualNode.getUncached())); } } return IsNode.doOther(arg0Value, arg1Value, (this), (IsForeignObjectNodeGen.getUncached()), (INTEROP_LIBRARY_.getUncached())); } @TruffleBoundary @Override protected boolean executeInternal(boolean arg0Value, Object arg1Value) { if (arg1Value instanceof Boolean) { boolean arg1Value_ = (boolean) arg1Value; return IsNode.doBB(arg0Value, arg1Value_); } if (arg1Value instanceof PInt) { PInt arg1Value_ = (PInt) arg1Value; return doBP(arg0Value, arg1Value_); } if (arg1Value instanceof PNone) { PNone arg1Value_ = (PNone) arg1Value; return doObjectPNone(arg0Value, arg1Value_); } return IsNode.doOther(arg0Value, arg1Value, (this), (IsForeignObjectNodeGen.getUncached()), (INTEROP_LIBRARY_.getUncached())); } @Override public NodeCost getCost() { return NodeCost.MEGAMORPHIC; } @Override public boolean isAdoptable() { return false; } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy