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

com.oracle.graal.python.lib.PyObjectIsTrueNodeGen Maven / Gradle / Ivy

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

import com.oracle.graal.python.builtins.objects.PNone;
import com.oracle.graal.python.builtins.objects.common.HashingStorageNodes.HashingStorageLen;
import com.oracle.graal.python.builtins.objects.common.HashingStorageNodesFactory.HashingStorageLenNodeGen;
import com.oracle.graal.python.builtins.objects.dict.PDict;
import com.oracle.graal.python.builtins.objects.list.PList;
import com.oracle.graal.python.builtins.objects.set.PSet;
import com.oracle.graal.python.builtins.objects.tuple.PTuple;
import com.oracle.graal.python.builtins.objects.type.SpecialMethodSlot;
import com.oracle.graal.python.nodes.PGuards;
import com.oracle.graal.python.nodes.PRaiseNode.Lazy;
import com.oracle.graal.python.nodes.PRaiseNodeGen.LazyNodeGen;
import com.oracle.graal.python.nodes.call.special.CallUnaryMethodNode;
import com.oracle.graal.python.nodes.call.special.LookupSpecialMethodSlotNode;
import com.oracle.graal.python.nodes.object.GetClassNode;
import com.oracle.graal.python.nodes.object.GetClassNodeGen;
import com.oracle.graal.python.nodes.object.GetClassNode.GetPythonObjectClassNode;
import com.oracle.graal.python.nodes.object.GetClassNodeGen.GetPythonObjectClassNodeGen;
import com.oracle.graal.python.nodes.util.CastToJavaBooleanNode;
import com.oracle.graal.python.nodes.util.CastToJavaBooleanNodeGen;
import com.oracle.graal.python.nodes.util.CastToJavaIntLossyNode;
import com.oracle.graal.python.nodes.util.CastToJavaIntLossyNodeGen;
import com.oracle.truffle.api.CompilerDirectives;
import com.oracle.truffle.api.CompilerDirectives.CompilationFinal;
import com.oracle.truffle.api.dsl.GeneratedBy;
import com.oracle.truffle.api.dsl.NeverDefault;
import com.oracle.truffle.api.dsl.UnsupportedSpecializationException;
import com.oracle.truffle.api.dsl.InlineSupport.InlineTarget;
import com.oracle.truffle.api.dsl.InlineSupport.ReferenceField;
import com.oracle.truffle.api.dsl.InlineSupport.RequiredField;
import com.oracle.truffle.api.dsl.InlineSupport.StateField;
import com.oracle.truffle.api.dsl.InlineSupport.UnsafeAccessedField;
import com.oracle.truffle.api.frame.Frame;
import com.oracle.truffle.api.frame.VirtualFrame;
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.nodes.UnexpectedResultException;
import com.oracle.truffle.api.strings.TruffleString;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.VarHandle;
import java.util.Objects;

/**
 * Debug Info: 
 *   Specialization {@link PyObjectIsTrueNode#doBoolean}
 *     Activation probability: 0.15909
 *     With/without class size: 5/0 bytes
 *   Specialization {@link PyObjectIsTrueNode#doNone}
 *     Activation probability: 0.14545
 *     With/without class size: 5/0 bytes
 *   Specialization {@link PyObjectIsTrueNode#doInt}
 *     Activation probability: 0.13182
 *     With/without class size: 5/0 bytes
 *   Specialization {@link PyObjectIsTrueNode#doLong}
 *     Activation probability: 0.11818
 *     With/without class size: 5/0 bytes
 *   Specialization {@link PyObjectIsTrueNode#doDouble}
 *     Activation probability: 0.10455
 *     With/without class size: 5/0 bytes
 *   Specialization {@link PyObjectIsTrueNode#doString}
 *     Activation probability: 0.09091
 *     With/without class size: 5/0 bytes
 *   Specialization {@link PyObjectIsTrueNode#doList}
 *     Activation probability: 0.07727
 *     With/without class size: 5/0 bytes
 *   Specialization {@link PyObjectIsTrueNode#doTuple}
 *     Activation probability: 0.06364
 *     With/without class size: 5/0 bytes
 *   Specialization {@link PyObjectIsTrueNode#doDict}
 *     Activation probability: 0.05000
 *     With/without class size: 4/0 bytes
 *   Specialization {@link PyObjectIsTrueNode#doSet}
 *     Activation probability: 0.03636
 *     With/without class size: 4/0 bytes
 *   Specialization {@link PyObjectIsTrueNode#doOthers}
 *     Activation probability: 0.02273
 *     With/without class size: 4/4 bytes
 * 
*/ @GeneratedBy(PyObjectIsTrueNode.class) @SuppressWarnings({"javadoc", "unused"}) public final class PyObjectIsTrueNodeGen extends PyObjectIsTrueNode { private static final StateField STATE_1_UPDATER = StateField.create(MethodHandles.lookup(), "state_1_"); private static final StateField STATE_0_UPDATER = StateField.create(MethodHandles.lookup(), "state_0_"); /** * Source Info:
     *   Specialization: {@link PyObjectIsTrueNode#doList}
     *   Parameter: {@link GetPythonObjectClassNode} getClassNode
     *   Inline method: {@link GetPythonObjectClassNodeGen#inline}
*/ private static final GetPythonObjectClassNode INLINED_GET_OBJ_CLASS_NODE = GetPythonObjectClassNodeGen.inline(InlineTarget.create(GetPythonObjectClassNode.class, STATE_1_UPDATER.subUpdater(0, 4), ReferenceField.create(MethodHandles.lookup(), "getObjClassNode_field1_", Object.class), ReferenceField.create(MethodHandles.lookup(), "getObjClassNode_field2_", Node.class), ReferenceField.create(MethodHandles.lookup(), "getObjClassNode_field3_", Node.class))); /** * Source Info:
     *   Specialization: {@link PyObjectIsTrueNode#doDict}
     *   Parameter: {@link HashingStorageLen} lenNode
     *   Inline method: {@link HashingStorageLenNodeGen#inline}
*/ private static final HashingStorageLen INLINED_HASHING_STORAGE_LEN = HashingStorageLenNodeGen.inline(InlineTarget.create(HashingStorageLen.class, STATE_0_UPDATER.subUpdater(15, 4), ReferenceField.create(MethodHandles.lookup(), "hashingStorageLen_field1_", Node.class))); private static final Uncached UNCACHED = new Uncached(); /** * State Info:
     *   0: SpecializationActive {@link PyObjectIsTrueNode#doBoolean}
     *   1: SpecializationActive {@link PyObjectIsTrueNode#doNone}
     *   2: SpecializationActive {@link PyObjectIsTrueNode#doInt}
     *   3: SpecializationActive {@link PyObjectIsTrueNode#doLong}
     *   4: SpecializationActive {@link PyObjectIsTrueNode#doDouble}
     *   5: SpecializationActive {@link PyObjectIsTrueNode#doString}
     *   6: SpecializationActive {@link PyObjectIsTrueNode#doList}
     *   7: GuardActive[guardIndex=0] {@link PyObjectIsTrueNode#doList}
     *   8: SpecializationActive {@link PyObjectIsTrueNode#doTuple}
     *   9: GuardActive[guardIndex=0] {@link PyObjectIsTrueNode#doTuple}
     *   10: SpecializationActive {@link PyObjectIsTrueNode#doDict}
     *   11: GuardActive[guardIndex=0] {@link PyObjectIsTrueNode#doDict}
     *   12: SpecializationActive {@link PyObjectIsTrueNode#doSet}
     *   13: GuardActive[guardIndex=0] {@link PyObjectIsTrueNode#doSet}
     *   14: SpecializationActive {@link PyObjectIsTrueNode#doOthers}
     *   15-18: InlinedCache
     *        Specialization: {@link PyObjectIsTrueNode#doDict}
     *        Parameter: {@link HashingStorageLen} lenNode
     *        Inline method: {@link HashingStorageLenNodeGen#inline}
     * 
*/ @CompilationFinal @UnsafeAccessedField private int state_0_; /** * State Info:
     *   0-3: InlinedCache
     *        Specialization: {@link PyObjectIsTrueNode#doList}
     *        Parameter: {@link GetPythonObjectClassNode} getClassNode
     *        Inline method: {@link GetPythonObjectClassNodeGen#inline}
     * 
*/ @CompilationFinal @UnsafeAccessedField private int state_1_; /** * Source Info:
     *   Specialization: {@link PyObjectIsTrueNode#doList}
     *   Parameter: {@link GetPythonObjectClassNode} getClassNode
     *   Inline method: {@link GetPythonObjectClassNodeGen#inline}
     *   Inline field: {@link Object} field1
*/ @CompilationFinal @UnsafeAccessedField @SuppressWarnings("unused") private Object getObjClassNode_field1_; /** * Source Info:
     *   Specialization: {@link PyObjectIsTrueNode#doList}
     *   Parameter: {@link GetPythonObjectClassNode} getClassNode
     *   Inline method: {@link GetPythonObjectClassNodeGen#inline}
     *   Inline field: {@link Node} field2
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node getObjClassNode_field2_; /** * Source Info:
     *   Specialization: {@link PyObjectIsTrueNode#doList}
     *   Parameter: {@link GetPythonObjectClassNode} getClassNode
     *   Inline method: {@link GetPythonObjectClassNodeGen#inline}
     *   Inline field: {@link Node} field3
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node getObjClassNode_field3_; /** * Source Info:
     *   Specialization: {@link PyObjectIsTrueNode#doDict}
     *   Parameter: {@link HashingStorageLen} lenNode
     *   Inline method: {@link HashingStorageLenNodeGen#inline}
     *   Inline field: {@link Node} field1
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node hashingStorageLen_field1_; /** * Source Info:
     *   Specialization: {@link PyObjectIsTrueNode#doOthers}
     *   Parameter: {@link PyObjectIsTrueNodeGeneric} internalNode
*/ @Child private PyObjectIsTrueNodeGeneric fallback_internalNode_; private PyObjectIsTrueNodeGen() { } @SuppressWarnings("static-method") private boolean fallbackGuard_(int state_0, Node arg0Value, Object arg1Value) { if (!((state_0 & 0b1) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doBoolean(boolean)] */) && arg1Value instanceof Boolean) { return false; } if (!((state_0 & 0b10) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doNone(PNone)] */) && arg1Value instanceof PNone) { return false; } if (!((state_0 & 0b100) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doInt(int)] */) && arg1Value instanceof Integer) { return false; } if (!((state_0 & 0b1000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doLong(long)] */) && arg1Value instanceof Long) { return false; } if (!((state_0 & 0b10000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doDouble(double)] */) && arg1Value instanceof Double) { return false; } if (!((state_0 & 0b100000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doString(TruffleString)] */) && arg1Value instanceof TruffleString) { return false; } if (arg1Value instanceof PList) { PList arg1Value_ = (PList) arg1Value; GetPythonObjectClassNode getObjClassNode_ = INLINED_GET_OBJ_CLASS_NODE; if ((((state_0 & 0b10000000)) == 0 /* is-not GuardActive[specialization=PyObjectIsTrueNode.doList(Node, PList, GetPythonObjectClassNode), guardIndex=0] */ || getObjClassNode_ == null || (PGuards.cannotBeOverridden(arg1Value_, this, getObjClassNode_)))) { return false; } } if (arg1Value instanceof PTuple) { PTuple arg1Value_ = (PTuple) arg1Value; GetPythonObjectClassNode getObjClassNode_1 = INLINED_GET_OBJ_CLASS_NODE; if ((((state_0 & 0b1000000000)) == 0 /* is-not GuardActive[specialization=PyObjectIsTrueNode.doTuple(Node, PTuple, GetPythonObjectClassNode), guardIndex=0] */ || getObjClassNode_1 == null || (PGuards.cannotBeOverridden(arg1Value_, this, getObjClassNode_1)))) { return false; } } if (arg1Value instanceof PDict) { PDict arg1Value_ = (PDict) arg1Value; GetPythonObjectClassNode getObjClassNode_2 = INLINED_GET_OBJ_CLASS_NODE; if ((((state_0 & 0b100000000000)) == 0 /* is-not GuardActive[specialization=PyObjectIsTrueNode.doDict(Node, PDict, GetPythonObjectClassNode, HashingStorageLen), guardIndex=0] */ || getObjClassNode_2 == null || (PGuards.cannotBeOverridden(arg1Value_, this, getObjClassNode_2)))) { return false; } } if (arg1Value instanceof PSet) { PSet arg1Value_ = (PSet) arg1Value; GetPythonObjectClassNode getObjClassNode_3 = INLINED_GET_OBJ_CLASS_NODE; if ((((state_0 & 0b10000000000000)) == 0 /* is-not GuardActive[specialization=PyObjectIsTrueNode.doSet(Node, PSet, GetPythonObjectClassNode, HashingStorageLen), guardIndex=0] */ || getObjClassNode_3 == null || (PGuards.cannotBeOverridden(arg1Value_, this, getObjClassNode_3)))) { return false; } } return true; } @Override protected Object executeObject(Frame frameValue, Node arg0Value, Object arg1Value) { int state_0 = this.state_0_; if ((state_0 & 0b101010101111111) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doBoolean(boolean)] || SpecializationActive[PyObjectIsTrueNode.doNone(PNone)] || SpecializationActive[PyObjectIsTrueNode.doInt(int)] || SpecializationActive[PyObjectIsTrueNode.doLong(long)] || SpecializationActive[PyObjectIsTrueNode.doDouble(double)] || SpecializationActive[PyObjectIsTrueNode.doString(TruffleString)] || SpecializationActive[PyObjectIsTrueNode.doList(Node, PList, GetPythonObjectClassNode)] || SpecializationActive[PyObjectIsTrueNode.doTuple(Node, PTuple, GetPythonObjectClassNode)] || SpecializationActive[PyObjectIsTrueNode.doDict(Node, PDict, GetPythonObjectClassNode, HashingStorageLen)] || SpecializationActive[PyObjectIsTrueNode.doSet(Node, PSet, GetPythonObjectClassNode, HashingStorageLen)] || SpecializationActive[PyObjectIsTrueNode.doOthers(Frame, Object, PyObjectIsTrueNodeGeneric)] */) { if ((state_0 & 0b1) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doBoolean(boolean)] */ && arg1Value instanceof Boolean) { boolean arg1Value_ = (boolean) arg1Value; return PyObjectIsTrueNode.doBoolean(arg1Value_); } if ((state_0 & 0b10) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doNone(PNone)] */ && arg1Value instanceof PNone) { PNone arg1Value_ = (PNone) arg1Value; return PyObjectIsTrueNode.doNone(arg1Value_); } if ((state_0 & 0b100) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doInt(int)] */ && arg1Value instanceof Integer) { int arg1Value_ = (int) arg1Value; return PyObjectIsTrueNode.doInt(arg1Value_); } if ((state_0 & 0b1000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doLong(long)] */ && arg1Value instanceof Long) { long arg1Value_ = (long) arg1Value; return PyObjectIsTrueNode.doLong(arg1Value_); } if ((state_0 & 0b10000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doDouble(double)] */ && arg1Value instanceof Double) { double arg1Value_ = (double) arg1Value; return PyObjectIsTrueNode.doDouble(arg1Value_); } if ((state_0 & 0b100000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doString(TruffleString)] */ && arg1Value instanceof TruffleString) { TruffleString arg1Value_ = (TruffleString) arg1Value; return PyObjectIsTrueNode.doString(arg1Value_); } if ((state_0 & 0b1000000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doList(Node, PList, GetPythonObjectClassNode)] */ && arg1Value instanceof PList) { PList arg1Value_ = (PList) arg1Value; if ((PGuards.cannotBeOverridden(arg1Value_, this, INLINED_GET_OBJ_CLASS_NODE))) { return PyObjectIsTrueNode.doList(this, arg1Value_, INLINED_GET_OBJ_CLASS_NODE); } } if ((state_0 & 0b100000000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doTuple(Node, PTuple, GetPythonObjectClassNode)] */ && arg1Value instanceof PTuple) { PTuple arg1Value_ = (PTuple) arg1Value; if ((PGuards.cannotBeOverridden(arg1Value_, this, INLINED_GET_OBJ_CLASS_NODE))) { return PyObjectIsTrueNode.doTuple(this, arg1Value_, INLINED_GET_OBJ_CLASS_NODE); } } if ((state_0 & 0b10000000000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doDict(Node, PDict, GetPythonObjectClassNode, HashingStorageLen)] */ && arg1Value instanceof PDict) { PDict arg1Value_ = (PDict) arg1Value; if ((PGuards.cannotBeOverridden(arg1Value_, this, INLINED_GET_OBJ_CLASS_NODE))) { return PyObjectIsTrueNode.doDict(this, arg1Value_, INLINED_GET_OBJ_CLASS_NODE, INLINED_HASHING_STORAGE_LEN); } } if ((state_0 & 0b1000000000000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doSet(Node, PSet, GetPythonObjectClassNode, HashingStorageLen)] */ && arg1Value instanceof PSet) { PSet arg1Value_ = (PSet) arg1Value; if ((PGuards.cannotBeOverridden(arg1Value_, this, INLINED_GET_OBJ_CLASS_NODE))) { return PyObjectIsTrueNode.doSet(this, arg1Value_, INLINED_GET_OBJ_CLASS_NODE, INLINED_HASHING_STORAGE_LEN); } } if ((state_0 & 0b100000000000000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doOthers(Frame, Object, PyObjectIsTrueNodeGeneric)] */) { { PyObjectIsTrueNodeGeneric internalNode__ = this.fallback_internalNode_; if (internalNode__ != null) { if (fallbackGuard_(state_0, arg0Value, arg1Value)) { return PyObjectIsTrueNode.doOthers(frameValue, arg1Value, internalNode__); } } } } } CompilerDirectives.transferToInterpreterAndInvalidate(); return executeAndSpecialize(frameValue, arg0Value, arg1Value); } @Override public boolean execute(Frame frameValue, Node arg0Value, Object arg1Value) { int state_0 = this.state_0_; if ((state_0 & 0b101010101111111) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doBoolean(boolean)] || SpecializationActive[PyObjectIsTrueNode.doNone(PNone)] || SpecializationActive[PyObjectIsTrueNode.doInt(int)] || SpecializationActive[PyObjectIsTrueNode.doLong(long)] || SpecializationActive[PyObjectIsTrueNode.doDouble(double)] || SpecializationActive[PyObjectIsTrueNode.doString(TruffleString)] || SpecializationActive[PyObjectIsTrueNode.doList(Node, PList, GetPythonObjectClassNode)] || SpecializationActive[PyObjectIsTrueNode.doTuple(Node, PTuple, GetPythonObjectClassNode)] || SpecializationActive[PyObjectIsTrueNode.doDict(Node, PDict, GetPythonObjectClassNode, HashingStorageLen)] || SpecializationActive[PyObjectIsTrueNode.doSet(Node, PSet, GetPythonObjectClassNode, HashingStorageLen)] || SpecializationActive[PyObjectIsTrueNode.doOthers(Frame, Object, PyObjectIsTrueNodeGeneric)] */) { if ((state_0 & 0b1) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doBoolean(boolean)] */ && arg1Value instanceof Boolean) { boolean arg1Value_ = (boolean) arg1Value; return PyObjectIsTrueNode.doBoolean(arg1Value_); } if ((state_0 & 0b10) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doNone(PNone)] */ && arg1Value instanceof PNone) { PNone arg1Value_ = (PNone) arg1Value; return PyObjectIsTrueNode.doNone(arg1Value_); } if ((state_0 & 0b100) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doInt(int)] */ && arg1Value instanceof Integer) { int arg1Value_ = (int) arg1Value; return PyObjectIsTrueNode.doInt(arg1Value_); } if ((state_0 & 0b1000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doLong(long)] */ && arg1Value instanceof Long) { long arg1Value_ = (long) arg1Value; return PyObjectIsTrueNode.doLong(arg1Value_); } if ((state_0 & 0b10000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doDouble(double)] */ && arg1Value instanceof Double) { double arg1Value_ = (double) arg1Value; return PyObjectIsTrueNode.doDouble(arg1Value_); } if ((state_0 & 0b100000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doString(TruffleString)] */ && arg1Value instanceof TruffleString) { TruffleString arg1Value_ = (TruffleString) arg1Value; return PyObjectIsTrueNode.doString(arg1Value_); } if ((state_0 & 0b1000000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doList(Node, PList, GetPythonObjectClassNode)] */ && arg1Value instanceof PList) { PList arg1Value_ = (PList) arg1Value; if ((PGuards.cannotBeOverridden(arg1Value_, this, INLINED_GET_OBJ_CLASS_NODE))) { return PyObjectIsTrueNode.doList(this, arg1Value_, INLINED_GET_OBJ_CLASS_NODE); } } if ((state_0 & 0b100000000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doTuple(Node, PTuple, GetPythonObjectClassNode)] */ && arg1Value instanceof PTuple) { PTuple arg1Value_ = (PTuple) arg1Value; if ((PGuards.cannotBeOverridden(arg1Value_, this, INLINED_GET_OBJ_CLASS_NODE))) { return PyObjectIsTrueNode.doTuple(this, arg1Value_, INLINED_GET_OBJ_CLASS_NODE); } } if ((state_0 & 0b10000000000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doDict(Node, PDict, GetPythonObjectClassNode, HashingStorageLen)] */ && arg1Value instanceof PDict) { PDict arg1Value_ = (PDict) arg1Value; if ((PGuards.cannotBeOverridden(arg1Value_, this, INLINED_GET_OBJ_CLASS_NODE))) { return PyObjectIsTrueNode.doDict(this, arg1Value_, INLINED_GET_OBJ_CLASS_NODE, INLINED_HASHING_STORAGE_LEN); } } if ((state_0 & 0b1000000000000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doSet(Node, PSet, GetPythonObjectClassNode, HashingStorageLen)] */ && arg1Value instanceof PSet) { PSet arg1Value_ = (PSet) arg1Value; if ((PGuards.cannotBeOverridden(arg1Value_, this, INLINED_GET_OBJ_CLASS_NODE))) { return PyObjectIsTrueNode.doSet(this, arg1Value_, INLINED_GET_OBJ_CLASS_NODE, INLINED_HASHING_STORAGE_LEN); } } if ((state_0 & 0b100000000000000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doOthers(Frame, Object, PyObjectIsTrueNodeGeneric)] */) { { PyObjectIsTrueNodeGeneric internalNode__ = this.fallback_internalNode_; if (internalNode__ != null) { if (fallbackGuard_(state_0, arg0Value, arg1Value)) { return PyObjectIsTrueNode.doOthers(frameValue, arg1Value, internalNode__); } } } } } CompilerDirectives.transferToInterpreterAndInvalidate(); return executeAndSpecialize(frameValue, arg0Value, arg1Value); } private boolean executeAndSpecialize(Frame frameValue, Node arg0Value, Object arg1Value) { int state_0 = this.state_0_; if (arg1Value instanceof Boolean) { boolean arg1Value_ = (boolean) arg1Value; state_0 = state_0 | 0b1 /* add SpecializationActive[PyObjectIsTrueNode.doBoolean(boolean)] */; this.state_0_ = state_0; return PyObjectIsTrueNode.doBoolean(arg1Value_); } if (arg1Value instanceof PNone) { PNone arg1Value_ = (PNone) arg1Value; state_0 = state_0 | 0b10 /* add SpecializationActive[PyObjectIsTrueNode.doNone(PNone)] */; this.state_0_ = state_0; return PyObjectIsTrueNode.doNone(arg1Value_); } if (arg1Value instanceof Integer) { int arg1Value_ = (int) arg1Value; state_0 = state_0 | 0b100 /* add SpecializationActive[PyObjectIsTrueNode.doInt(int)] */; this.state_0_ = state_0; return PyObjectIsTrueNode.doInt(arg1Value_); } if (arg1Value instanceof Long) { long arg1Value_ = (long) arg1Value; state_0 = state_0 | 0b1000 /* add SpecializationActive[PyObjectIsTrueNode.doLong(long)] */; this.state_0_ = state_0; return PyObjectIsTrueNode.doLong(arg1Value_); } if (arg1Value instanceof Double) { double arg1Value_ = (double) arg1Value; state_0 = state_0 | 0b10000 /* add SpecializationActive[PyObjectIsTrueNode.doDouble(double)] */; this.state_0_ = state_0; return PyObjectIsTrueNode.doDouble(arg1Value_); } if (arg1Value instanceof TruffleString) { TruffleString arg1Value_ = (TruffleString) arg1Value; state_0 = state_0 | 0b100000 /* add SpecializationActive[PyObjectIsTrueNode.doString(TruffleString)] */; this.state_0_ = state_0; return PyObjectIsTrueNode.doString(arg1Value_); } if (arg1Value instanceof PList) { PList arg1Value_ = (PList) arg1Value; { if (((state_0 & 0b10000000)) == 0 /* is-not GuardActive[specialization=PyObjectIsTrueNode.doList(Node, PList, GetPythonObjectClassNode), guardIndex=0] */) { state_0 = state_0 | 0b10000000 /* add GuardActive[specialization=PyObjectIsTrueNode.doList(Node, PList, GetPythonObjectClassNode), guardIndex=0] */; } if ((PGuards.cannotBeOverridden(arg1Value_, this, INLINED_GET_OBJ_CLASS_NODE))) { state_0 = state_0 | 0b1000000 /* add SpecializationActive[PyObjectIsTrueNode.doList(Node, PList, GetPythonObjectClassNode)] */; this.state_0_ = state_0; return PyObjectIsTrueNode.doList(this, arg1Value_, INLINED_GET_OBJ_CLASS_NODE); } } } if (arg1Value instanceof PTuple) { PTuple arg1Value_ = (PTuple) arg1Value; { if (((state_0 & 0b1000000000)) == 0 /* is-not GuardActive[specialization=PyObjectIsTrueNode.doTuple(Node, PTuple, GetPythonObjectClassNode), guardIndex=0] */) { state_0 = state_0 | 0b1000000000 /* add GuardActive[specialization=PyObjectIsTrueNode.doTuple(Node, PTuple, GetPythonObjectClassNode), guardIndex=0] */; } if ((PGuards.cannotBeOverridden(arg1Value_, this, INLINED_GET_OBJ_CLASS_NODE))) { state_0 = state_0 | 0b100000000 /* add SpecializationActive[PyObjectIsTrueNode.doTuple(Node, PTuple, GetPythonObjectClassNode)] */; this.state_0_ = state_0; return PyObjectIsTrueNode.doTuple(this, arg1Value_, INLINED_GET_OBJ_CLASS_NODE); } } } if (arg1Value instanceof PDict) { PDict arg1Value_ = (PDict) arg1Value; { if (((state_0 & 0b100000000000)) == 0 /* is-not GuardActive[specialization=PyObjectIsTrueNode.doDict(Node, PDict, GetPythonObjectClassNode, HashingStorageLen), guardIndex=0] */) { state_0 = state_0 | 0b100000000000 /* add GuardActive[specialization=PyObjectIsTrueNode.doDict(Node, PDict, GetPythonObjectClassNode, HashingStorageLen), guardIndex=0] */; } if ((PGuards.cannotBeOverridden(arg1Value_, this, INLINED_GET_OBJ_CLASS_NODE))) { state_0 = state_0 | 0b10000000000 /* add SpecializationActive[PyObjectIsTrueNode.doDict(Node, PDict, GetPythonObjectClassNode, HashingStorageLen)] */; this.state_0_ = state_0; return PyObjectIsTrueNode.doDict(this, arg1Value_, INLINED_GET_OBJ_CLASS_NODE, INLINED_HASHING_STORAGE_LEN); } } } if (arg1Value instanceof PSet) { PSet arg1Value_ = (PSet) arg1Value; { if (((state_0 & 0b10000000000000)) == 0 /* is-not GuardActive[specialization=PyObjectIsTrueNode.doSet(Node, PSet, GetPythonObjectClassNode, HashingStorageLen), guardIndex=0] */) { state_0 = state_0 | 0b10000000000000 /* add GuardActive[specialization=PyObjectIsTrueNode.doSet(Node, PSet, GetPythonObjectClassNode, HashingStorageLen), guardIndex=0] */; } if ((PGuards.cannotBeOverridden(arg1Value_, this, INLINED_GET_OBJ_CLASS_NODE))) { state_0 = state_0 | 0b1000000000000 /* add SpecializationActive[PyObjectIsTrueNode.doSet(Node, PSet, GetPythonObjectClassNode, HashingStorageLen)] */; this.state_0_ = state_0; return PyObjectIsTrueNode.doSet(this, arg1Value_, INLINED_GET_OBJ_CLASS_NODE, INLINED_HASHING_STORAGE_LEN); } } } PyObjectIsTrueNodeGeneric internalNode__ = this.insert((PyObjectIsTrueNodeGenericNodeGen.create())); Objects.requireNonNull(internalNode__, "Specialization 'doOthers(Frame, Object, PyObjectIsTrueNodeGeneric)' cache 'internalNode' 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.fallback_internalNode_ = internalNode__; state_0 = state_0 | 0b100000000000000 /* add SpecializationActive[PyObjectIsTrueNode.doOthers(Frame, Object, PyObjectIsTrueNodeGeneric)] */; this.state_0_ = state_0; return PyObjectIsTrueNode.doOthers(frameValue, arg1Value, internalNode__); } @Override public NodeCost getCost() { int state_0 = this.state_0_; if ((state_0 & 0b101010101111111) == 0) { return NodeCost.UNINITIALIZED; } else { int counter = 0; counter += Integer.bitCount((state_0 & 0b101010101111111)); if (counter == 1) { return NodeCost.MONOMORPHIC; } } return NodeCost.POLYMORPHIC; } @NeverDefault public static PyObjectIsTrueNode create() { return new PyObjectIsTrueNodeGen(); } @NeverDefault public static PyObjectIsTrueNode getUncached() { return PyObjectIsTrueNodeGen.UNCACHED; } /** * Required Fields:
    *
  • {@link Inlined#state_0_} *
  • {@link Inlined#state_1_} *
  • {@link Inlined#getObjClassNode_field1_} *
  • {@link Inlined#getObjClassNode_field2_} *
  • {@link Inlined#getObjClassNode_field3_} *
  • {@link Inlined#hashingStorageLen_field1_} *
  • {@link Inlined#fallback_internalNode_} *
*/ @NeverDefault public static PyObjectIsTrueNode inline(@RequiredField(bits = 19, value = StateField.class)@RequiredField(bits = 4, value = StateField.class)@RequiredField(type = Object.class, value = ReferenceField.class)@RequiredField(type = Node.class, value = ReferenceField.class)@RequiredField(type = Node.class, value = ReferenceField.class)@RequiredField(type = Node.class, value = ReferenceField.class)@RequiredField(type = Node.class, value = ReferenceField.class) InlineTarget target) { return new PyObjectIsTrueNodeGen.Inlined(target); } @GeneratedBy(PyObjectIsTrueNode.class) @DenyReplace private static final class Inlined extends PyObjectIsTrueNode { /** * State Info:
         *   0: SpecializationActive {@link PyObjectIsTrueNode#doBoolean}
         *   1: SpecializationActive {@link PyObjectIsTrueNode#doNone}
         *   2: SpecializationActive {@link PyObjectIsTrueNode#doInt}
         *   3: SpecializationActive {@link PyObjectIsTrueNode#doLong}
         *   4: SpecializationActive {@link PyObjectIsTrueNode#doDouble}
         *   5: SpecializationActive {@link PyObjectIsTrueNode#doString}
         *   6: SpecializationActive {@link PyObjectIsTrueNode#doList}
         *   7: GuardActive[guardIndex=0] {@link PyObjectIsTrueNode#doList}
         *   8: SpecializationActive {@link PyObjectIsTrueNode#doTuple}
         *   9: GuardActive[guardIndex=0] {@link PyObjectIsTrueNode#doTuple}
         *   10: SpecializationActive {@link PyObjectIsTrueNode#doDict}
         *   11: GuardActive[guardIndex=0] {@link PyObjectIsTrueNode#doDict}
         *   12: SpecializationActive {@link PyObjectIsTrueNode#doSet}
         *   13: GuardActive[guardIndex=0] {@link PyObjectIsTrueNode#doSet}
         *   14: SpecializationActive {@link PyObjectIsTrueNode#doOthers}
         *   15-18: InlinedCache
         *        Specialization: {@link PyObjectIsTrueNode#doDict}
         *        Parameter: {@link HashingStorageLen} lenNode
         *        Inline method: {@link HashingStorageLenNodeGen#inline}
         * 
*/ private final StateField state_0_; /** * State Info:
         *   0-3: InlinedCache
         *        Specialization: {@link PyObjectIsTrueNode#doList}
         *        Parameter: {@link GetPythonObjectClassNode} getClassNode
         *        Inline method: {@link GetPythonObjectClassNodeGen#inline}
         * 
*/ private final StateField state_1_; private final ReferenceField getObjClassNode_field1_; private final ReferenceField getObjClassNode_field2_; private final ReferenceField getObjClassNode_field3_; private final ReferenceField hashingStorageLen_field1_; private final ReferenceField fallback_internalNode_; /** * Source Info:
         *   Specialization: {@link PyObjectIsTrueNode#doList}
         *   Parameter: {@link GetPythonObjectClassNode} getClassNode
         *   Inline method: {@link GetPythonObjectClassNodeGen#inline}
*/ private final GetPythonObjectClassNode getObjClassNode; /** * Source Info:
         *   Specialization: {@link PyObjectIsTrueNode#doDict}
         *   Parameter: {@link HashingStorageLen} lenNode
         *   Inline method: {@link HashingStorageLenNodeGen#inline}
*/ private final HashingStorageLen hashingStorageLen; @SuppressWarnings("unchecked") private Inlined(InlineTarget target) { assert target.getTargetClass().isAssignableFrom(PyObjectIsTrueNode.class); this.state_0_ = target.getState(0, 19); this.state_1_ = target.getState(1, 4); this.getObjClassNode_field1_ = target.getReference(2, Object.class); this.getObjClassNode_field2_ = target.getReference(3, Node.class); this.getObjClassNode_field3_ = target.getReference(4, Node.class); this.hashingStorageLen_field1_ = target.getReference(5, Node.class); this.fallback_internalNode_ = target.getReference(6, PyObjectIsTrueNodeGeneric.class); this.getObjClassNode = GetPythonObjectClassNodeGen.inline(InlineTarget.create(GetPythonObjectClassNode.class, state_1_.subUpdater(0, 4), getObjClassNode_field1_, getObjClassNode_field2_, getObjClassNode_field3_)); this.hashingStorageLen = HashingStorageLenNodeGen.inline(InlineTarget.create(HashingStorageLen.class, state_0_.subUpdater(15, 4), hashingStorageLen_field1_)); } @SuppressWarnings("static-method") private boolean fallbackGuard_(int state_0, Node arg0Value, Object arg1Value) { if (!((state_0 & 0b1) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doBoolean(boolean)] */) && arg1Value instanceof Boolean) { return false; } if (!((state_0 & 0b10) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doNone(PNone)] */) && arg1Value instanceof PNone) { return false; } if (!((state_0 & 0b100) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doInt(int)] */) && arg1Value instanceof Integer) { return false; } if (!((state_0 & 0b1000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doLong(long)] */) && arg1Value instanceof Long) { return false; } if (!((state_0 & 0b10000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doDouble(double)] */) && arg1Value instanceof Double) { return false; } if (!((state_0 & 0b100000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doString(TruffleString)] */) && arg1Value instanceof TruffleString) { return false; } if (arg1Value instanceof PList) { PList arg1Value_ = (PList) arg1Value; GetPythonObjectClassNode getObjClassNode_ = this.getObjClassNode; if ((((state_0 & 0b10000000)) == 0 /* is-not GuardActive[specialization=PyObjectIsTrueNode.doList(Node, PList, GetPythonObjectClassNode), guardIndex=0] */ || getObjClassNode_ == null || (PGuards.cannotBeOverridden(arg1Value_, arg0Value, getObjClassNode_)))) { return false; } } if (arg1Value instanceof PTuple) { PTuple arg1Value_ = (PTuple) arg1Value; GetPythonObjectClassNode getObjClassNode_1 = this.getObjClassNode; if ((((state_0 & 0b1000000000)) == 0 /* is-not GuardActive[specialization=PyObjectIsTrueNode.doTuple(Node, PTuple, GetPythonObjectClassNode), guardIndex=0] */ || getObjClassNode_1 == null || (PGuards.cannotBeOverridden(arg1Value_, arg0Value, getObjClassNode_1)))) { return false; } } if (arg1Value instanceof PDict) { PDict arg1Value_ = (PDict) arg1Value; GetPythonObjectClassNode getObjClassNode_2 = this.getObjClassNode; if ((((state_0 & 0b100000000000)) == 0 /* is-not GuardActive[specialization=PyObjectIsTrueNode.doDict(Node, PDict, GetPythonObjectClassNode, HashingStorageLen), guardIndex=0] */ || getObjClassNode_2 == null || (PGuards.cannotBeOverridden(arg1Value_, arg0Value, getObjClassNode_2)))) { return false; } } if (arg1Value instanceof PSet) { PSet arg1Value_ = (PSet) arg1Value; GetPythonObjectClassNode getObjClassNode_3 = this.getObjClassNode; if ((((state_0 & 0b10000000000000)) == 0 /* is-not GuardActive[specialization=PyObjectIsTrueNode.doSet(Node, PSet, GetPythonObjectClassNode, HashingStorageLen), guardIndex=0] */ || getObjClassNode_3 == null || (PGuards.cannotBeOverridden(arg1Value_, arg0Value, getObjClassNode_3)))) { return false; } } return true; } @Override protected Object executeObject(Frame frameValue, Node arg0Value, Object arg1Value) { int state_0 = this.state_0_.get(arg0Value); if ((state_0 & 0b101010101111111) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doBoolean(boolean)] || SpecializationActive[PyObjectIsTrueNode.doNone(PNone)] || SpecializationActive[PyObjectIsTrueNode.doInt(int)] || SpecializationActive[PyObjectIsTrueNode.doLong(long)] || SpecializationActive[PyObjectIsTrueNode.doDouble(double)] || SpecializationActive[PyObjectIsTrueNode.doString(TruffleString)] || SpecializationActive[PyObjectIsTrueNode.doList(Node, PList, GetPythonObjectClassNode)] || SpecializationActive[PyObjectIsTrueNode.doTuple(Node, PTuple, GetPythonObjectClassNode)] || SpecializationActive[PyObjectIsTrueNode.doDict(Node, PDict, GetPythonObjectClassNode, HashingStorageLen)] || SpecializationActive[PyObjectIsTrueNode.doSet(Node, PSet, GetPythonObjectClassNode, HashingStorageLen)] || SpecializationActive[PyObjectIsTrueNode.doOthers(Frame, Object, PyObjectIsTrueNodeGeneric)] */) { if ((state_0 & 0b1) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doBoolean(boolean)] */ && arg1Value instanceof Boolean) { boolean arg1Value_ = (boolean) arg1Value; return PyObjectIsTrueNode.doBoolean(arg1Value_); } if ((state_0 & 0b10) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doNone(PNone)] */ && arg1Value instanceof PNone) { PNone arg1Value_ = (PNone) arg1Value; return PyObjectIsTrueNode.doNone(arg1Value_); } if ((state_0 & 0b100) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doInt(int)] */ && arg1Value instanceof Integer) { int arg1Value_ = (int) arg1Value; return PyObjectIsTrueNode.doInt(arg1Value_); } if ((state_0 & 0b1000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doLong(long)] */ && arg1Value instanceof Long) { long arg1Value_ = (long) arg1Value; return PyObjectIsTrueNode.doLong(arg1Value_); } if ((state_0 & 0b10000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doDouble(double)] */ && arg1Value instanceof Double) { double arg1Value_ = (double) arg1Value; return PyObjectIsTrueNode.doDouble(arg1Value_); } if ((state_0 & 0b100000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doString(TruffleString)] */ && arg1Value instanceof TruffleString) { TruffleString arg1Value_ = (TruffleString) arg1Value; return PyObjectIsTrueNode.doString(arg1Value_); } if ((state_0 & 0b1000000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doList(Node, PList, GetPythonObjectClassNode)] */ && arg1Value instanceof PList) { PList arg1Value_ = (PList) arg1Value; if ((PGuards.cannotBeOverridden(arg1Value_, arg0Value, this.getObjClassNode))) { return PyObjectIsTrueNode.doList(arg0Value, arg1Value_, this.getObjClassNode); } } if ((state_0 & 0b100000000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doTuple(Node, PTuple, GetPythonObjectClassNode)] */ && arg1Value instanceof PTuple) { PTuple arg1Value_ = (PTuple) arg1Value; if ((PGuards.cannotBeOverridden(arg1Value_, arg0Value, this.getObjClassNode))) { return PyObjectIsTrueNode.doTuple(arg0Value, arg1Value_, this.getObjClassNode); } } if ((state_0 & 0b10000000000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doDict(Node, PDict, GetPythonObjectClassNode, HashingStorageLen)] */ && arg1Value instanceof PDict) { PDict arg1Value_ = (PDict) arg1Value; if ((PGuards.cannotBeOverridden(arg1Value_, arg0Value, this.getObjClassNode))) { return PyObjectIsTrueNode.doDict(arg0Value, arg1Value_, this.getObjClassNode, this.hashingStorageLen); } } if ((state_0 & 0b1000000000000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doSet(Node, PSet, GetPythonObjectClassNode, HashingStorageLen)] */ && arg1Value instanceof PSet) { PSet arg1Value_ = (PSet) arg1Value; if ((PGuards.cannotBeOverridden(arg1Value_, arg0Value, this.getObjClassNode))) { return PyObjectIsTrueNode.doSet(arg0Value, arg1Value_, this.getObjClassNode, this.hashingStorageLen); } } if ((state_0 & 0b100000000000000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doOthers(Frame, Object, PyObjectIsTrueNodeGeneric)] */) { { PyObjectIsTrueNodeGeneric internalNode__ = this.fallback_internalNode_.get(arg0Value); if (internalNode__ != null) { if (fallbackGuard_(state_0, arg0Value, arg1Value)) { return PyObjectIsTrueNode.doOthers(frameValue, arg1Value, internalNode__); } } } } } CompilerDirectives.transferToInterpreterAndInvalidate(); return executeAndSpecialize(frameValue, arg0Value, arg1Value); } @Override public boolean execute(Frame frameValue, Node arg0Value, Object arg1Value) { int state_0 = this.state_0_.get(arg0Value); if ((state_0 & 0b101010101111111) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doBoolean(boolean)] || SpecializationActive[PyObjectIsTrueNode.doNone(PNone)] || SpecializationActive[PyObjectIsTrueNode.doInt(int)] || SpecializationActive[PyObjectIsTrueNode.doLong(long)] || SpecializationActive[PyObjectIsTrueNode.doDouble(double)] || SpecializationActive[PyObjectIsTrueNode.doString(TruffleString)] || SpecializationActive[PyObjectIsTrueNode.doList(Node, PList, GetPythonObjectClassNode)] || SpecializationActive[PyObjectIsTrueNode.doTuple(Node, PTuple, GetPythonObjectClassNode)] || SpecializationActive[PyObjectIsTrueNode.doDict(Node, PDict, GetPythonObjectClassNode, HashingStorageLen)] || SpecializationActive[PyObjectIsTrueNode.doSet(Node, PSet, GetPythonObjectClassNode, HashingStorageLen)] || SpecializationActive[PyObjectIsTrueNode.doOthers(Frame, Object, PyObjectIsTrueNodeGeneric)] */) { if ((state_0 & 0b1) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doBoolean(boolean)] */ && arg1Value instanceof Boolean) { boolean arg1Value_ = (boolean) arg1Value; return PyObjectIsTrueNode.doBoolean(arg1Value_); } if ((state_0 & 0b10) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doNone(PNone)] */ && arg1Value instanceof PNone) { PNone arg1Value_ = (PNone) arg1Value; return PyObjectIsTrueNode.doNone(arg1Value_); } if ((state_0 & 0b100) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doInt(int)] */ && arg1Value instanceof Integer) { int arg1Value_ = (int) arg1Value; return PyObjectIsTrueNode.doInt(arg1Value_); } if ((state_0 & 0b1000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doLong(long)] */ && arg1Value instanceof Long) { long arg1Value_ = (long) arg1Value; return PyObjectIsTrueNode.doLong(arg1Value_); } if ((state_0 & 0b10000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doDouble(double)] */ && arg1Value instanceof Double) { double arg1Value_ = (double) arg1Value; return PyObjectIsTrueNode.doDouble(arg1Value_); } if ((state_0 & 0b100000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doString(TruffleString)] */ && arg1Value instanceof TruffleString) { TruffleString arg1Value_ = (TruffleString) arg1Value; return PyObjectIsTrueNode.doString(arg1Value_); } if ((state_0 & 0b1000000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doList(Node, PList, GetPythonObjectClassNode)] */ && arg1Value instanceof PList) { PList arg1Value_ = (PList) arg1Value; if ((PGuards.cannotBeOverridden(arg1Value_, arg0Value, this.getObjClassNode))) { return PyObjectIsTrueNode.doList(arg0Value, arg1Value_, this.getObjClassNode); } } if ((state_0 & 0b100000000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doTuple(Node, PTuple, GetPythonObjectClassNode)] */ && arg1Value instanceof PTuple) { PTuple arg1Value_ = (PTuple) arg1Value; if ((PGuards.cannotBeOverridden(arg1Value_, arg0Value, this.getObjClassNode))) { return PyObjectIsTrueNode.doTuple(arg0Value, arg1Value_, this.getObjClassNode); } } if ((state_0 & 0b10000000000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doDict(Node, PDict, GetPythonObjectClassNode, HashingStorageLen)] */ && arg1Value instanceof PDict) { PDict arg1Value_ = (PDict) arg1Value; if ((PGuards.cannotBeOverridden(arg1Value_, arg0Value, this.getObjClassNode))) { return PyObjectIsTrueNode.doDict(arg0Value, arg1Value_, this.getObjClassNode, this.hashingStorageLen); } } if ((state_0 & 0b1000000000000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doSet(Node, PSet, GetPythonObjectClassNode, HashingStorageLen)] */ && arg1Value instanceof PSet) { PSet arg1Value_ = (PSet) arg1Value; if ((PGuards.cannotBeOverridden(arg1Value_, arg0Value, this.getObjClassNode))) { return PyObjectIsTrueNode.doSet(arg0Value, arg1Value_, this.getObjClassNode, this.hashingStorageLen); } } if ((state_0 & 0b100000000000000) != 0 /* is SpecializationActive[PyObjectIsTrueNode.doOthers(Frame, Object, PyObjectIsTrueNodeGeneric)] */) { { PyObjectIsTrueNodeGeneric internalNode__ = this.fallback_internalNode_.get(arg0Value); if (internalNode__ != null) { if (fallbackGuard_(state_0, arg0Value, arg1Value)) { return PyObjectIsTrueNode.doOthers(frameValue, arg1Value, internalNode__); } } } } } CompilerDirectives.transferToInterpreterAndInvalidate(); return executeAndSpecialize(frameValue, arg0Value, arg1Value); } private boolean executeAndSpecialize(Frame frameValue, Node arg0Value, Object arg1Value) { int state_0 = this.state_0_.get(arg0Value); if (arg1Value instanceof Boolean) { boolean arg1Value_ = (boolean) arg1Value; state_0 = state_0 | 0b1 /* add SpecializationActive[PyObjectIsTrueNode.doBoolean(boolean)] */; this.state_0_.set(arg0Value, state_0); return PyObjectIsTrueNode.doBoolean(arg1Value_); } if (arg1Value instanceof PNone) { PNone arg1Value_ = (PNone) arg1Value; state_0 = state_0 | 0b10 /* add SpecializationActive[PyObjectIsTrueNode.doNone(PNone)] */; this.state_0_.set(arg0Value, state_0); return PyObjectIsTrueNode.doNone(arg1Value_); } if (arg1Value instanceof Integer) { int arg1Value_ = (int) arg1Value; state_0 = state_0 | 0b100 /* add SpecializationActive[PyObjectIsTrueNode.doInt(int)] */; this.state_0_.set(arg0Value, state_0); return PyObjectIsTrueNode.doInt(arg1Value_); } if (arg1Value instanceof Long) { long arg1Value_ = (long) arg1Value; state_0 = state_0 | 0b1000 /* add SpecializationActive[PyObjectIsTrueNode.doLong(long)] */; this.state_0_.set(arg0Value, state_0); return PyObjectIsTrueNode.doLong(arg1Value_); } if (arg1Value instanceof Double) { double arg1Value_ = (double) arg1Value; state_0 = state_0 | 0b10000 /* add SpecializationActive[PyObjectIsTrueNode.doDouble(double)] */; this.state_0_.set(arg0Value, state_0); return PyObjectIsTrueNode.doDouble(arg1Value_); } if (arg1Value instanceof TruffleString) { TruffleString arg1Value_ = (TruffleString) arg1Value; state_0 = state_0 | 0b100000 /* add SpecializationActive[PyObjectIsTrueNode.doString(TruffleString)] */; this.state_0_.set(arg0Value, state_0); return PyObjectIsTrueNode.doString(arg1Value_); } if (arg1Value instanceof PList) { PList arg1Value_ = (PList) arg1Value; { if (((state_0 & 0b10000000)) == 0 /* is-not GuardActive[specialization=PyObjectIsTrueNode.doList(Node, PList, GetPythonObjectClassNode), guardIndex=0] */) { state_0 = state_0 | 0b10000000 /* add GuardActive[specialization=PyObjectIsTrueNode.doList(Node, PList, GetPythonObjectClassNode), guardIndex=0] */; } if ((PGuards.cannotBeOverridden(arg1Value_, arg0Value, this.getObjClassNode))) { state_0 = state_0 | 0b1000000 /* add SpecializationActive[PyObjectIsTrueNode.doList(Node, PList, GetPythonObjectClassNode)] */; this.state_0_.set(arg0Value, state_0); return PyObjectIsTrueNode.doList(arg0Value, arg1Value_, this.getObjClassNode); } } } if (arg1Value instanceof PTuple) { PTuple arg1Value_ = (PTuple) arg1Value; { if (((state_0 & 0b1000000000)) == 0 /* is-not GuardActive[specialization=PyObjectIsTrueNode.doTuple(Node, PTuple, GetPythonObjectClassNode), guardIndex=0] */) { state_0 = state_0 | 0b1000000000 /* add GuardActive[specialization=PyObjectIsTrueNode.doTuple(Node, PTuple, GetPythonObjectClassNode), guardIndex=0] */; } if ((PGuards.cannotBeOverridden(arg1Value_, arg0Value, this.getObjClassNode))) { state_0 = state_0 | 0b100000000 /* add SpecializationActive[PyObjectIsTrueNode.doTuple(Node, PTuple, GetPythonObjectClassNode)] */; this.state_0_.set(arg0Value, state_0); return PyObjectIsTrueNode.doTuple(arg0Value, arg1Value_, this.getObjClassNode); } } } if (arg1Value instanceof PDict) { PDict arg1Value_ = (PDict) arg1Value; { if (((state_0 & 0b100000000000)) == 0 /* is-not GuardActive[specialization=PyObjectIsTrueNode.doDict(Node, PDict, GetPythonObjectClassNode, HashingStorageLen), guardIndex=0] */) { state_0 = state_0 | 0b100000000000 /* add GuardActive[specialization=PyObjectIsTrueNode.doDict(Node, PDict, GetPythonObjectClassNode, HashingStorageLen), guardIndex=0] */; } if ((PGuards.cannotBeOverridden(arg1Value_, arg0Value, this.getObjClassNode))) { state_0 = state_0 | 0b10000000000 /* add SpecializationActive[PyObjectIsTrueNode.doDict(Node, PDict, GetPythonObjectClassNode, HashingStorageLen)] */; this.state_0_.set(arg0Value, state_0); return PyObjectIsTrueNode.doDict(arg0Value, arg1Value_, this.getObjClassNode, this.hashingStorageLen); } } } if (arg1Value instanceof PSet) { PSet arg1Value_ = (PSet) arg1Value; { if (((state_0 & 0b10000000000000)) == 0 /* is-not GuardActive[specialization=PyObjectIsTrueNode.doSet(Node, PSet, GetPythonObjectClassNode, HashingStorageLen), guardIndex=0] */) { state_0 = state_0 | 0b10000000000000 /* add GuardActive[specialization=PyObjectIsTrueNode.doSet(Node, PSet, GetPythonObjectClassNode, HashingStorageLen), guardIndex=0] */; } if ((PGuards.cannotBeOverridden(arg1Value_, arg0Value, this.getObjClassNode))) { state_0 = state_0 | 0b1000000000000 /* add SpecializationActive[PyObjectIsTrueNode.doSet(Node, PSet, GetPythonObjectClassNode, HashingStorageLen)] */; this.state_0_.set(arg0Value, state_0); return PyObjectIsTrueNode.doSet(arg0Value, arg1Value_, this.getObjClassNode, this.hashingStorageLen); } } } PyObjectIsTrueNodeGeneric internalNode__ = arg0Value.insert((PyObjectIsTrueNodeGenericNodeGen.create())); Objects.requireNonNull(internalNode__, "Specialization 'doOthers(Frame, Object, PyObjectIsTrueNodeGeneric)' cache 'internalNode' 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.fallback_internalNode_.set(arg0Value, internalNode__); state_0 = state_0 | 0b100000000000000 /* add SpecializationActive[PyObjectIsTrueNode.doOthers(Frame, Object, PyObjectIsTrueNodeGeneric)] */; this.state_0_.set(arg0Value, state_0); return PyObjectIsTrueNode.doOthers(frameValue, arg1Value, internalNode__); } @Override public boolean isAdoptable() { return false; } } @GeneratedBy(PyObjectIsTrueNode.class) @DenyReplace private static final class Uncached extends PyObjectIsTrueNode { @Override protected Object executeObject(Frame frameValue, Node arg0Value, Object arg1Value) { CompilerDirectives.transferToInterpreterAndInvalidate(); if (arg1Value instanceof Boolean) { boolean arg1Value_ = (boolean) arg1Value; return PyObjectIsTrueNode.doBoolean(arg1Value_); } if (arg1Value instanceof PNone) { PNone arg1Value_ = (PNone) arg1Value; return PyObjectIsTrueNode.doNone(arg1Value_); } if (arg1Value instanceof Integer) { int arg1Value_ = (int) arg1Value; return PyObjectIsTrueNode.doInt(arg1Value_); } if (arg1Value instanceof Long) { long arg1Value_ = (long) arg1Value; return PyObjectIsTrueNode.doLong(arg1Value_); } if (arg1Value instanceof Double) { double arg1Value_ = (double) arg1Value; return PyObjectIsTrueNode.doDouble(arg1Value_); } if (arg1Value instanceof TruffleString) { TruffleString arg1Value_ = (TruffleString) arg1Value; return PyObjectIsTrueNode.doString(arg1Value_); } if (arg1Value instanceof PList) { PList arg1Value_ = (PList) arg1Value; if ((PGuards.cannotBeOverridden(arg1Value_, arg0Value, (GetPythonObjectClassNodeGen.getUncached())))) { return PyObjectIsTrueNode.doList(arg0Value, arg1Value_, (GetPythonObjectClassNodeGen.getUncached())); } } if (arg1Value instanceof PTuple) { PTuple arg1Value_ = (PTuple) arg1Value; if ((PGuards.cannotBeOverridden(arg1Value_, arg0Value, (GetPythonObjectClassNodeGen.getUncached())))) { return PyObjectIsTrueNode.doTuple(arg0Value, arg1Value_, (GetPythonObjectClassNodeGen.getUncached())); } } if (arg1Value instanceof PDict) { PDict arg1Value_ = (PDict) arg1Value; if ((PGuards.cannotBeOverridden(arg1Value_, arg0Value, (GetPythonObjectClassNodeGen.getUncached())))) { return PyObjectIsTrueNode.doDict(arg0Value, arg1Value_, (GetPythonObjectClassNodeGen.getUncached()), (HashingStorageLenNodeGen.getUncached())); } } if (arg1Value instanceof PSet) { PSet arg1Value_ = (PSet) arg1Value; if ((PGuards.cannotBeOverridden(arg1Value_, arg0Value, (GetPythonObjectClassNodeGen.getUncached())))) { return PyObjectIsTrueNode.doSet(arg0Value, arg1Value_, (GetPythonObjectClassNodeGen.getUncached()), (HashingStorageLenNodeGen.getUncached())); } } return PyObjectIsTrueNode.doOthers(frameValue, arg1Value, (PyObjectIsTrueNodeGenericNodeGen.getUncached())); } @Override public boolean execute(Frame frameValue, Node arg0Value, Object arg1Value) { CompilerDirectives.transferToInterpreterAndInvalidate(); if (arg1Value instanceof Boolean) { boolean arg1Value_ = (boolean) arg1Value; return PyObjectIsTrueNode.doBoolean(arg1Value_); } if (arg1Value instanceof PNone) { PNone arg1Value_ = (PNone) arg1Value; return PyObjectIsTrueNode.doNone(arg1Value_); } if (arg1Value instanceof Integer) { int arg1Value_ = (int) arg1Value; return PyObjectIsTrueNode.doInt(arg1Value_); } if (arg1Value instanceof Long) { long arg1Value_ = (long) arg1Value; return PyObjectIsTrueNode.doLong(arg1Value_); } if (arg1Value instanceof Double) { double arg1Value_ = (double) arg1Value; return PyObjectIsTrueNode.doDouble(arg1Value_); } if (arg1Value instanceof TruffleString) { TruffleString arg1Value_ = (TruffleString) arg1Value; return PyObjectIsTrueNode.doString(arg1Value_); } if (arg1Value instanceof PList) { PList arg1Value_ = (PList) arg1Value; if ((PGuards.cannotBeOverridden(arg1Value_, arg0Value, (GetPythonObjectClassNodeGen.getUncached())))) { return PyObjectIsTrueNode.doList(arg0Value, arg1Value_, (GetPythonObjectClassNodeGen.getUncached())); } } if (arg1Value instanceof PTuple) { PTuple arg1Value_ = (PTuple) arg1Value; if ((PGuards.cannotBeOverridden(arg1Value_, arg0Value, (GetPythonObjectClassNodeGen.getUncached())))) { return PyObjectIsTrueNode.doTuple(arg0Value, arg1Value_, (GetPythonObjectClassNodeGen.getUncached())); } } if (arg1Value instanceof PDict) { PDict arg1Value_ = (PDict) arg1Value; if ((PGuards.cannotBeOverridden(arg1Value_, arg0Value, (GetPythonObjectClassNodeGen.getUncached())))) { return PyObjectIsTrueNode.doDict(arg0Value, arg1Value_, (GetPythonObjectClassNodeGen.getUncached()), (HashingStorageLenNodeGen.getUncached())); } } if (arg1Value instanceof PSet) { PSet arg1Value_ = (PSet) arg1Value; if ((PGuards.cannotBeOverridden(arg1Value_, arg0Value, (GetPythonObjectClassNodeGen.getUncached())))) { return PyObjectIsTrueNode.doSet(arg0Value, arg1Value_, (GetPythonObjectClassNodeGen.getUncached()), (HashingStorageLenNodeGen.getUncached())); } } return PyObjectIsTrueNode.doOthers(frameValue, arg1Value, (PyObjectIsTrueNodeGenericNodeGen.getUncached())); } @Override public NodeCost getCost() { return NodeCost.MEGAMORPHIC; } @Override public boolean isAdoptable() { return false; } } /** * Debug Info:
     *   Specialization {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
     *     Activation probability: 0.65000
     *     With/without class size: 14/0 bytes
     *   Specialization {@link PyObjectIsTrueNodeGeneric#doObject}
     *     Activation probability: 0.35000
     *     With/without class size: 9/0 bytes
     * 
*/ @GeneratedBy(PyObjectIsTrueNodeGeneric.class) @SuppressWarnings("javadoc") public static final class PyObjectIsTrueNodeGenericNodeGen extends PyObjectIsTrueNodeGeneric { private static final StateField STATE_0_UPDATER = StateField.create(MethodHandles.lookup(), "state_0_"); private static final StateField STATE_1_UPDATER = StateField.create(MethodHandles.lookup(), "state_1_"); private static final StateField STATE_2_UPDATER = StateField.create(MethodHandles.lookup(), "state_2_"); /** * Source Info:
         *   Specialization: {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *   Parameter: {@link GetClassNode} getClassNode
         *   Inline method: {@link GetClassNodeGen#inline}
*/ private static final GetClassNode INLINED_GET_CLASS_NODE = GetClassNodeGen.inline(InlineTarget.create(GetClassNode.class, STATE_0_UPDATER.subUpdater(3, 17), ReferenceField.create(MethodHandles.lookup(), "getClassNode_field1_", Node.class))); /** * Source Info:
         *   Specialization: {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *   Parameter: {@link CastToJavaBooleanNode} cast
         *   Inline method: {@link CastToJavaBooleanNodeGen#inline}
*/ private static final CastToJavaBooleanNode INLINED_CAST = CastToJavaBooleanNodeGen.inline(InlineTarget.create(CastToJavaBooleanNode.class, STATE_1_UPDATER.subUpdater(0, 23), ReferenceField.create(MethodHandles.lookup(), "cast_field1_", Node.class), ReferenceField.create(MethodHandles.lookup(), "cast_field2_", Node.class))); /** * Source Info:
         *   Specialization: {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *   Parameter: {@link PyNumberIndexNode} indexNode
         *   Inline method: {@link PyNumberIndexNodeGen#inline}
*/ private static final PyNumberIndexNode INLINED_INDEX = PyNumberIndexNodeGen.inline(InlineTarget.create(PyNumberIndexNode.class, STATE_1_UPDATER.subUpdater(23, 6), ReferenceField.create(MethodHandles.lookup(), "index_field1_", Node.class), ReferenceField.create(MethodHandles.lookup(), "index_field2_", Node.class), ReferenceField.create(MethodHandles.lookup(), "index_field3_", Node.class), ReferenceField.create(MethodHandles.lookup(), "index_field4_", Node.class), ReferenceField.create(MethodHandles.lookup(), "index_field5_", Node.class))); /** * Source Info:
         *   Specialization: {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *   Parameter: {@link CastToJavaIntLossyNode} castLossy
         *   Inline method: {@link CastToJavaIntLossyNodeGen#inline}
*/ private static final CastToJavaIntLossyNode INLINED_CAST_LOSSY = CastToJavaIntLossyNodeGen.inline(InlineTarget.create(CastToJavaIntLossyNode.class, STATE_0_UPDATER.subUpdater(20, 11))); /** * Source Info:
         *   Specialization: {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *   Parameter: {@link PyNumberAsSizeNode} asSizeNode
         *   Inline method: {@link PyNumberAsSizeNodeGen#inline}
*/ private static final PyNumberAsSizeNode INLINED_AS_SIZE = PyNumberAsSizeNodeGen.inline(InlineTarget.create(PyNumberAsSizeNode.class, STATE_2_UPDATER.subUpdater(0, 5), ReferenceField.create(MethodHandles.lookup(), "asSize_field1_", Node.class), ReferenceField.create(MethodHandles.lookup(), "asSize_field2_", Node.class))); /** * Source Info:
         *   Specialization: {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *   Parameter: {@link Lazy} raiseNode
         *   Inline method: {@link LazyNodeGen#inline}
*/ private static final Lazy INLINED_RAISE = LazyNodeGen.inline(InlineTarget.create(Lazy.class, STATE_0_UPDATER.subUpdater(31, 1), ReferenceField.create(MethodHandles.lookup(), "raise_field1_", Node.class))); private static final Uncached UNCACHED = new Uncached(); /** * State Info:
         *   0: SpecializationActive {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *   1: SpecializationExcluded {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *   2: SpecializationActive {@link PyObjectIsTrueNodeGeneric#doObject}
         *   3-19: InlinedCache
         *        Specialization: {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *        Parameter: {@link GetClassNode} getClassNode
         *        Inline method: {@link GetClassNodeGen#inline}
         *   20-30: InlinedCache
         *        Specialization: {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *        Parameter: {@link CastToJavaIntLossyNode} castLossy
         *        Inline method: {@link CastToJavaIntLossyNodeGen#inline}
         *   31: InlinedCache
         *        Specialization: {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *        Parameter: {@link Lazy} raiseNode
         *        Inline method: {@link LazyNodeGen#inline}
         * 
*/ @CompilationFinal @UnsafeAccessedField private int state_0_; /** * State Info:
         *   0-22: InlinedCache
         *        Specialization: {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *        Parameter: {@link CastToJavaBooleanNode} cast
         *        Inline method: {@link CastToJavaBooleanNodeGen#inline}
         *   23-28: InlinedCache
         *        Specialization: {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *        Parameter: {@link PyNumberIndexNode} indexNode
         *        Inline method: {@link PyNumberIndexNodeGen#inline}
         * 
*/ @CompilationFinal @UnsafeAccessedField private int state_1_; /** * State Info:
         *   0-4: InlinedCache
         *        Specialization: {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *        Parameter: {@link PyNumberAsSizeNode} asSizeNode
         *        Inline method: {@link PyNumberAsSizeNodeGen#inline}
         * 
*/ @CompilationFinal @UnsafeAccessedField private int state_2_; /** * Source Info:
         *   Specialization: {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *   Parameter: {@link GetClassNode} getClassNode
         *   Inline method: {@link GetClassNodeGen#inline}
         *   Inline field: {@link Node} field1
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node getClassNode_field1_; /** * Source Info:
         *   Specialization: {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *   Parameter: {@link LookupSpecialMethodSlotNode} lookupBool
*/ @Child private LookupSpecialMethodSlotNode lookupBool; /** * Source Info:
         *   Specialization: {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *   Parameter: {@link LookupSpecialMethodSlotNode} lookupLen
*/ @Child private LookupSpecialMethodSlotNode lookupLen; /** * Source Info:
         *   Specialization: {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *   Parameter: {@link CallUnaryMethodNode} callBool
*/ @Child private CallUnaryMethodNode callBool; /** * Source Info:
         *   Specialization: {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *   Parameter: {@link CallUnaryMethodNode} callLen
*/ @Child private CallUnaryMethodNode callLen; /** * Source Info:
         *   Specialization: {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *   Parameter: {@link CastToJavaBooleanNode} cast
         *   Inline method: {@link CastToJavaBooleanNodeGen#inline}
         *   Inline field: {@link Node} field1
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node cast_field1_; /** * Source Info:
         *   Specialization: {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *   Parameter: {@link CastToJavaBooleanNode} cast
         *   Inline method: {@link CastToJavaBooleanNodeGen#inline}
         *   Inline field: {@link Node} field2
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node cast_field2_; /** * Source Info:
         *   Specialization: {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *   Parameter: {@link PyNumberIndexNode} indexNode
         *   Inline method: {@link PyNumberIndexNodeGen#inline}
         *   Inline field: {@link Node} field1
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node index_field1_; /** * Source Info:
         *   Specialization: {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *   Parameter: {@link PyNumberIndexNode} indexNode
         *   Inline method: {@link PyNumberIndexNodeGen#inline}
         *   Inline field: {@link Node} field2
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node index_field2_; /** * Source Info:
         *   Specialization: {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *   Parameter: {@link PyNumberIndexNode} indexNode
         *   Inline method: {@link PyNumberIndexNodeGen#inline}
         *   Inline field: {@link Node} field3
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node index_field3_; /** * Source Info:
         *   Specialization: {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *   Parameter: {@link PyNumberIndexNode} indexNode
         *   Inline method: {@link PyNumberIndexNodeGen#inline}
         *   Inline field: {@link Node} field4
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node index_field4_; /** * Source Info:
         *   Specialization: {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *   Parameter: {@link PyNumberIndexNode} indexNode
         *   Inline method: {@link PyNumberIndexNodeGen#inline}
         *   Inline field: {@link Node} field5
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node index_field5_; /** * Source Info:
         *   Specialization: {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *   Parameter: {@link PyNumberAsSizeNode} asSizeNode
         *   Inline method: {@link PyNumberAsSizeNodeGen#inline}
         *   Inline field: {@link Node} field1
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node asSize_field1_; /** * Source Info:
         *   Specialization: {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *   Parameter: {@link PyNumberAsSizeNode} asSizeNode
         *   Inline method: {@link PyNumberAsSizeNodeGen#inline}
         *   Inline field: {@link Node} field2
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node asSize_field2_; /** * Source Info:
         *   Specialization: {@link PyObjectIsTrueNodeGeneric#doObjectUnboxed}
         *   Parameter: {@link Lazy} raiseNode
         *   Inline method: {@link LazyNodeGen#inline}
         *   Inline field: {@link Node} field1
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node raise_field1_; private PyObjectIsTrueNodeGenericNodeGen() { } @Override protected Object executeObject(Frame frameValue, Object arg0Value) { int state_0 = this.state_0_; if ((state_0 & 0b101) != 0 /* is SpecializationActive[PyObjectIsTrueNode.PyObjectIsTrueNodeGeneric.doObjectUnboxed(VirtualFrame, Object, Node, GetClassNode, LookupSpecialMethodSlotNode, LookupSpecialMethodSlotNode, CallUnaryMethodNode, CallUnaryMethodNode, CastToJavaBooleanNode, PyNumberIndexNode, CastToJavaIntLossyNode, PyNumberAsSizeNode, Lazy)] || SpecializationActive[PyObjectIsTrueNode.PyObjectIsTrueNodeGeneric.doObject(VirtualFrame, Object, Node, GetClassNode, LookupSpecialMethodSlotNode, LookupSpecialMethodSlotNode, CallUnaryMethodNode, CallUnaryMethodNode, CastToJavaBooleanNode, PyNumberIndexNode, CastToJavaIntLossyNode, PyNumberAsSizeNode, Lazy)] */) { if ((state_0 & 0b1) != 0 /* is SpecializationActive[PyObjectIsTrueNode.PyObjectIsTrueNodeGeneric.doObjectUnboxed(VirtualFrame, Object, Node, GetClassNode, LookupSpecialMethodSlotNode, LookupSpecialMethodSlotNode, CallUnaryMethodNode, CallUnaryMethodNode, CastToJavaBooleanNode, PyNumberIndexNode, CastToJavaIntLossyNode, PyNumberAsSizeNode, Lazy)] */) { { LookupSpecialMethodSlotNode lookupBool_ = this.lookupBool; if (lookupBool_ != null) { LookupSpecialMethodSlotNode lookupLen_ = this.lookupLen; if (lookupLen_ != null) { CallUnaryMethodNode callBool_ = this.callBool; if (callBool_ != null) { CallUnaryMethodNode callLen_ = this.callLen; if (callLen_ != null) { if ((!(PGuards.isBoolean(arg0Value))) && (!(PGuards.isPNone(arg0Value))) && (!(PGuards.isInteger(arg0Value))) && (!(PGuards.isDouble(arg0Value)))) { Node inliningTarget__ = (this); try { return PyObjectIsTrueNodeGeneric.doObjectUnboxed((VirtualFrame) frameValue, arg0Value, inliningTarget__, INLINED_GET_CLASS_NODE, lookupBool_, lookupLen_, callBool_, callLen_, INLINED_CAST, INLINED_INDEX, INLINED_CAST_LOSSY, INLINED_AS_SIZE, INLINED_RAISE); } catch (UnexpectedResultException ex) { CompilerDirectives.transferToInterpreterAndInvalidate(); state_0 = this.state_0_; state_0 = state_0 & 0xfffffffe /* remove SpecializationActive[PyObjectIsTrueNode.PyObjectIsTrueNodeGeneric.doObjectUnboxed(VirtualFrame, Object, Node, GetClassNode, LookupSpecialMethodSlotNode, LookupSpecialMethodSlotNode, CallUnaryMethodNode, CallUnaryMethodNode, CastToJavaBooleanNode, PyNumberIndexNode, CastToJavaIntLossyNode, PyNumberAsSizeNode, Lazy)] */; state_0 = state_0 | 0b10 /* add SpecializationExcluded */; this.state_0_ = state_0; return ex.getResult(); } } } } } } } } if ((state_0 & 0b100) != 0 /* is SpecializationActive[PyObjectIsTrueNode.PyObjectIsTrueNodeGeneric.doObject(VirtualFrame, Object, Node, GetClassNode, LookupSpecialMethodSlotNode, LookupSpecialMethodSlotNode, CallUnaryMethodNode, CallUnaryMethodNode, CastToJavaBooleanNode, PyNumberIndexNode, CastToJavaIntLossyNode, PyNumberAsSizeNode, Lazy)] */) { { LookupSpecialMethodSlotNode lookupBool_1 = this.lookupBool; if (lookupBool_1 != null) { LookupSpecialMethodSlotNode lookupLen_1 = this.lookupLen; if (lookupLen_1 != null) { CallUnaryMethodNode callBool_1 = this.callBool; if (callBool_1 != null) { CallUnaryMethodNode callLen_1 = this.callLen; if (callLen_1 != null) { if ((!(PGuards.isBoolean(arg0Value))) && (!(PGuards.isPNone(arg0Value))) && (!(PGuards.isInteger(arg0Value))) && (!(PGuards.isDouble(arg0Value)))) { Node inliningTarget__1 = (this); return PyObjectIsTrueNodeGeneric.doObject((VirtualFrame) frameValue, arg0Value, inliningTarget__1, INLINED_GET_CLASS_NODE, lookupBool_1, lookupLen_1, callBool_1, callLen_1, INLINED_CAST, INLINED_INDEX, INLINED_CAST_LOSSY, INLINED_AS_SIZE, INLINED_RAISE); } } } } } } } } CompilerDirectives.transferToInterpreterAndInvalidate(); return executeAndSpecialize(frameValue, arg0Value); } @Override public boolean execute(Frame frameValue, Object arg0Value) { int state_0 = this.state_0_; if ((state_0 & 0b101) != 0 /* is SpecializationActive[PyObjectIsTrueNode.PyObjectIsTrueNodeGeneric.doObjectUnboxed(VirtualFrame, Object, Node, GetClassNode, LookupSpecialMethodSlotNode, LookupSpecialMethodSlotNode, CallUnaryMethodNode, CallUnaryMethodNode, CastToJavaBooleanNode, PyNumberIndexNode, CastToJavaIntLossyNode, PyNumberAsSizeNode, Lazy)] || SpecializationActive[PyObjectIsTrueNode.PyObjectIsTrueNodeGeneric.doObject(VirtualFrame, Object, Node, GetClassNode, LookupSpecialMethodSlotNode, LookupSpecialMethodSlotNode, CallUnaryMethodNode, CallUnaryMethodNode, CastToJavaBooleanNode, PyNumberIndexNode, CastToJavaIntLossyNode, PyNumberAsSizeNode, Lazy)] */) { if ((state_0 & 0b1) != 0 /* is SpecializationActive[PyObjectIsTrueNode.PyObjectIsTrueNodeGeneric.doObjectUnboxed(VirtualFrame, Object, Node, GetClassNode, LookupSpecialMethodSlotNode, LookupSpecialMethodSlotNode, CallUnaryMethodNode, CallUnaryMethodNode, CastToJavaBooleanNode, PyNumberIndexNode, CastToJavaIntLossyNode, PyNumberAsSizeNode, Lazy)] */) { { LookupSpecialMethodSlotNode lookupBool_ = this.lookupBool; if (lookupBool_ != null) { LookupSpecialMethodSlotNode lookupLen_ = this.lookupLen; if (lookupLen_ != null) { CallUnaryMethodNode callBool_ = this.callBool; if (callBool_ != null) { CallUnaryMethodNode callLen_ = this.callLen; if (callLen_ != null) { if ((!(PGuards.isBoolean(arg0Value))) && (!(PGuards.isPNone(arg0Value))) && (!(PGuards.isInteger(arg0Value))) && (!(PGuards.isDouble(arg0Value)))) { Node inliningTarget__ = (this); try { return PyObjectIsTrueNodeGeneric.doObjectUnboxed((VirtualFrame) frameValue, arg0Value, inliningTarget__, INLINED_GET_CLASS_NODE, lookupBool_, lookupLen_, callBool_, callLen_, INLINED_CAST, INLINED_INDEX, INLINED_CAST_LOSSY, INLINED_AS_SIZE, INLINED_RAISE); } catch (UnexpectedResultException ex) { CompilerDirectives.transferToInterpreterAndInvalidate(); state_0 = this.state_0_; state_0 = state_0 & 0xfffffffe /* remove SpecializationActive[PyObjectIsTrueNode.PyObjectIsTrueNodeGeneric.doObjectUnboxed(VirtualFrame, Object, Node, GetClassNode, LookupSpecialMethodSlotNode, LookupSpecialMethodSlotNode, CallUnaryMethodNode, CallUnaryMethodNode, CastToJavaBooleanNode, PyNumberIndexNode, CastToJavaIntLossyNode, PyNumberAsSizeNode, Lazy)] */; state_0 = state_0 | 0b10 /* add SpecializationExcluded */; this.state_0_ = state_0; return (boolean) ex.getResult(); } } } } } } } } if ((state_0 & 0b100) != 0 /* is SpecializationActive[PyObjectIsTrueNode.PyObjectIsTrueNodeGeneric.doObject(VirtualFrame, Object, Node, GetClassNode, LookupSpecialMethodSlotNode, LookupSpecialMethodSlotNode, CallUnaryMethodNode, CallUnaryMethodNode, CastToJavaBooleanNode, PyNumberIndexNode, CastToJavaIntLossyNode, PyNumberAsSizeNode, Lazy)] */) { { LookupSpecialMethodSlotNode lookupBool_1 = this.lookupBool; if (lookupBool_1 != null) { LookupSpecialMethodSlotNode lookupLen_1 = this.lookupLen; if (lookupLen_1 != null) { CallUnaryMethodNode callBool_1 = this.callBool; if (callBool_1 != null) { CallUnaryMethodNode callLen_1 = this.callLen; if (callLen_1 != null) { if ((!(PGuards.isBoolean(arg0Value))) && (!(PGuards.isPNone(arg0Value))) && (!(PGuards.isInteger(arg0Value))) && (!(PGuards.isDouble(arg0Value)))) { Node inliningTarget__1 = (this); return PyObjectIsTrueNodeGeneric.doObject((VirtualFrame) frameValue, arg0Value, inliningTarget__1, INLINED_GET_CLASS_NODE, lookupBool_1, lookupLen_1, callBool_1, callLen_1, INLINED_CAST, INLINED_INDEX, INLINED_CAST_LOSSY, INLINED_AS_SIZE, INLINED_RAISE); } } } } } } } } CompilerDirectives.transferToInterpreterAndInvalidate(); return (boolean) executeAndSpecialize(frameValue, arg0Value); } private Object executeAndSpecialize(Frame frameValue, Object arg0Value) { int state_0 = this.state_0_; { Node inliningTarget__ = null; if (((state_0 & 0b100)) == 0 /* is-not SpecializationActive[PyObjectIsTrueNode.PyObjectIsTrueNodeGeneric.doObject(VirtualFrame, Object, Node, GetClassNode, LookupSpecialMethodSlotNode, LookupSpecialMethodSlotNode, CallUnaryMethodNode, CallUnaryMethodNode, CastToJavaBooleanNode, PyNumberIndexNode, CastToJavaIntLossyNode, PyNumberAsSizeNode, Lazy)] */ && ((state_0 & 0b10)) == 0 /* is-not SpecializationExcluded */) { if ((!(PGuards.isBoolean(arg0Value))) && (!(PGuards.isPNone(arg0Value))) && (!(PGuards.isInteger(arg0Value))) && (!(PGuards.isDouble(arg0Value)))) { inliningTarget__ = (this); LookupSpecialMethodSlotNode lookupBool_; LookupSpecialMethodSlotNode lookupBool__shared = this.lookupBool; if (lookupBool__shared != null) { lookupBool_ = lookupBool__shared; } else { lookupBool_ = this.insert((LookupSpecialMethodSlotNode.create(SpecialMethodSlot.Bool))); if (lookupBool_ == null) { throw new IllegalStateException("Specialization 'doObjectUnboxed(VirtualFrame, Object, Node, GetClassNode, LookupSpecialMethodSlotNode, LookupSpecialMethodSlotNode, CallUnaryMethodNode, CallUnaryMethodNode, CastToJavaBooleanNode, PyNumberIndexNode, CastToJavaIntLossyNode, PyNumberAsSizeNode, Lazy)' contains a shared cache with name 'lookupBool' that returned a default value for the cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state."); } } if (this.lookupBool == null) { VarHandle.storeStoreFence(); this.lookupBool = lookupBool_; } LookupSpecialMethodSlotNode lookupLen_; LookupSpecialMethodSlotNode lookupLen__shared = this.lookupLen; if (lookupLen__shared != null) { lookupLen_ = lookupLen__shared; } else { lookupLen_ = this.insert((LookupSpecialMethodSlotNode.create(SpecialMethodSlot.Len))); if (lookupLen_ == null) { throw new IllegalStateException("Specialization 'doObjectUnboxed(VirtualFrame, Object, Node, GetClassNode, LookupSpecialMethodSlotNode, LookupSpecialMethodSlotNode, CallUnaryMethodNode, CallUnaryMethodNode, CastToJavaBooleanNode, PyNumberIndexNode, CastToJavaIntLossyNode, PyNumberAsSizeNode, Lazy)' contains a shared cache with name 'lookupLen' that returned a default value for the cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state."); } } if (this.lookupLen == null) { VarHandle.storeStoreFence(); this.lookupLen = lookupLen_; } CallUnaryMethodNode callBool_; CallUnaryMethodNode callBool__shared = this.callBool; if (callBool__shared != null) { callBool_ = callBool__shared; } else { callBool_ = this.insert((CallUnaryMethodNode.create())); if (callBool_ == null) { throw new IllegalStateException("Specialization 'doObjectUnboxed(VirtualFrame, Object, Node, GetClassNode, LookupSpecialMethodSlotNode, LookupSpecialMethodSlotNode, CallUnaryMethodNode, CallUnaryMethodNode, CastToJavaBooleanNode, PyNumberIndexNode, CastToJavaIntLossyNode, PyNumberAsSizeNode, Lazy)' contains a shared cache with name 'callBool' that returned a default value for the cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state."); } } if (this.callBool == null) { VarHandle.storeStoreFence(); this.callBool = callBool_; } CallUnaryMethodNode callLen_; CallUnaryMethodNode callLen__shared = this.callLen; if (callLen__shared != null) { callLen_ = callLen__shared; } else { callLen_ = this.insert((CallUnaryMethodNode.create())); if (callLen_ == null) { throw new IllegalStateException("Specialization 'doObjectUnboxed(VirtualFrame, Object, Node, GetClassNode, LookupSpecialMethodSlotNode, LookupSpecialMethodSlotNode, CallUnaryMethodNode, CallUnaryMethodNode, CastToJavaBooleanNode, PyNumberIndexNode, CastToJavaIntLossyNode, PyNumberAsSizeNode, Lazy)' contains a shared cache with name 'callLen' that returned a default value for the cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state."); } } if (this.callLen == null) { VarHandle.storeStoreFence(); this.callLen = callLen_; } state_0 = state_0 | 0b1 /* add SpecializationActive[PyObjectIsTrueNode.PyObjectIsTrueNodeGeneric.doObjectUnboxed(VirtualFrame, Object, Node, GetClassNode, LookupSpecialMethodSlotNode, LookupSpecialMethodSlotNode, CallUnaryMethodNode, CallUnaryMethodNode, CastToJavaBooleanNode, PyNumberIndexNode, CastToJavaIntLossyNode, PyNumberAsSizeNode, Lazy)] */; this.state_0_ = state_0; try { return PyObjectIsTrueNodeGeneric.doObjectUnboxed((VirtualFrame) frameValue, arg0Value, inliningTarget__, INLINED_GET_CLASS_NODE, lookupBool_, lookupLen_, callBool_, callLen_, INLINED_CAST, INLINED_INDEX, INLINED_CAST_LOSSY, INLINED_AS_SIZE, INLINED_RAISE); } catch (UnexpectedResultException ex) { CompilerDirectives.transferToInterpreterAndInvalidate(); state_0 = this.state_0_; state_0 = state_0 & 0xfffffffe /* remove SpecializationActive[PyObjectIsTrueNode.PyObjectIsTrueNodeGeneric.doObjectUnboxed(VirtualFrame, Object, Node, GetClassNode, LookupSpecialMethodSlotNode, LookupSpecialMethodSlotNode, CallUnaryMethodNode, CallUnaryMethodNode, CastToJavaBooleanNode, PyNumberIndexNode, CastToJavaIntLossyNode, PyNumberAsSizeNode, Lazy)] */; state_0 = state_0 | 0b10 /* add SpecializationExcluded */; this.state_0_ = state_0; return ex.getResult(); } } } } { Node inliningTarget__1 = null; if ((!(PGuards.isBoolean(arg0Value))) && (!(PGuards.isPNone(arg0Value))) && (!(PGuards.isInteger(arg0Value))) && (!(PGuards.isDouble(arg0Value)))) { inliningTarget__1 = (this); LookupSpecialMethodSlotNode lookupBool_1; LookupSpecialMethodSlotNode lookupBool_1_shared = this.lookupBool; if (lookupBool_1_shared != null) { lookupBool_1 = lookupBool_1_shared; } else { lookupBool_1 = this.insert((LookupSpecialMethodSlotNode.create(SpecialMethodSlot.Bool))); if (lookupBool_1 == null) { throw new IllegalStateException("Specialization 'doObject(VirtualFrame, Object, Node, GetClassNode, LookupSpecialMethodSlotNode, LookupSpecialMethodSlotNode, CallUnaryMethodNode, CallUnaryMethodNode, CastToJavaBooleanNode, PyNumberIndexNode, CastToJavaIntLossyNode, PyNumberAsSizeNode, Lazy)' contains a shared cache with name 'lookupBool' that returned a default value for the cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state."); } } if (this.lookupBool == null) { VarHandle.storeStoreFence(); this.lookupBool = lookupBool_1; } LookupSpecialMethodSlotNode lookupLen_1; LookupSpecialMethodSlotNode lookupLen_1_shared = this.lookupLen; if (lookupLen_1_shared != null) { lookupLen_1 = lookupLen_1_shared; } else { lookupLen_1 = this.insert((LookupSpecialMethodSlotNode.create(SpecialMethodSlot.Len))); if (lookupLen_1 == null) { throw new IllegalStateException("Specialization 'doObject(VirtualFrame, Object, Node, GetClassNode, LookupSpecialMethodSlotNode, LookupSpecialMethodSlotNode, CallUnaryMethodNode, CallUnaryMethodNode, CastToJavaBooleanNode, PyNumberIndexNode, CastToJavaIntLossyNode, PyNumberAsSizeNode, Lazy)' contains a shared cache with name 'lookupLen' that returned a default value for the cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state."); } } if (this.lookupLen == null) { VarHandle.storeStoreFence(); this.lookupLen = lookupLen_1; } CallUnaryMethodNode callBool_1; CallUnaryMethodNode callBool_1_shared = this.callBool; if (callBool_1_shared != null) { callBool_1 = callBool_1_shared; } else { callBool_1 = this.insert((CallUnaryMethodNode.create())); if (callBool_1 == null) { throw new IllegalStateException("Specialization 'doObject(VirtualFrame, Object, Node, GetClassNode, LookupSpecialMethodSlotNode, LookupSpecialMethodSlotNode, CallUnaryMethodNode, CallUnaryMethodNode, CastToJavaBooleanNode, PyNumberIndexNode, CastToJavaIntLossyNode, PyNumberAsSizeNode, Lazy)' contains a shared cache with name 'callBool' that returned a default value for the cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state."); } } if (this.callBool == null) { VarHandle.storeStoreFence(); this.callBool = callBool_1; } CallUnaryMethodNode callLen_1; CallUnaryMethodNode callLen_1_shared = this.callLen; if (callLen_1_shared != null) { callLen_1 = callLen_1_shared; } else { callLen_1 = this.insert((CallUnaryMethodNode.create())); if (callLen_1 == null) { throw new IllegalStateException("Specialization 'doObject(VirtualFrame, Object, Node, GetClassNode, LookupSpecialMethodSlotNode, LookupSpecialMethodSlotNode, CallUnaryMethodNode, CallUnaryMethodNode, CastToJavaBooleanNode, PyNumberIndexNode, CastToJavaIntLossyNode, PyNumberAsSizeNode, Lazy)' contains a shared cache with name 'callLen' that returned a default value for the cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state."); } } if (this.callLen == null) { VarHandle.storeStoreFence(); this.callLen = callLen_1; } state_0 = state_0 & 0xfffffffe /* remove SpecializationActive[PyObjectIsTrueNode.PyObjectIsTrueNodeGeneric.doObjectUnboxed(VirtualFrame, Object, Node, GetClassNode, LookupSpecialMethodSlotNode, LookupSpecialMethodSlotNode, CallUnaryMethodNode, CallUnaryMethodNode, CastToJavaBooleanNode, PyNumberIndexNode, CastToJavaIntLossyNode, PyNumberAsSizeNode, Lazy)] */; state_0 = state_0 | 0b100 /* add SpecializationActive[PyObjectIsTrueNode.PyObjectIsTrueNodeGeneric.doObject(VirtualFrame, Object, Node, GetClassNode, LookupSpecialMethodSlotNode, LookupSpecialMethodSlotNode, CallUnaryMethodNode, CallUnaryMethodNode, CastToJavaBooleanNode, PyNumberIndexNode, CastToJavaIntLossyNode, PyNumberAsSizeNode, Lazy)] */; this.state_0_ = state_0; return PyObjectIsTrueNodeGeneric.doObject((VirtualFrame) frameValue, arg0Value, inliningTarget__1, INLINED_GET_CLASS_NODE, lookupBool_1, lookupLen_1, callBool_1, callLen_1, INLINED_CAST, INLINED_INDEX, INLINED_CAST_LOSSY, INLINED_AS_SIZE, INLINED_RAISE); } } throw new UnsupportedSpecializationException(this, new Node[] {null}, arg0Value); } @Override public NodeCost getCost() { int state_0 = this.state_0_; if ((state_0 & 0b101) == 0) { return NodeCost.UNINITIALIZED; } else { int counter = 0; counter += Integer.bitCount((state_0 & 0b101)); if (counter == 1) { return NodeCost.MONOMORPHIC; } } return NodeCost.POLYMORPHIC; } @NeverDefault public static PyObjectIsTrueNodeGeneric create() { return new PyObjectIsTrueNodeGenericNodeGen(); } @NeverDefault public static PyObjectIsTrueNodeGeneric getUncached() { return PyObjectIsTrueNodeGenericNodeGen.UNCACHED; } @GeneratedBy(PyObjectIsTrueNodeGeneric.class) @DenyReplace private static final class Uncached extends PyObjectIsTrueNodeGeneric { @Override protected Object executeObject(Frame frameValue, Object arg0Value) { CompilerDirectives.transferToInterpreterAndInvalidate(); if ((!(PGuards.isBoolean(arg0Value))) && (!(PGuards.isPNone(arg0Value))) && (!(PGuards.isInteger(arg0Value))) && (!(PGuards.isDouble(arg0Value)))) { return PyObjectIsTrueNodeGeneric.doObject((VirtualFrame) frameValue, arg0Value, (this), (GetClassNode.getUncached()), (LookupSpecialMethodSlotNode.getUncached(SpecialMethodSlot.Bool)), (LookupSpecialMethodSlotNode.getUncached(SpecialMethodSlot.Len)), (CallUnaryMethodNode.getUncached()), (CallUnaryMethodNode.getUncached()), (CastToJavaBooleanNodeGen.getUncached()), (PyNumberIndexNodeGen.getUncached()), (CastToJavaIntLossyNodeGen.getUncached()), (PyNumberAsSizeNode.getUncached()), (Lazy.getUncached())); } throw new UnsupportedSpecializationException(this, new Node[] {null}, arg0Value); } @Override public boolean execute(Frame frameValue, Object arg0Value) { CompilerDirectives.transferToInterpreterAndInvalidate(); if ((!(PGuards.isBoolean(arg0Value))) && (!(PGuards.isPNone(arg0Value))) && (!(PGuards.isInteger(arg0Value))) && (!(PGuards.isDouble(arg0Value)))) { return PyObjectIsTrueNodeGeneric.doObject((VirtualFrame) frameValue, arg0Value, (this), (GetClassNode.getUncached()), (LookupSpecialMethodSlotNode.getUncached(SpecialMethodSlot.Bool)), (LookupSpecialMethodSlotNode.getUncached(SpecialMethodSlot.Len)), (CallUnaryMethodNode.getUncached()), (CallUnaryMethodNode.getUncached()), (CastToJavaBooleanNodeGen.getUncached()), (PyNumberIndexNodeGen.getUncached()), (CastToJavaIntLossyNodeGen.getUncached()), (PyNumberAsSizeNode.getUncached()), (Lazy.getUncached())); } throw new UnsupportedSpecializationException(this, new Node[] {null}, arg0Value); } @Override public NodeCost getCost() { return NodeCost.MEGAMORPHIC; } @Override public boolean isAdoptable() { return false; } } } }