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

com.oracle.graal.python.nodes.bytecode.RaiseNodeGen Maven / Gradle / Ivy

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

import com.oracle.graal.python.builtins.objects.PNone;
import com.oracle.graal.python.builtins.objects.cext.PythonAbstractNativeObject;
import com.oracle.graal.python.builtins.objects.exception.PBaseException;
import com.oracle.graal.python.builtins.objects.exception.ExceptionNodes.SetCauseNode;
import com.oracle.graal.python.builtins.objects.exception.ExceptionNodesFactory.SetCauseNodeGen;
import com.oracle.graal.python.builtins.objects.type.TypeNodes.IsTypeNode;
import com.oracle.graal.python.builtins.objects.type.TypeNodesFactory.IsTypeNodeGen;
import com.oracle.graal.python.lib.PyExceptionInstanceCheckNode;
import com.oracle.graal.python.lib.PyExceptionInstanceCheckNodeGen;
import com.oracle.graal.python.nodes.PGuards;
import com.oracle.graal.python.nodes.PRaiseNode;
import com.oracle.graal.python.nodes.PRaiseNode.Lazy;
import com.oracle.graal.python.nodes.PRaiseNodeGen.LazyNodeGen;
import com.oracle.graal.python.nodes.call.CallNode;
import com.oracle.graal.python.nodes.exception.ValidExceptionNode;
import com.oracle.graal.python.nodes.exception.ValidExceptionNodeGen;
import com.oracle.graal.python.nodes.util.ExceptionStateNodes.GetCaughtExceptionNode;
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.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.frame.VirtualFrame;
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.profiles.InlinedBranchProfile;
import com.oracle.truffle.api.profiles.InlinedConditionProfile;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.VarHandle;
import java.lang.invoke.MethodHandles.Lookup;
import java.util.Objects;

/**
 * Debug Info: 
 *   Specialization {@link RaiseNode#reraise}
 *     Activation probability: 0.21250
 *     With/without class size: 9/9 bytes
 *   Specialization {@link RaiseNode#doRaise(VirtualFrame, PBaseException, PNone, boolean)}
 *     Activation probability: 0.18750
 *     With/without class size: 6/0 bytes
 *   Specialization {@link RaiseNode#doRaiseNative(VirtualFrame, PythonAbstractNativeObject, PNone, boolean, Node, PyExceptionInstanceCheckNode)}
 *     Activation probability: 0.16250
 *     With/without class size: 6/0 bytes
 *   Specialization {@link RaiseNode#doRaise(VirtualFrame, PBaseException, Object, boolean, SetExceptionCauseNode)}
 *     Activation probability: 0.13750
 *     With/without class size: 5/0 bytes
 *   Specialization {@link RaiseNode#doRaiseNative(VirtualFrame, PythonAbstractNativeObject, Object, boolean, Node, PyExceptionInstanceCheckNode, SetExceptionCauseNode)}
 *     Activation probability: 0.11250
 *     With/without class size: 5/0 bytes
 *   Specialization {@link RaiseNode#doRaise(VirtualFrame, Object, PNone, boolean, Node, IsTypeNode, ValidExceptionNode, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, Lazy)}
 *     Activation probability: 0.08750
 *     With/without class size: 7/28 bytes
 *   Specialization {@link RaiseNode#doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode)}
 *     Activation probability: 0.06250
 *     With/without class size: 7/32 bytes
 *   Specialization {@link RaiseNode#doRaise(VirtualFrame, Object, Object, boolean, Node, InteropLibrary, Lazy)}
 *     Activation probability: 0.03750
 *     With/without class size: 5/9 bytes
 * 
*/ @GeneratedBy(RaiseNode.class) @SuppressWarnings({"javadoc", "unused"}) public final class RaiseNodeGen extends RaiseNode { private static final StateField STATE_1_UPDATER = StateField.create(MethodHandles.lookup(), "state_1_"); private static final StateField STATE_0_RaiseNode_UPDATER = StateField.create(MethodHandles.lookup(), "state_0_"); private static final StateField RAISE2__RAISE_NODE_RAISE2_STATE_0_UPDATER = StateField.create(Raise2Data.lookup_(), "raise2_state_0_"); private static final StateField RAISE3__RAISE_NODE_RAISE3_STATE_0_UPDATER = StateField.create(Raise3Data.lookup_(), "raise3_state_0_"); private static final StateField FALLBACK__RAISE_NODE_FALLBACK_STATE_0_UPDATER = StateField.create(FallbackData.lookup_(), "fallback_state_0_"); static final ReferenceField RAISE2_CACHE_UPDATER = ReferenceField.create(MethodHandles.lookup(), "raise2_cache", Raise2Data.class); static final ReferenceField RAISE3_CACHE_UPDATER = ReferenceField.create(MethodHandles.lookup(), "raise3_cache", Raise3Data.class); /** * Source Info:
     *   Specialization: {@link RaiseNode#doRaiseNative(VirtualFrame, PythonAbstractNativeObject, PNone, boolean, Node, PyExceptionInstanceCheckNode)}
     *   Parameter: {@link PyExceptionInstanceCheckNode} check
     *   Inline method: {@link PyExceptionInstanceCheckNodeGen#inline}
*/ private static final PyExceptionInstanceCheckNode INLINED_CHECK = PyExceptionInstanceCheckNodeGen.inline(InlineTarget.create(PyExceptionInstanceCheckNode.class, STATE_1_UPDATER.subUpdater(0, 19), ReferenceField.create(MethodHandles.lookup(), "check_field1_", Node.class), ReferenceField.create(MethodHandles.lookup(), "check_field2_", Node.class))); /** * Source Info:
     *   Specialization: {@link RaiseNode#reraise}
     *   Parameter: {@link Lazy} raise
     *   Inline method: {@link LazyNodeGen#inline}
*/ private static final Lazy INLINED_RERAISE_RAISE_ = LazyNodeGen.inline(InlineTarget.create(Lazy.class, STATE_0_RaiseNode_UPDATER.subUpdater(10, 1), ReferenceField.create(MethodHandles.lookup(), "reraise_raise__field1_", Node.class))); /** * Source Info:
     *   Specialization: {@link RaiseNode#reraise}
     *   Parameter: {@link InlinedConditionProfile} hasCurrentException
     *   Inline method: {@link InlinedConditionProfile#inline}
*/ private static final InlinedConditionProfile INLINED_RERAISE_HAS_CURRENT_EXCEPTION_ = InlinedConditionProfile.inline(InlineTarget.create(InlinedConditionProfile.class, STATE_0_RaiseNode_UPDATER.subUpdater(11, 2))); /** * Source Info:
     *   Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, PNone, boolean, Node, IsTypeNode, ValidExceptionNode, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, Lazy)}
     *   Parameter: {@link IsTypeNode} isTypeNode
     *   Inline method: {@link IsTypeNodeGen#inline}
*/ private static final IsTypeNode INLINED_RAISE2_IS_TYPE_NODE_ = IsTypeNodeGen.inline(InlineTarget.create(IsTypeNode.class, RAISE2__RAISE_NODE_RAISE2_STATE_0_UPDATER.subUpdater(2, 5), ReferenceField.create(Raise2Data.lookup_(), "raise2_isTypeNode__field1_", Node.class))); /** * Source Info:
     *   Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, PNone, boolean, Node, IsTypeNode, ValidExceptionNode, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, Lazy)}
     *   Parameter: {@link PyExceptionInstanceCheckNode} check
     *   Inline method: {@link PyExceptionInstanceCheckNodeGen#inline}
*/ private static final PyExceptionInstanceCheckNode INLINED_RAISE2_CHECK_ = PyExceptionInstanceCheckNodeGen.inline(InlineTarget.create(PyExceptionInstanceCheckNode.class, RAISE2__RAISE_NODE_RAISE2_STATE_0_UPDATER.subUpdater(7, 19), ReferenceField.create(Raise2Data.lookup_(), "raise2_check__field1_", Node.class), ReferenceField.create(Raise2Data.lookup_(), "raise2_check__field2_", Node.class))); /** * Source Info:
     *   Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, PNone, boolean, Node, IsTypeNode, ValidExceptionNode, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, Lazy)}
     *   Parameter: {@link InlinedBranchProfile} baseCheckFailedProfile
     *   Inline method: {@link InlinedBranchProfile#inline}
*/ private static final InlinedBranchProfile INLINED_RAISE2_BASE_CHECK_FAILED_PROFILE_ = InlinedBranchProfile.inline(InlineTarget.create(InlinedBranchProfile.class, RAISE2__RAISE_NODE_RAISE2_STATE_0_UPDATER.subUpdater(26, 1))); /** * Source Info:
     *   Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, PNone, boolean, Node, IsTypeNode, ValidExceptionNode, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, Lazy)}
     *   Parameter: {@link Lazy} raise
     *   Inline method: {@link LazyNodeGen#inline}
*/ private static final Lazy INLINED_RAISE2_RAISE_ = LazyNodeGen.inline(InlineTarget.create(Lazy.class, RAISE2__RAISE_NODE_RAISE2_STATE_0_UPDATER.subUpdater(27, 1), ReferenceField.create(Raise2Data.lookup_(), "raise2_raise__field1_", Node.class))); /** * Source Info:
     *   Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode)}
     *   Parameter: {@link IsTypeNode} isTypeNode
     *   Inline method: {@link IsTypeNodeGen#inline}
*/ private static final IsTypeNode INLINED_RAISE3_IS_TYPE_NODE_ = IsTypeNodeGen.inline(InlineTarget.create(IsTypeNode.class, RAISE3__RAISE_NODE_RAISE3_STATE_0_UPDATER.subUpdater(2, 5), ReferenceField.create(Raise3Data.lookup_(), "raise3_isTypeNode__field1_", Node.class))); /** * Source Info:
     *   Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode)}
     *   Parameter: {@link Lazy} raise
     *   Inline method: {@link LazyNodeGen#inline}
*/ private static final Lazy INLINED_RAISE3_RAISE_ = LazyNodeGen.inline(InlineTarget.create(Lazy.class, RAISE3__RAISE_NODE_RAISE3_STATE_0_UPDATER.subUpdater(7, 1), ReferenceField.create(Raise3Data.lookup_(), "raise3_raise__field1_", Node.class))); /** * Source Info:
     *   Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode)}
     *   Parameter: {@link PyExceptionInstanceCheckNode} check
     *   Inline method: {@link PyExceptionInstanceCheckNodeGen#inline}
*/ private static final PyExceptionInstanceCheckNode INLINED_RAISE3_CHECK_ = PyExceptionInstanceCheckNodeGen.inline(InlineTarget.create(PyExceptionInstanceCheckNode.class, RAISE3__RAISE_NODE_RAISE3_STATE_0_UPDATER.subUpdater(8, 19), ReferenceField.create(Raise3Data.lookup_(), "raise3_check__field1_", Node.class), ReferenceField.create(Raise3Data.lookup_(), "raise3_check__field2_", Node.class))); /** * Source Info:
     *   Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode)}
     *   Parameter: {@link InlinedBranchProfile} baseCheckFailedProfile
     *   Inline method: {@link InlinedBranchProfile#inline}
*/ private static final InlinedBranchProfile INLINED_RAISE3_BASE_CHECK_FAILED_PROFILE_ = InlinedBranchProfile.inline(InlineTarget.create(InlinedBranchProfile.class, RAISE3__RAISE_NODE_RAISE3_STATE_0_UPDATER.subUpdater(27, 1))); /** * Source Info:
     *   Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, Object, boolean, Node, InteropLibrary, Lazy)}
     *   Parameter: {@link Lazy} raise
     *   Inline method: {@link LazyNodeGen#inline}
*/ private static final Lazy INLINED_FALLBACK_RAISE_ = LazyNodeGen.inline(InlineTarget.create(Lazy.class, FALLBACK__RAISE_NODE_FALLBACK_STATE_0_UPDATER.subUpdater(0, 1), ReferenceField.create(FallbackData.lookup_(), "fallback_raise__field1_", Node.class))); private static final LibraryFactory INTEROP_LIBRARY_ = LibraryFactory.resolve(InteropLibrary.class); /** * State Info:
     *   0: SpecializationActive {@link RaiseNode#reraise}
     *   1: SpecializationActive {@link RaiseNode#doRaise(VirtualFrame, PBaseException, PNone, boolean)}
     *   2: SpecializationActive {@link RaiseNode#doRaiseNative(VirtualFrame, PythonAbstractNativeObject, PNone, boolean, Node, PyExceptionInstanceCheckNode)}
     *   3: GuardActive[guardIndex=0] {@link RaiseNode#doRaiseNative(VirtualFrame, PythonAbstractNativeObject, PNone, boolean, Node, PyExceptionInstanceCheckNode)}
     *   4: SpecializationActive {@link RaiseNode#doRaise(VirtualFrame, PBaseException, Object, boolean, SetExceptionCauseNode)}
     *   5: SpecializationActive {@link RaiseNode#doRaiseNative(VirtualFrame, PythonAbstractNativeObject, Object, boolean, Node, PyExceptionInstanceCheckNode, SetExceptionCauseNode)}
     *   6: GuardActive[guardIndex=0] {@link RaiseNode#doRaiseNative(VirtualFrame, PythonAbstractNativeObject, Object, boolean, Node, PyExceptionInstanceCheckNode, SetExceptionCauseNode)}
     *   7: SpecializationActive {@link RaiseNode#doRaise(VirtualFrame, Object, PNone, boolean, Node, IsTypeNode, ValidExceptionNode, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, Lazy)}
     *   8: SpecializationActive {@link RaiseNode#doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode)}
     *   9: SpecializationActive {@link RaiseNode#doRaise(VirtualFrame, Object, Object, boolean, Node, InteropLibrary, Lazy)}
     *   10: InlinedCache
     *        Specialization: {@link RaiseNode#reraise}
     *        Parameter: {@link Lazy} raise
     *        Inline method: {@link LazyNodeGen#inline}
     *   11-12: InlinedCache
     *        Specialization: {@link RaiseNode#reraise}
     *        Parameter: {@link InlinedConditionProfile} hasCurrentException
     *        Inline method: {@link InlinedConditionProfile#inline}
     * 
*/ @CompilationFinal @UnsafeAccessedField private int state_0_; /** * State Info:
     *   0-18: InlinedCache
     *        Specialization: {@link RaiseNode#doRaiseNative(VirtualFrame, PythonAbstractNativeObject, PNone, boolean, Node, PyExceptionInstanceCheckNode)}
     *        Parameter: {@link PyExceptionInstanceCheckNode} check
     *        Inline method: {@link PyExceptionInstanceCheckNodeGen#inline}
     * 
*/ @CompilationFinal @UnsafeAccessedField private int state_1_; /** * Source Info:
     *   Specialization: {@link RaiseNode#doRaiseNative(VirtualFrame, PythonAbstractNativeObject, PNone, boolean, Node, PyExceptionInstanceCheckNode)}
     *   Parameter: {@link PyExceptionInstanceCheckNode} check
     *   Inline method: {@link PyExceptionInstanceCheckNodeGen#inline}
     *   Inline field: {@link Node} field1
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node check_field1_; /** * Source Info:
     *   Specialization: {@link RaiseNode#doRaiseNative(VirtualFrame, PythonAbstractNativeObject, PNone, boolean, Node, PyExceptionInstanceCheckNode)}
     *   Parameter: {@link PyExceptionInstanceCheckNode} check
     *   Inline method: {@link PyExceptionInstanceCheckNodeGen#inline}
     *   Inline field: {@link Node} field2
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node check_field2_; /** * Source Info:
     *   Specialization: {@link RaiseNode#doRaise(VirtualFrame, PBaseException, Object, boolean, SetExceptionCauseNode)}
     *   Parameter: {@link SetExceptionCauseNode} setExceptionCauseNode
*/ @Child private SetExceptionCauseNode setExceptionCauseNode; /** * Source Info:
     *   Specialization: {@link RaiseNode#reraise}
     *   Parameter: {@link Lazy} raise
     *   Inline method: {@link LazyNodeGen#inline}
     *   Inline field: {@link Node} field1
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node reraise_raise__field1_; /** * Source Info:
     *   Specialization: {@link RaiseNode#reraise}
     *   Parameter: {@link GetCaughtExceptionNode} getCaughtExceptionNode
*/ @Child private GetCaughtExceptionNode reraise_getCaughtExceptionNode_; @UnsafeAccessedField @Child private Raise2Data raise2_cache; @UnsafeAccessedField @Child private Raise3Data raise3_cache; @Child private FallbackData fallback_cache; private RaiseNodeGen() { } @SuppressWarnings("static-method") private boolean fallbackGuard_(int state_0, Object arg0Value, Object arg1Value, boolean arg2Value) { if (arg0Value instanceof PNone) { PNone arg0Value_ = (PNone) arg0Value; if ((PGuards.isNoValue(arg0Value_))) { return false; } } if (arg1Value instanceof PNone) { if (arg0Value instanceof PBaseException) { PNone arg1Value_ = (PNone) arg1Value; if ((PGuards.isNoValue(arg1Value_))) { return false; } } if (arg0Value instanceof PythonAbstractNativeObject) { PythonAbstractNativeObject arg0Value_ = (PythonAbstractNativeObject) arg0Value; Node inliningTarget__ = (this); PyExceptionInstanceCheckNode check_ = INLINED_CHECK; if ((((state_0 & 0b1000)) == 0 /* is-not GuardActive[specialization=RaiseNode.doRaiseNative(VirtualFrame, PythonAbstractNativeObject, PNone, boolean, Node, PyExceptionInstanceCheckNode), guardIndex=0] */ || inliningTarget__ == null || check_ == null || (check_.execute(inliningTarget__, arg0Value_)))) { PNone arg1Value_ = (PNone) arg1Value; if ((((state_0 & 0b1000)) == 0 /* is-not GuardActive[specialization=RaiseNode.doRaiseNative(VirtualFrame, PythonAbstractNativeObject, PNone, boolean, Node, PyExceptionInstanceCheckNode), guardIndex=0] */ || (PGuards.isNoValue(arg1Value_)))) { return false; } } } } if (!((state_0 & 0b10000) != 0 /* is SpecializationActive[RaiseNode.doRaise(VirtualFrame, PBaseException, Object, boolean, SetExceptionCauseNode)] */) && arg0Value instanceof PBaseException && (!(PGuards.isNoValue(arg1Value)))) { return false; } if (arg0Value instanceof PythonAbstractNativeObject) { PythonAbstractNativeObject arg0Value_ = (PythonAbstractNativeObject) arg0Value; Node inliningTarget__1 = (this); PyExceptionInstanceCheckNode check_1 = INLINED_CHECK; if ((((state_0 & 0b1000000)) == 0 /* is-not GuardActive[specialization=RaiseNode.doRaiseNative(VirtualFrame, PythonAbstractNativeObject, Object, boolean, Node, PyExceptionInstanceCheckNode, SetExceptionCauseNode), guardIndex=0] */ || inliningTarget__1 == null || check_1 == null || (check_1.execute(inliningTarget__1, arg0Value_)))) { if ((((state_0 & 0b1000000)) == 0 /* is-not GuardActive[specialization=RaiseNode.doRaiseNative(VirtualFrame, PythonAbstractNativeObject, Object, boolean, Node, PyExceptionInstanceCheckNode, SetExceptionCauseNode), guardIndex=0] */ || (!(PGuards.isNoValue(arg1Value))))) { return false; } } } if (arg1Value instanceof PNone) { Raise2Data s5_ = this.raise2_cache; if ((s5_ == null || ((s5_.raise2_state_0_ & 0b1)) == 0 /* is-not GuardActive[specialization=RaiseNode.doRaise(VirtualFrame, Object, PNone, boolean, Node, IsTypeNode, ValidExceptionNode, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, Lazy), guardIndex=0] */ || (INLINED_RAISE2_IS_TYPE_NODE_.execute(s5_, arg0Value)))) { PNone arg1Value_ = (PNone) arg1Value; if ((s5_ == null || ((s5_.raise2_state_0_ & 0b1)) == 0 /* is-not GuardActive[specialization=RaiseNode.doRaise(VirtualFrame, Object, PNone, boolean, Node, IsTypeNode, ValidExceptionNode, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, Lazy), guardIndex=0] */ || (PGuards.isNoValue(arg1Value_)))) { return false; } } } { Raise3Data s6_ = this.raise3_cache; if ((s6_ == null || ((s6_.raise3_state_0_ & 0b1)) == 0 /* is-not GuardActive[specialization=RaiseNode.doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode), guardIndex=0] */ || (INLINED_RAISE3_IS_TYPE_NODE_.execute(s6_, arg0Value))) && (s6_ == null || ((s6_.raise3_state_0_ & 0b1)) == 0 /* is-not GuardActive[specialization=RaiseNode.doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode), guardIndex=0] */ || (!(PGuards.isNoValue(arg1Value))))) { return false; } } return true; } @Override public void execute(VirtualFrame frameValue, Object arg0Value, Object arg1Value, boolean arg2Value) { int state_0 = this.state_0_; if ((state_0 & 0b1110110111) != 0 /* is SpecializationActive[RaiseNode.reraise(VirtualFrame, PNone, Object, boolean, Node, Lazy, GetCaughtExceptionNode, InlinedConditionProfile)] || SpecializationActive[RaiseNode.doRaise(VirtualFrame, PBaseException, PNone, boolean)] || SpecializationActive[RaiseNode.doRaiseNative(VirtualFrame, PythonAbstractNativeObject, PNone, boolean, Node, PyExceptionInstanceCheckNode)] || SpecializationActive[RaiseNode.doRaise(VirtualFrame, PBaseException, Object, boolean, SetExceptionCauseNode)] || SpecializationActive[RaiseNode.doRaiseNative(VirtualFrame, PythonAbstractNativeObject, Object, boolean, Node, PyExceptionInstanceCheckNode, SetExceptionCauseNode)] || SpecializationActive[RaiseNode.doRaise(VirtualFrame, Object, PNone, boolean, Node, IsTypeNode, ValidExceptionNode, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, Lazy)] || SpecializationActive[RaiseNode.doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode)] || SpecializationActive[RaiseNode.doRaise(VirtualFrame, Object, Object, boolean, Node, InteropLibrary, Lazy)] */) { if ((state_0 & 0b1) != 0 /* is SpecializationActive[RaiseNode.reraise(VirtualFrame, PNone, Object, boolean, Node, Lazy, GetCaughtExceptionNode, InlinedConditionProfile)] */ && arg0Value instanceof PNone) { PNone arg0Value_ = (PNone) arg0Value; { GetCaughtExceptionNode getCaughtExceptionNode__ = this.reraise_getCaughtExceptionNode_; if (getCaughtExceptionNode__ != null) { if ((PGuards.isNoValue(arg0Value_))) { Node inliningTarget__2 = (this); RaiseNode.reraise(frameValue, arg0Value_, arg1Value, arg2Value, inliningTarget__2, INLINED_RERAISE_RAISE_, getCaughtExceptionNode__, INLINED_RERAISE_HAS_CURRENT_EXCEPTION_); return; } } } } if ((state_0 & 0b110) != 0 /* is SpecializationActive[RaiseNode.doRaise(VirtualFrame, PBaseException, PNone, boolean)] || SpecializationActive[RaiseNode.doRaiseNative(VirtualFrame, PythonAbstractNativeObject, PNone, boolean, Node, PyExceptionInstanceCheckNode)] */ && arg1Value instanceof PNone) { PNone arg1Value_ = (PNone) arg1Value; if ((state_0 & 0b10) != 0 /* is SpecializationActive[RaiseNode.doRaise(VirtualFrame, PBaseException, PNone, boolean)] */ && arg0Value instanceof PBaseException) { PBaseException arg0Value_ = (PBaseException) arg0Value; if ((PGuards.isNoValue(arg1Value_))) { doRaise(frameValue, arg0Value_, arg1Value_, arg2Value); return; } } if ((state_0 & 0b100) != 0 /* is SpecializationActive[RaiseNode.doRaiseNative(VirtualFrame, PythonAbstractNativeObject, PNone, boolean, Node, PyExceptionInstanceCheckNode)] */ && arg0Value instanceof PythonAbstractNativeObject) { PythonAbstractNativeObject arg0Value_ = (PythonAbstractNativeObject) arg0Value; { Node inliningTarget__ = (this); if ((INLINED_CHECK.execute(inliningTarget__, arg0Value_)) && (PGuards.isNoValue(arg1Value_))) { doRaiseNative(frameValue, arg0Value_, arg1Value_, arg2Value, inliningTarget__, INLINED_CHECK); return; } } } } if ((state_0 & 0b110000) != 0 /* is SpecializationActive[RaiseNode.doRaise(VirtualFrame, PBaseException, Object, boolean, SetExceptionCauseNode)] || SpecializationActive[RaiseNode.doRaiseNative(VirtualFrame, PythonAbstractNativeObject, Object, boolean, Node, PyExceptionInstanceCheckNode, SetExceptionCauseNode)] */) { if ((state_0 & 0b10000) != 0 /* is SpecializationActive[RaiseNode.doRaise(VirtualFrame, PBaseException, Object, boolean, SetExceptionCauseNode)] */ && arg0Value instanceof PBaseException) { PBaseException arg0Value_ = (PBaseException) arg0Value; { SetExceptionCauseNode setExceptionCauseNode_ = this.setExceptionCauseNode; if (setExceptionCauseNode_ != null) { if ((!(PGuards.isNoValue(arg1Value)))) { doRaise(frameValue, arg0Value_, arg1Value, arg2Value, setExceptionCauseNode_); return; } } } } if ((state_0 & 0b100000) != 0 /* is SpecializationActive[RaiseNode.doRaiseNative(VirtualFrame, PythonAbstractNativeObject, Object, boolean, Node, PyExceptionInstanceCheckNode, SetExceptionCauseNode)] */ && arg0Value instanceof PythonAbstractNativeObject) { PythonAbstractNativeObject arg0Value_ = (PythonAbstractNativeObject) arg0Value; { SetExceptionCauseNode setExceptionCauseNode_1 = this.setExceptionCauseNode; if (setExceptionCauseNode_1 != null) { Node inliningTarget__1 = (this); if ((INLINED_CHECK.execute(inliningTarget__1, arg0Value_)) && (!(PGuards.isNoValue(arg1Value)))) { doRaiseNative(frameValue, arg0Value_, arg1Value, arg2Value, inliningTarget__1, INLINED_CHECK, setExceptionCauseNode_1); return; } } } } } if ((state_0 & 0b1110000000) != 0 /* is SpecializationActive[RaiseNode.doRaise(VirtualFrame, Object, PNone, boolean, Node, IsTypeNode, ValidExceptionNode, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, Lazy)] || SpecializationActive[RaiseNode.doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode)] || SpecializationActive[RaiseNode.doRaise(VirtualFrame, Object, Object, boolean, Node, InteropLibrary, Lazy)] */) { if ((state_0 & 0b10000000) != 0 /* is SpecializationActive[RaiseNode.doRaise(VirtualFrame, Object, PNone, boolean, Node, IsTypeNode, ValidExceptionNode, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, Lazy)] */ && arg1Value instanceof PNone) { PNone arg1Value_ = (PNone) arg1Value; Raise2Data s5_ = this.raise2_cache; if (s5_ != null) { if ((s5_.raise2_state_0_ & 0b10) != 0 /* is SpecializationCachesInitialized */ && (INLINED_RAISE2_IS_TYPE_NODE_.execute(s5_, arg0Value)) && (PGuards.isNoValue(arg1Value_))) { Node inliningTarget__3 = (s5_); doRaise(frameValue, arg0Value, arg1Value_, arg2Value, inliningTarget__3, INLINED_RAISE2_IS_TYPE_NODE_, s5_.validException_, s5_.callConstructor_, INLINED_RAISE2_CHECK_, INLINED_RAISE2_BASE_CHECK_FAILED_PROFILE_, INLINED_RAISE2_RAISE_); return; } } } if ((state_0 & 0b1100000000) != 0 /* is SpecializationActive[RaiseNode.doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode)] || SpecializationActive[RaiseNode.doRaise(VirtualFrame, Object, Object, boolean, Node, InteropLibrary, Lazy)] */) { if ((state_0 & 0b100000000) != 0 /* is SpecializationActive[RaiseNode.doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode)] */) { Raise3Data s6_ = this.raise3_cache; if (s6_ != null) { if ((s6_.raise3_state_0_ & 0b10) != 0 /* is SpecializationCachesInitialized */ && (INLINED_RAISE3_IS_TYPE_NODE_.execute(s6_, arg0Value)) && (!(PGuards.isNoValue(arg1Value)))) { Node inliningTarget__4 = (s6_); doRaise(frameValue, arg0Value, arg1Value, arg2Value, inliningTarget__4, INLINED_RAISE3_IS_TYPE_NODE_, s6_.validException_, INLINED_RAISE3_RAISE_, s6_.callConstructor_, INLINED_RAISE3_CHECK_, INLINED_RAISE3_BASE_CHECK_FAILED_PROFILE_, s6_.setExceptionCauseNode_); return; } } } if ((state_0 & 0b1000000000) != 0 /* is SpecializationActive[RaiseNode.doRaise(VirtualFrame, Object, Object, boolean, Node, InteropLibrary, Lazy)] */) { FallbackData s7_ = this.fallback_cache; if (s7_ != null) { { Node inliningTarget__5 = (s7_); if (fallbackGuard_(state_0, arg0Value, arg1Value, arg2Value)) { RaiseNode.doRaise(frameValue, arg0Value, arg1Value, arg2Value, inliningTarget__5, s7_.lib_, INLINED_FALLBACK_RAISE_); return; } } } } } } } CompilerDirectives.transferToInterpreterAndInvalidate(); executeAndSpecialize(frameValue, arg0Value, arg1Value, arg2Value); return; } private void executeAndSpecialize(VirtualFrame frameValue, Object arg0Value, Object arg1Value, boolean arg2Value) { int state_0 = this.state_0_; { Node inliningTarget__2 = null; if (arg0Value instanceof PNone) { PNone arg0Value_ = (PNone) arg0Value; if ((PGuards.isNoValue(arg0Value_))) { inliningTarget__2 = (this); GetCaughtExceptionNode getCaughtExceptionNode__ = this.insert((GetCaughtExceptionNode.create())); Objects.requireNonNull(getCaughtExceptionNode__, "Specialization 'reraise(VirtualFrame, PNone, Object, boolean, Node, Lazy, GetCaughtExceptionNode, InlinedConditionProfile)' cache 'getCaughtExceptionNode' 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.reraise_getCaughtExceptionNode_ = getCaughtExceptionNode__; state_0 = state_0 | 0b1 /* add SpecializationActive[RaiseNode.reraise(VirtualFrame, PNone, Object, boolean, Node, Lazy, GetCaughtExceptionNode, InlinedConditionProfile)] */; this.state_0_ = state_0; RaiseNode.reraise(frameValue, arg0Value_, arg1Value, arg2Value, inliningTarget__2, INLINED_RERAISE_RAISE_, getCaughtExceptionNode__, INLINED_RERAISE_HAS_CURRENT_EXCEPTION_); return; } } } if (arg1Value instanceof PNone) { PNone arg1Value_ = (PNone) arg1Value; if (arg0Value instanceof PBaseException) { PBaseException arg0Value_ = (PBaseException) arg0Value; if ((PGuards.isNoValue(arg1Value_))) { state_0 = state_0 | 0b10 /* add SpecializationActive[RaiseNode.doRaise(VirtualFrame, PBaseException, PNone, boolean)] */; this.state_0_ = state_0; doRaise(frameValue, arg0Value_, arg1Value_, arg2Value); return; } } { Node inliningTarget__ = null; if (arg0Value instanceof PythonAbstractNativeObject) { PythonAbstractNativeObject arg0Value_ = (PythonAbstractNativeObject) arg0Value; { inliningTarget__ = (this); if (((state_0 & 0b1000)) == 0 /* is-not GuardActive[specialization=RaiseNode.doRaiseNative(VirtualFrame, PythonAbstractNativeObject, PNone, boolean, Node, PyExceptionInstanceCheckNode), guardIndex=0] */) { state_0 = state_0 | 0b1000 /* add GuardActive[specialization=RaiseNode.doRaiseNative(VirtualFrame, PythonAbstractNativeObject, PNone, boolean, Node, PyExceptionInstanceCheckNode), guardIndex=0] */; } if ((INLINED_CHECK.execute(inliningTarget__, arg0Value_)) && (PGuards.isNoValue(arg1Value_))) { state_0 = state_0 | 0b100 /* add SpecializationActive[RaiseNode.doRaiseNative(VirtualFrame, PythonAbstractNativeObject, PNone, boolean, Node, PyExceptionInstanceCheckNode)] */; this.state_0_ = state_0; doRaiseNative(frameValue, arg0Value_, arg1Value_, arg2Value, inliningTarget__, INLINED_CHECK); return; } } } } } if (arg0Value instanceof PBaseException) { PBaseException arg0Value_ = (PBaseException) arg0Value; if ((!(PGuards.isNoValue(arg1Value)))) { SetExceptionCauseNode setExceptionCauseNode_; SetExceptionCauseNode setExceptionCauseNode__shared = this.setExceptionCauseNode; if (setExceptionCauseNode__shared != null) { setExceptionCauseNode_ = setExceptionCauseNode__shared; } else { setExceptionCauseNode_ = this.insert((SetExceptionCauseNodeGen.create())); if (setExceptionCauseNode_ == null) { throw new IllegalStateException("Specialization 'doRaise(VirtualFrame, PBaseException, Object, boolean, SetExceptionCauseNode)' contains a shared cache with name 'setExceptionCauseNode' 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.setExceptionCauseNode == null) { VarHandle.storeStoreFence(); this.setExceptionCauseNode = setExceptionCauseNode_; } state_0 = state_0 | 0b10000 /* add SpecializationActive[RaiseNode.doRaise(VirtualFrame, PBaseException, Object, boolean, SetExceptionCauseNode)] */; this.state_0_ = state_0; doRaise(frameValue, arg0Value_, arg1Value, arg2Value, setExceptionCauseNode_); return; } } { Node inliningTarget__1 = null; if (arg0Value instanceof PythonAbstractNativeObject) { PythonAbstractNativeObject arg0Value_ = (PythonAbstractNativeObject) arg0Value; { inliningTarget__1 = (this); if (((state_0 & 0b1000000)) == 0 /* is-not GuardActive[specialization=RaiseNode.doRaiseNative(VirtualFrame, PythonAbstractNativeObject, Object, boolean, Node, PyExceptionInstanceCheckNode, SetExceptionCauseNode), guardIndex=0] */) { state_0 = state_0 | 0b1000000 /* add GuardActive[specialization=RaiseNode.doRaiseNative(VirtualFrame, PythonAbstractNativeObject, Object, boolean, Node, PyExceptionInstanceCheckNode, SetExceptionCauseNode), guardIndex=0] */; } if ((INLINED_CHECK.execute(inliningTarget__1, arg0Value_)) && (!(PGuards.isNoValue(arg1Value)))) { SetExceptionCauseNode setExceptionCauseNode_1; SetExceptionCauseNode setExceptionCauseNode_1_shared = this.setExceptionCauseNode; if (setExceptionCauseNode_1_shared != null) { setExceptionCauseNode_1 = setExceptionCauseNode_1_shared; } else { setExceptionCauseNode_1 = this.insert((SetExceptionCauseNodeGen.create())); if (setExceptionCauseNode_1 == null) { throw new IllegalStateException("Specialization 'doRaiseNative(VirtualFrame, PythonAbstractNativeObject, Object, boolean, Node, PyExceptionInstanceCheckNode, SetExceptionCauseNode)' contains a shared cache with name 'setExceptionCauseNode' 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.setExceptionCauseNode == null) { VarHandle.storeStoreFence(); this.setExceptionCauseNode = setExceptionCauseNode_1; } state_0 = state_0 | 0b100000 /* add SpecializationActive[RaiseNode.doRaiseNative(VirtualFrame, PythonAbstractNativeObject, Object, boolean, Node, PyExceptionInstanceCheckNode, SetExceptionCauseNode)] */; this.state_0_ = state_0; doRaiseNative(frameValue, arg0Value_, arg1Value, arg2Value, inliningTarget__1, INLINED_CHECK, setExceptionCauseNode_1); return; } } } } { Node inliningTarget__3 = null; if (arg1Value instanceof PNone) { PNone arg1Value_ = (PNone) arg1Value; while (true) { int count5_ = 0; Raise2Data s5_ = RAISE2_CACHE_UPDATER.getVolatile(this); Raise2Data s5_original = s5_; while (s5_ != null) { if ((s5_.raise2_state_0_ & 0b10) != 0 /* is SpecializationCachesInitialized */ && (INLINED_RAISE2_IS_TYPE_NODE_.execute(s5_, arg0Value)) && (PGuards.isNoValue(arg1Value_))) { inliningTarget__3 = (s5_); break; } if ((s5_.raise2_state_0_ & 0b10) != 0 /* is SpecializationCachesInitialized */) { count5_++; } s5_ = null; break; } if (s5_ == null && count5_ < 1) { { s5_ = this.insert(new Raise2Data()); if (((s5_.raise2_state_0_ & 0b1)) == 0 /* is-not GuardActive[specialization=RaiseNode.doRaise(VirtualFrame, Object, PNone, boolean, Node, IsTypeNode, ValidExceptionNode, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, Lazy), guardIndex=0] */) { s5_.raise2_state_0_ = s5_.raise2_state_0_ | 0b1 /* add GuardActive[specialization=RaiseNode.doRaise(VirtualFrame, Object, PNone, boolean, Node, IsTypeNode, ValidExceptionNode, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, Lazy), guardIndex=0] */; if (!RAISE2_CACHE_UPDATER.compareAndSet(this, s5_original, s5_)) { continue; } s5_original = s5_; s5_ = this.insert(new Raise2Data(s5_)); } if ((INLINED_RAISE2_IS_TYPE_NODE_.execute(s5_, arg0Value)) && (PGuards.isNoValue(arg1Value_))) { inliningTarget__3 = (s5_); ValidExceptionNode validException__ = s5_.insert((ValidExceptionNodeGen.create())); Objects.requireNonNull(validException__, "Specialization 'doRaise(VirtualFrame, Object, PNone, boolean, Node, IsTypeNode, ValidExceptionNode, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, Lazy)' cache 'validException' 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'."); s5_.validException_ = validException__; CallNode callConstructor__ = s5_.insert((CallNode.create())); Objects.requireNonNull(callConstructor__, "Specialization 'doRaise(VirtualFrame, Object, PNone, boolean, Node, IsTypeNode, ValidExceptionNode, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, Lazy)' cache 'callConstructor' 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'."); s5_.callConstructor_ = callConstructor__; s5_.raise2_state_0_ = s5_.raise2_state_0_ | 0b10 /* add SpecializationCachesInitialized */; if (!RAISE2_CACHE_UPDATER.compareAndSet(this, s5_original, s5_)) { continue; } state_0 = state_0 | 0b10000000 /* add SpecializationActive[RaiseNode.doRaise(VirtualFrame, Object, PNone, boolean, Node, IsTypeNode, ValidExceptionNode, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, Lazy)] */; this.state_0_ = state_0; } else { s5_ = null; } } } if (s5_ != null) { doRaise(frameValue, arg0Value, arg1Value_, arg2Value, inliningTarget__3, INLINED_RAISE2_IS_TYPE_NODE_, s5_.validException_, s5_.callConstructor_, INLINED_RAISE2_CHECK_, INLINED_RAISE2_BASE_CHECK_FAILED_PROFILE_, INLINED_RAISE2_RAISE_); return; } break; } } } { Node inliningTarget__4 = null; while (true) { int count6_ = 0; Raise3Data s6_ = RAISE3_CACHE_UPDATER.getVolatile(this); Raise3Data s6_original = s6_; while (s6_ != null) { if ((s6_.raise3_state_0_ & 0b10) != 0 /* is SpecializationCachesInitialized */ && (INLINED_RAISE3_IS_TYPE_NODE_.execute(s6_, arg0Value)) && (!(PGuards.isNoValue(arg1Value)))) { inliningTarget__4 = (s6_); break; } if ((s6_.raise3_state_0_ & 0b10) != 0 /* is SpecializationCachesInitialized */) { count6_++; } s6_ = null; break; } if (s6_ == null && count6_ < 1) { { s6_ = this.insert(new Raise3Data()); if (((s6_.raise3_state_0_ & 0b1)) == 0 /* is-not GuardActive[specialization=RaiseNode.doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode), guardIndex=0] */) { s6_.raise3_state_0_ = s6_.raise3_state_0_ | 0b1 /* add GuardActive[specialization=RaiseNode.doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode), guardIndex=0] */; if (!RAISE3_CACHE_UPDATER.compareAndSet(this, s6_original, s6_)) { continue; } s6_original = s6_; s6_ = this.insert(new Raise3Data(s6_)); } if ((INLINED_RAISE3_IS_TYPE_NODE_.execute(s6_, arg0Value)) && (!(PGuards.isNoValue(arg1Value)))) { inliningTarget__4 = (s6_); ValidExceptionNode validException__1 = s6_.insert((ValidExceptionNodeGen.create())); Objects.requireNonNull(validException__1, "Specialization 'doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode)' cache 'validException' 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'."); s6_.validException_ = validException__1; CallNode callConstructor__1 = s6_.insert((CallNode.create())); Objects.requireNonNull(callConstructor__1, "Specialization 'doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode)' cache 'callConstructor' 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'."); s6_.callConstructor_ = callConstructor__1; SetExceptionCauseNode setExceptionCauseNode__ = s6_.insert((SetExceptionCauseNodeGen.create())); Objects.requireNonNull(setExceptionCauseNode__, "Specialization 'doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode)' cache 'setExceptionCauseNode' 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'."); s6_.setExceptionCauseNode_ = setExceptionCauseNode__; s6_.raise3_state_0_ = s6_.raise3_state_0_ | 0b10 /* add SpecializationCachesInitialized */; if (!RAISE3_CACHE_UPDATER.compareAndSet(this, s6_original, s6_)) { continue; } state_0 = state_0 | 0b100000000 /* add SpecializationActive[RaiseNode.doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode)] */; this.state_0_ = state_0; } else { s6_ = null; } } } if (s6_ != null) { doRaise(frameValue, arg0Value, arg1Value, arg2Value, inliningTarget__4, INLINED_RAISE3_IS_TYPE_NODE_, s6_.validException_, INLINED_RAISE3_RAISE_, s6_.callConstructor_, INLINED_RAISE3_CHECK_, INLINED_RAISE3_BASE_CHECK_FAILED_PROFILE_, s6_.setExceptionCauseNode_); return; } break; } } { Node inliningTarget__5 = null; FallbackData s7_ = this.insert(new FallbackData()); inliningTarget__5 = (s7_); InteropLibrary lib__ = s7_.insert((INTEROP_LIBRARY_.createDispatched(1))); Objects.requireNonNull(lib__, "Specialization 'doRaise(VirtualFrame, Object, Object, boolean, Node, InteropLibrary, Lazy)' 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'."); s7_.lib_ = lib__; VarHandle.storeStoreFence(); this.fallback_cache = s7_; state_0 = state_0 | 0b1000000000 /* add SpecializationActive[RaiseNode.doRaise(VirtualFrame, Object, Object, boolean, Node, InteropLibrary, Lazy)] */; this.state_0_ = state_0; RaiseNode.doRaise(frameValue, arg0Value, arg1Value, arg2Value, inliningTarget__5, lib__, INLINED_FALLBACK_RAISE_); return; } } @Override public NodeCost getCost() { int state_0 = this.state_0_; if ((state_0 & 0b1110110111) == 0) { return NodeCost.UNINITIALIZED; } else { int counter = 0; counter += Integer.bitCount((state_0 & 0b1110110111)); if (counter == 1) { return NodeCost.MONOMORPHIC; } } return NodeCost.POLYMORPHIC; } @NeverDefault public static RaiseNode create() { return new RaiseNodeGen(); } @GeneratedBy(RaiseNode.class) @DenyReplace private static final class Raise2Data extends Node implements SpecializationDataNode { /** * State Info:
         *   0: GuardActive[guardIndex=0] {@link RaiseNode#doRaise(VirtualFrame, Object, PNone, boolean, Node, IsTypeNode, ValidExceptionNode, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, Lazy)}
         *   1: SpecializationCachesInitialized {@link RaiseNode#doRaise(VirtualFrame, Object, PNone, boolean, Node, IsTypeNode, ValidExceptionNode, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, Lazy)}
         *   2-6: InlinedCache
         *        Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, PNone, boolean, Node, IsTypeNode, ValidExceptionNode, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, Lazy)}
         *        Parameter: {@link IsTypeNode} isTypeNode
         *        Inline method: {@link IsTypeNodeGen#inline}
         *   7-25: InlinedCache
         *        Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, PNone, boolean, Node, IsTypeNode, ValidExceptionNode, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, Lazy)}
         *        Parameter: {@link PyExceptionInstanceCheckNode} check
         *        Inline method: {@link PyExceptionInstanceCheckNodeGen#inline}
         *   26: InlinedCache
         *        Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, PNone, boolean, Node, IsTypeNode, ValidExceptionNode, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, Lazy)}
         *        Parameter: {@link InlinedBranchProfile} baseCheckFailedProfile
         *        Inline method: {@link InlinedBranchProfile#inline}
         *   27: InlinedCache
         *        Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, PNone, boolean, Node, IsTypeNode, ValidExceptionNode, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, Lazy)}
         *        Parameter: {@link Lazy} raise
         *        Inline method: {@link LazyNodeGen#inline}
         * 
*/ @CompilationFinal @UnsafeAccessedField private int raise2_state_0_; /** * Source Info:
         *   Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, PNone, boolean, Node, IsTypeNode, ValidExceptionNode, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, Lazy)}
         *   Parameter: {@link IsTypeNode} isTypeNode
         *   Inline method: {@link IsTypeNodeGen#inline}
         *   Inline field: {@link Node} field1
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node raise2_isTypeNode__field1_; /** * Source Info:
         *   Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, PNone, boolean, Node, IsTypeNode, ValidExceptionNode, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, Lazy)}
         *   Parameter: {@link ValidExceptionNode} validException
*/ @Child ValidExceptionNode validException_; /** * Source Info:
         *   Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, PNone, boolean, Node, IsTypeNode, ValidExceptionNode, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, Lazy)}
         *   Parameter: {@link CallNode} callConstructor
*/ @Child CallNode callConstructor_; /** * Source Info:
         *   Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, PNone, boolean, Node, IsTypeNode, ValidExceptionNode, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, Lazy)}
         *   Parameter: {@link PyExceptionInstanceCheckNode} check
         *   Inline method: {@link PyExceptionInstanceCheckNodeGen#inline}
         *   Inline field: {@link Node} field1
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node raise2_check__field1_; /** * Source Info:
         *   Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, PNone, boolean, Node, IsTypeNode, ValidExceptionNode, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, Lazy)}
         *   Parameter: {@link PyExceptionInstanceCheckNode} check
         *   Inline method: {@link PyExceptionInstanceCheckNodeGen#inline}
         *   Inline field: {@link Node} field2
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node raise2_check__field2_; /** * Source Info:
         *   Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, PNone, boolean, Node, IsTypeNode, ValidExceptionNode, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, Lazy)}
         *   Parameter: {@link Lazy} raise
         *   Inline method: {@link LazyNodeGen#inline}
         *   Inline field: {@link Node} field1
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node raise2_raise__field1_; Raise2Data() { } Raise2Data(Raise2Data delegate) { this.raise2_state_0_ = delegate.raise2_state_0_; this.raise2_isTypeNode__field1_ = delegate.raise2_isTypeNode__field1_; this.validException_ = delegate.validException_; this.callConstructor_ = delegate.callConstructor_; this.raise2_check__field1_ = delegate.raise2_check__field1_; this.raise2_check__field2_ = delegate.raise2_check__field2_; this.raise2_raise__field1_ = delegate.raise2_raise__field1_; } @Override public NodeCost getCost() { return NodeCost.NONE; } private static Lookup lookup_() { return MethodHandles.lookup(); } } @GeneratedBy(RaiseNode.class) @DenyReplace private static final class Raise3Data extends Node implements SpecializationDataNode { /** * State Info:
         *   0: GuardActive[guardIndex=0] {@link RaiseNode#doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode)}
         *   1: SpecializationCachesInitialized {@link RaiseNode#doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode)}
         *   2-6: InlinedCache
         *        Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode)}
         *        Parameter: {@link IsTypeNode} isTypeNode
         *        Inline method: {@link IsTypeNodeGen#inline}
         *   7: InlinedCache
         *        Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode)}
         *        Parameter: {@link Lazy} raise
         *        Inline method: {@link LazyNodeGen#inline}
         *   8-26: InlinedCache
         *        Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode)}
         *        Parameter: {@link PyExceptionInstanceCheckNode} check
         *        Inline method: {@link PyExceptionInstanceCheckNodeGen#inline}
         *   27: InlinedCache
         *        Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode)}
         *        Parameter: {@link InlinedBranchProfile} baseCheckFailedProfile
         *        Inline method: {@link InlinedBranchProfile#inline}
         * 
*/ @CompilationFinal @UnsafeAccessedField private int raise3_state_0_; /** * Source Info:
         *   Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode)}
         *   Parameter: {@link IsTypeNode} isTypeNode
         *   Inline method: {@link IsTypeNodeGen#inline}
         *   Inline field: {@link Node} field1
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node raise3_isTypeNode__field1_; /** * Source Info:
         *   Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode)}
         *   Parameter: {@link ValidExceptionNode} validException
*/ @Child ValidExceptionNode validException_; /** * Source Info:
         *   Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode)}
         *   Parameter: {@link Lazy} raise
         *   Inline method: {@link LazyNodeGen#inline}
         *   Inline field: {@link Node} field1
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node raise3_raise__field1_; /** * Source Info:
         *   Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode)}
         *   Parameter: {@link CallNode} callConstructor
*/ @Child CallNode callConstructor_; /** * Source Info:
         *   Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode)}
         *   Parameter: {@link PyExceptionInstanceCheckNode} check
         *   Inline method: {@link PyExceptionInstanceCheckNodeGen#inline}
         *   Inline field: {@link Node} field1
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node raise3_check__field1_; /** * Source Info:
         *   Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode)}
         *   Parameter: {@link PyExceptionInstanceCheckNode} check
         *   Inline method: {@link PyExceptionInstanceCheckNodeGen#inline}
         *   Inline field: {@link Node} field2
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node raise3_check__field2_; /** * Source Info:
         *   Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, Object, boolean, Node, IsTypeNode, ValidExceptionNode, Lazy, CallNode, PyExceptionInstanceCheckNode, InlinedBranchProfile, SetExceptionCauseNode)}
         *   Parameter: {@link SetExceptionCauseNode} setExceptionCauseNode
*/ @Child SetExceptionCauseNode setExceptionCauseNode_; Raise3Data() { } Raise3Data(Raise3Data delegate) { this.raise3_state_0_ = delegate.raise3_state_0_; this.raise3_isTypeNode__field1_ = delegate.raise3_isTypeNode__field1_; this.validException_ = delegate.validException_; this.raise3_raise__field1_ = delegate.raise3_raise__field1_; this.callConstructor_ = delegate.callConstructor_; this.raise3_check__field1_ = delegate.raise3_check__field1_; this.raise3_check__field2_ = delegate.raise3_check__field2_; this.setExceptionCauseNode_ = delegate.setExceptionCauseNode_; } @Override public NodeCost getCost() { return NodeCost.NONE; } private static Lookup lookup_() { return MethodHandles.lookup(); } } @GeneratedBy(RaiseNode.class) @DenyReplace private static final class FallbackData extends Node implements SpecializationDataNode { /** * State Info:
         *   0: InlinedCache
         *        Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, Object, boolean, Node, InteropLibrary, Lazy)}
         *        Parameter: {@link Lazy} raise
         *        Inline method: {@link LazyNodeGen#inline}
         * 
*/ @CompilationFinal @UnsafeAccessedField private int fallback_state_0_; /** * Source Info:
         *   Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, Object, boolean, Node, InteropLibrary, Lazy)}
         *   Parameter: {@link InteropLibrary} lib
*/ @Child InteropLibrary lib_; /** * Source Info:
         *   Specialization: {@link RaiseNode#doRaise(VirtualFrame, Object, Object, boolean, Node, InteropLibrary, Lazy)}
         *   Parameter: {@link Lazy} raise
         *   Inline method: {@link LazyNodeGen#inline}
         *   Inline field: {@link Node} field1
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node fallback_raise__field1_; FallbackData() { } @Override public NodeCost getCost() { return NodeCost.NONE; } private static Lookup lookup_() { return MethodHandles.lookup(); } } /** * Debug Info:
     *   Specialization {@link SetExceptionCauseNode#setNone}
     *     Activation probability: 0.38500
     *     With/without class size: 13/5 bytes
     *   Specialization {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, PyExceptionInstanceCheckNode, SetCauseNode)}
     *     Activation probability: 0.29500
     *     With/without class size: 13/15 bytes
     *   Specialization {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, InlinedBranchProfile, ValidExceptionNode, CallNode, Lazy, PyExceptionInstanceCheckNode, SetCauseNode)}
     *     Activation probability: 0.20500
     *     With/without class size: 13/32 bytes
     *   Specialization {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, PyExceptionInstanceCheckNode, PRaiseNode)}
     *     Activation probability: 0.11500
     *     With/without class size: 8/19 bytes
     * 
*/ @GeneratedBy(SetExceptionCauseNode.class) @SuppressWarnings("javadoc") public static final class SetExceptionCauseNodeGen extends SetExceptionCauseNode { private static final StateField STATE_0_SetExceptionCauseNode_UPDATER = StateField.create(MethodHandles.lookup(), "state_0_"); private static final StateField SET_CAUSE0__SET_EXCEPTION_CAUSE_NODE_SET_CAUSE0_STATE_0_UPDATER = StateField.create(SetCause0Data.lookup_(), "setCause0_state_0_"); private static final StateField SET_CAUSE1__SET_EXCEPTION_CAUSE_NODE_SET_CAUSE1_STATE_0_UPDATER = StateField.create(SetCause1Data.lookup_(), "setCause1_state_0_"); private static final StateField SET_CAUSE2__SET_EXCEPTION_CAUSE_NODE_SET_CAUSE2_STATE_0_UPDATER = StateField.create(SetCause2Data.lookup_(), "setCause2_state_0_"); static final ReferenceField SET_CAUSE0_CACHE_UPDATER = ReferenceField.create(MethodHandles.lookup(), "setCause0_cache", SetCause0Data.class); static final ReferenceField SET_CAUSE1_CACHE_UPDATER = ReferenceField.create(MethodHandles.lookup(), "setCause1_cache", SetCause1Data.class); static final ReferenceField SET_CAUSE2_CACHE_UPDATER = ReferenceField.create(MethodHandles.lookup(), "setCause2_cache", SetCause2Data.class); /** * Source Info:
         *   Specialization: {@link SetExceptionCauseNode#setNone}
         *   Parameter: {@link SetCauseNode} setCauseNode
         *   Inline method: {@link SetCauseNodeGen#inline}
*/ private static final SetCauseNode INLINED_SET_NONE_SET_CAUSE_NODE_ = SetCauseNodeGen.inline(InlineTarget.create(SetCauseNode.class, STATE_0_SetExceptionCauseNode_UPDATER.subUpdater(4, 4), ReferenceField.create(MethodHandles.lookup(), "setNone_setCauseNode__field1_", Node.class))); /** * Source Info:
         *   Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, PyExceptionInstanceCheckNode, SetCauseNode)}
         *   Parameter: {@link PyExceptionInstanceCheckNode} check
         *   Inline method: {@link PyExceptionInstanceCheckNodeGen#inline}
*/ private static final PyExceptionInstanceCheckNode INLINED_SET_CAUSE0_CHECK_ = PyExceptionInstanceCheckNodeGen.inline(InlineTarget.create(PyExceptionInstanceCheckNode.class, SET_CAUSE0__SET_EXCEPTION_CAUSE_NODE_SET_CAUSE0_STATE_0_UPDATER.subUpdater(0, 19), ReferenceField.create(SetCause0Data.lookup_(), "setCause0_check__field1_", Node.class), ReferenceField.create(SetCause0Data.lookup_(), "setCause0_check__field2_", Node.class))); /** * Source Info:
         *   Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, PyExceptionInstanceCheckNode, SetCauseNode)}
         *   Parameter: {@link SetCauseNode} setCauseNode
         *   Inline method: {@link SetCauseNodeGen#inline}
*/ private static final SetCauseNode INLINED_SET_CAUSE0_SET_CAUSE_NODE_ = SetCauseNodeGen.inline(InlineTarget.create(SetCauseNode.class, SET_CAUSE0__SET_EXCEPTION_CAUSE_NODE_SET_CAUSE0_STATE_0_UPDATER.subUpdater(19, 4), ReferenceField.create(SetCause0Data.lookup_(), "setCause0_setCauseNode__field1_", Node.class))); /** * Source Info:
         *   Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, InlinedBranchProfile, ValidExceptionNode, CallNode, Lazy, PyExceptionInstanceCheckNode, SetCauseNode)}
         *   Parameter: {@link IsTypeNode} isTypeNode
         *   Inline method: {@link IsTypeNodeGen#inline}
*/ private static final IsTypeNode INLINED_SET_CAUSE1_IS_TYPE_NODE_ = IsTypeNodeGen.inline(InlineTarget.create(IsTypeNode.class, SET_CAUSE1__SET_EXCEPTION_CAUSE_NODE_SET_CAUSE1_STATE_0_UPDATER.subUpdater(0, 5), ReferenceField.create(SetCause1Data.lookup_(), "setCause1_isTypeNode__field1_", Node.class))); /** * Source Info:
         *   Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, InlinedBranchProfile, ValidExceptionNode, CallNode, Lazy, PyExceptionInstanceCheckNode, SetCauseNode)}
         *   Parameter: {@link InlinedBranchProfile} baseCheckFailedProfile
         *   Inline method: {@link InlinedBranchProfile#inline}
*/ private static final InlinedBranchProfile INLINED_SET_CAUSE1_BASE_CHECK_FAILED_PROFILE_ = InlinedBranchProfile.inline(InlineTarget.create(InlinedBranchProfile.class, SET_CAUSE1__SET_EXCEPTION_CAUSE_NODE_SET_CAUSE1_STATE_0_UPDATER.subUpdater(5, 1))); /** * Source Info:
         *   Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, InlinedBranchProfile, ValidExceptionNode, CallNode, Lazy, PyExceptionInstanceCheckNode, SetCauseNode)}
         *   Parameter: {@link Lazy} raise
         *   Inline method: {@link LazyNodeGen#inline}
*/ private static final Lazy INLINED_SET_CAUSE1_RAISE_ = LazyNodeGen.inline(InlineTarget.create(Lazy.class, SET_CAUSE1__SET_EXCEPTION_CAUSE_NODE_SET_CAUSE1_STATE_0_UPDATER.subUpdater(6, 1), ReferenceField.create(SetCause1Data.lookup_(), "setCause1_raise__field1_", Node.class))); /** * Source Info:
         *   Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, InlinedBranchProfile, ValidExceptionNode, CallNode, Lazy, PyExceptionInstanceCheckNode, SetCauseNode)}
         *   Parameter: {@link PyExceptionInstanceCheckNode} check
         *   Inline method: {@link PyExceptionInstanceCheckNodeGen#inline}
*/ private static final PyExceptionInstanceCheckNode INLINED_SET_CAUSE1_CHECK_ = PyExceptionInstanceCheckNodeGen.inline(InlineTarget.create(PyExceptionInstanceCheckNode.class, SET_CAUSE1__SET_EXCEPTION_CAUSE_NODE_SET_CAUSE1_STATE_0_UPDATER.subUpdater(7, 19), ReferenceField.create(SetCause1Data.lookup_(), "setCause1_check__field1_", Node.class), ReferenceField.create(SetCause1Data.lookup_(), "setCause1_check__field2_", Node.class))); /** * Source Info:
         *   Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, InlinedBranchProfile, ValidExceptionNode, CallNode, Lazy, PyExceptionInstanceCheckNode, SetCauseNode)}
         *   Parameter: {@link SetCauseNode} setCauseNode
         *   Inline method: {@link SetCauseNodeGen#inline}
*/ private static final SetCauseNode INLINED_SET_CAUSE1_SET_CAUSE_NODE_ = SetCauseNodeGen.inline(InlineTarget.create(SetCauseNode.class, SET_CAUSE1__SET_EXCEPTION_CAUSE_NODE_SET_CAUSE1_STATE_0_UPDATER.subUpdater(26, 4), ReferenceField.create(SetCause1Data.lookup_(), "setCause1_setCauseNode__field1_", Node.class))); /** * Source Info:
         *   Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, PyExceptionInstanceCheckNode, PRaiseNode)}
         *   Parameter: {@link IsTypeNode} isTypeNode
         *   Inline method: {@link IsTypeNodeGen#inline}
*/ private static final IsTypeNode INLINED_SET_CAUSE2_IS_TYPE_NODE_ = IsTypeNodeGen.inline(InlineTarget.create(IsTypeNode.class, SET_CAUSE2__SET_EXCEPTION_CAUSE_NODE_SET_CAUSE2_STATE_0_UPDATER.subUpdater(0, 5), ReferenceField.create(SetCause2Data.lookup_(), "setCause2_isTypeNode__field1_", Node.class))); /** * Source Info:
         *   Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, PyExceptionInstanceCheckNode, PRaiseNode)}
         *   Parameter: {@link PyExceptionInstanceCheckNode} check
         *   Inline method: {@link PyExceptionInstanceCheckNodeGen#inline}
*/ private static final PyExceptionInstanceCheckNode INLINED_SET_CAUSE2_CHECK_ = PyExceptionInstanceCheckNodeGen.inline(InlineTarget.create(PyExceptionInstanceCheckNode.class, SET_CAUSE2__SET_EXCEPTION_CAUSE_NODE_SET_CAUSE2_STATE_0_UPDATER.subUpdater(5, 19), ReferenceField.create(SetCause2Data.lookup_(), "setCause2_check__field1_", Node.class), ReferenceField.create(SetCause2Data.lookup_(), "setCause2_check__field2_", Node.class))); /** * State Info:
         *   0: SpecializationActive {@link SetExceptionCauseNode#setNone}
         *   1: SpecializationActive {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, PyExceptionInstanceCheckNode, SetCauseNode)}
         *   2: SpecializationActive {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, InlinedBranchProfile, ValidExceptionNode, CallNode, Lazy, PyExceptionInstanceCheckNode, SetCauseNode)}
         *   3: SpecializationActive {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, PyExceptionInstanceCheckNode, PRaiseNode)}
         *   4-7: InlinedCache
         *        Specialization: {@link SetExceptionCauseNode#setNone}
         *        Parameter: {@link SetCauseNode} setCauseNode
         *        Inline method: {@link SetCauseNodeGen#inline}
         * 
*/ @CompilationFinal @UnsafeAccessedField private int state_0_; /** * Source Info:
         *   Specialization: {@link SetExceptionCauseNode#setNone}
         *   Parameter: {@link SetCauseNode} setCauseNode
         *   Inline method: {@link SetCauseNodeGen#inline}
         *   Inline field: {@link Node} field1
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node setNone_setCauseNode__field1_; @UnsafeAccessedField @Child private SetCause0Data setCause0_cache; @UnsafeAccessedField @Child private SetCause1Data setCause1_cache; @UnsafeAccessedField @Child private SetCause2Data setCause2_cache; private SetExceptionCauseNodeGen() { } @Override public void execute(VirtualFrame frameValue, Object arg0Value, Object arg1Value) { int state_0 = this.state_0_; if ((state_0 & 0b1111) != 0 /* is SpecializationActive[RaiseNode.SetExceptionCauseNode.setNone(VirtualFrame, Object, PNone, Node, SetCauseNode)] || SpecializationActive[RaiseNode.SetExceptionCauseNode.setCause(VirtualFrame, Object, Object, Node, PyExceptionInstanceCheckNode, SetCauseNode)] || SpecializationActive[RaiseNode.SetExceptionCauseNode.setCause(VirtualFrame, Object, Object, Node, IsTypeNode, InlinedBranchProfile, ValidExceptionNode, CallNode, Lazy, PyExceptionInstanceCheckNode, SetCauseNode)] || SpecializationActive[RaiseNode.SetExceptionCauseNode.setCause(VirtualFrame, Object, Object, Node, IsTypeNode, PyExceptionInstanceCheckNode, PRaiseNode)] */) { if ((state_0 & 0b1) != 0 /* is SpecializationActive[RaiseNode.SetExceptionCauseNode.setNone(VirtualFrame, Object, PNone, Node, SetCauseNode)] */ && arg1Value instanceof PNone) { PNone arg1Value_ = (PNone) arg1Value; if ((PGuards.isNone(arg1Value_))) { Node inliningTarget__ = (this); SetExceptionCauseNode.setNone(frameValue, arg0Value, arg1Value_, inliningTarget__, INLINED_SET_NONE_SET_CAUSE_NODE_); return; } } if ((state_0 & 0b1110) != 0 /* is SpecializationActive[RaiseNode.SetExceptionCauseNode.setCause(VirtualFrame, Object, Object, Node, PyExceptionInstanceCheckNode, SetCauseNode)] || SpecializationActive[RaiseNode.SetExceptionCauseNode.setCause(VirtualFrame, Object, Object, Node, IsTypeNode, InlinedBranchProfile, ValidExceptionNode, CallNode, Lazy, PyExceptionInstanceCheckNode, SetCauseNode)] || SpecializationActive[RaiseNode.SetExceptionCauseNode.setCause(VirtualFrame, Object, Object, Node, IsTypeNode, PyExceptionInstanceCheckNode, PRaiseNode)] */) { if ((state_0 & 0b10) != 0 /* is SpecializationActive[RaiseNode.SetExceptionCauseNode.setCause(VirtualFrame, Object, Object, Node, PyExceptionInstanceCheckNode, SetCauseNode)] */) { SetCause0Data s1_ = this.setCause0_cache; if (s1_ != null) { { Node inliningTarget__1 = (s1_); if ((INLINED_SET_CAUSE0_CHECK_.execute(inliningTarget__1, arg1Value))) { SetExceptionCauseNode.setCause(frameValue, arg0Value, arg1Value, inliningTarget__1, INLINED_SET_CAUSE0_CHECK_, INLINED_SET_CAUSE0_SET_CAUSE_NODE_); return; } } } } if ((state_0 & 0b100) != 0 /* is SpecializationActive[RaiseNode.SetExceptionCauseNode.setCause(VirtualFrame, Object, Object, Node, IsTypeNode, InlinedBranchProfile, ValidExceptionNode, CallNode, Lazy, PyExceptionInstanceCheckNode, SetCauseNode)] */) { SetCause1Data s2_ = this.setCause1_cache; if (s2_ != null) { { Node inliningTarget__2 = (s2_); if ((INLINED_SET_CAUSE1_IS_TYPE_NODE_.execute(inliningTarget__2, arg1Value))) { SetExceptionCauseNode.setCause(frameValue, arg0Value, arg1Value, inliningTarget__2, INLINED_SET_CAUSE1_IS_TYPE_NODE_, INLINED_SET_CAUSE1_BASE_CHECK_FAILED_PROFILE_, s2_.validException_, s2_.callConstructor_, INLINED_SET_CAUSE1_RAISE_, INLINED_SET_CAUSE1_CHECK_, INLINED_SET_CAUSE1_SET_CAUSE_NODE_); return; } } } } if ((state_0 & 0b1000) != 0 /* is SpecializationActive[RaiseNode.SetExceptionCauseNode.setCause(VirtualFrame, Object, Object, Node, IsTypeNode, PyExceptionInstanceCheckNode, PRaiseNode)] */) { SetCause2Data s3_ = this.setCause2_cache; if (s3_ != null) { { Node inliningTarget__3 = (s3_); if ((!(INLINED_SET_CAUSE2_CHECK_.execute(inliningTarget__3, arg1Value))) && (!(INLINED_SET_CAUSE2_IS_TYPE_NODE_.execute(inliningTarget__3, arg1Value)))) { SetExceptionCauseNode.setCause(frameValue, arg0Value, arg1Value, inliningTarget__3, INLINED_SET_CAUSE2_IS_TYPE_NODE_, INLINED_SET_CAUSE2_CHECK_, s3_.raise_); return; } } } } } } CompilerDirectives.transferToInterpreterAndInvalidate(); executeAndSpecialize(frameValue, arg0Value, arg1Value); return; } private void executeAndSpecialize(VirtualFrame frameValue, Object arg0Value, Object arg1Value) { int state_0 = this.state_0_; { Node inliningTarget__ = null; if (arg1Value instanceof PNone) { PNone arg1Value_ = (PNone) arg1Value; if ((PGuards.isNone(arg1Value_))) { inliningTarget__ = (this); state_0 = state_0 | 0b1 /* add SpecializationActive[RaiseNode.SetExceptionCauseNode.setNone(VirtualFrame, Object, PNone, Node, SetCauseNode)] */; this.state_0_ = state_0; SetExceptionCauseNode.setNone(frameValue, arg0Value, arg1Value_, inliningTarget__, INLINED_SET_NONE_SET_CAUSE_NODE_); return; } } } { Node inliningTarget__1 = null; while (true) { int count1_ = 0; SetCause0Data s1_ = SET_CAUSE0_CACHE_UPDATER.getVolatile(this); SetCause0Data s1_original = s1_; while (s1_ != null) { { inliningTarget__1 = (s1_); if ((INLINED_SET_CAUSE0_CHECK_.execute(inliningTarget__1, arg1Value))) { break; } } count1_++; s1_ = null; break; } if (s1_ == null && count1_ < 1) { { s1_ = this.insert(new SetCause0Data()); inliningTarget__1 = (s1_); if ((INLINED_SET_CAUSE0_CHECK_.execute(inliningTarget__1, arg1Value))) { if (!SET_CAUSE0_CACHE_UPDATER.compareAndSet(this, s1_original, s1_)) { continue; } state_0 = state_0 | 0b10 /* add SpecializationActive[RaiseNode.SetExceptionCauseNode.setCause(VirtualFrame, Object, Object, Node, PyExceptionInstanceCheckNode, SetCauseNode)] */; this.state_0_ = state_0; } else { s1_ = null; } } } if (s1_ != null) { SetExceptionCauseNode.setCause(frameValue, arg0Value, arg1Value, inliningTarget__1, INLINED_SET_CAUSE0_CHECK_, INLINED_SET_CAUSE0_SET_CAUSE_NODE_); return; } break; } } { Node inliningTarget__2 = null; while (true) { int count2_ = 0; SetCause1Data s2_ = SET_CAUSE1_CACHE_UPDATER.getVolatile(this); SetCause1Data s2_original = s2_; while (s2_ != null) { { inliningTarget__2 = (s2_); if ((INLINED_SET_CAUSE1_IS_TYPE_NODE_.execute(inliningTarget__2, arg1Value))) { break; } } count2_++; s2_ = null; break; } if (s2_ == null && count2_ < 1) { { s2_ = this.insert(new SetCause1Data()); inliningTarget__2 = (s2_); if ((INLINED_SET_CAUSE1_IS_TYPE_NODE_.execute(inliningTarget__2, arg1Value))) { ValidExceptionNode validException__ = s2_.insert((ValidExceptionNodeGen.create())); Objects.requireNonNull(validException__, "Specialization 'setCause(VirtualFrame, Object, Object, Node, IsTypeNode, InlinedBranchProfile, ValidExceptionNode, CallNode, Lazy, PyExceptionInstanceCheckNode, SetCauseNode)' cache 'validException' 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'."); s2_.validException_ = validException__; CallNode callConstructor__ = s2_.insert((CallNode.create())); Objects.requireNonNull(callConstructor__, "Specialization 'setCause(VirtualFrame, Object, Object, Node, IsTypeNode, InlinedBranchProfile, ValidExceptionNode, CallNode, Lazy, PyExceptionInstanceCheckNode, SetCauseNode)' cache 'callConstructor' 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'."); s2_.callConstructor_ = callConstructor__; if (!SET_CAUSE1_CACHE_UPDATER.compareAndSet(this, s2_original, s2_)) { continue; } state_0 = state_0 | 0b100 /* add SpecializationActive[RaiseNode.SetExceptionCauseNode.setCause(VirtualFrame, Object, Object, Node, IsTypeNode, InlinedBranchProfile, ValidExceptionNode, CallNode, Lazy, PyExceptionInstanceCheckNode, SetCauseNode)] */; this.state_0_ = state_0; } else { s2_ = null; } } } if (s2_ != null) { SetExceptionCauseNode.setCause(frameValue, arg0Value, arg1Value, inliningTarget__2, INLINED_SET_CAUSE1_IS_TYPE_NODE_, INLINED_SET_CAUSE1_BASE_CHECK_FAILED_PROFILE_, s2_.validException_, s2_.callConstructor_, INLINED_SET_CAUSE1_RAISE_, INLINED_SET_CAUSE1_CHECK_, INLINED_SET_CAUSE1_SET_CAUSE_NODE_); return; } break; } } { Node inliningTarget__3 = null; while (true) { int count3_ = 0; SetCause2Data s3_ = SET_CAUSE2_CACHE_UPDATER.getVolatile(this); SetCause2Data s3_original = s3_; while (s3_ != null) { { inliningTarget__3 = (s3_); if ((!(INLINED_SET_CAUSE2_CHECK_.execute(inliningTarget__3, arg1Value))) && (!(INLINED_SET_CAUSE2_IS_TYPE_NODE_.execute(inliningTarget__3, arg1Value)))) { break; } } count3_++; s3_ = null; break; } if (s3_ == null && count3_ < 1) { { s3_ = this.insert(new SetCause2Data()); inliningTarget__3 = (s3_); if ((!(INLINED_SET_CAUSE2_CHECK_.execute(inliningTarget__3, arg1Value))) && (!(INLINED_SET_CAUSE2_IS_TYPE_NODE_.execute(inliningTarget__3, arg1Value)))) { PRaiseNode raise__ = s3_.insert((PRaiseNode.create())); Objects.requireNonNull(raise__, "Specialization 'setCause(VirtualFrame, Object, Object, Node, IsTypeNode, PyExceptionInstanceCheckNode, PRaiseNode)' cache 'raise' 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'."); s3_.raise_ = raise__; if (!SET_CAUSE2_CACHE_UPDATER.compareAndSet(this, s3_original, s3_)) { continue; } state_0 = state_0 | 0b1000 /* add SpecializationActive[RaiseNode.SetExceptionCauseNode.setCause(VirtualFrame, Object, Object, Node, IsTypeNode, PyExceptionInstanceCheckNode, PRaiseNode)] */; this.state_0_ = state_0; } else { s3_ = null; } } } if (s3_ != null) { SetExceptionCauseNode.setCause(frameValue, arg0Value, arg1Value, inliningTarget__3, INLINED_SET_CAUSE2_IS_TYPE_NODE_, INLINED_SET_CAUSE2_CHECK_, s3_.raise_); return; } break; } } throw new UnsupportedSpecializationException(this, new Node[] {null, null}, arg0Value, arg1Value); } @Override public NodeCost getCost() { int state_0 = this.state_0_; if ((state_0 & 0b1111) == 0) { return NodeCost.UNINITIALIZED; } else { if (((state_0 & 0b1111) & ((state_0 & 0b1111) - 1)) == 0 /* is-single */) { return NodeCost.MONOMORPHIC; } } return NodeCost.POLYMORPHIC; } @NeverDefault public static SetExceptionCauseNode create() { return new SetExceptionCauseNodeGen(); } @GeneratedBy(SetExceptionCauseNode.class) @DenyReplace private static final class SetCause0Data extends Node implements SpecializationDataNode { /** * State Info:
             *   0-18: InlinedCache
             *        Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, PyExceptionInstanceCheckNode, SetCauseNode)}
             *        Parameter: {@link PyExceptionInstanceCheckNode} check
             *        Inline method: {@link PyExceptionInstanceCheckNodeGen#inline}
             *   19-22: InlinedCache
             *        Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, PyExceptionInstanceCheckNode, SetCauseNode)}
             *        Parameter: {@link SetCauseNode} setCauseNode
             *        Inline method: {@link SetCauseNodeGen#inline}
             * 
*/ @CompilationFinal @UnsafeAccessedField private int setCause0_state_0_; /** * Source Info:
             *   Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, PyExceptionInstanceCheckNode, SetCauseNode)}
             *   Parameter: {@link PyExceptionInstanceCheckNode} check
             *   Inline method: {@link PyExceptionInstanceCheckNodeGen#inline}
             *   Inline field: {@link Node} field1
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node setCause0_check__field1_; /** * Source Info:
             *   Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, PyExceptionInstanceCheckNode, SetCauseNode)}
             *   Parameter: {@link PyExceptionInstanceCheckNode} check
             *   Inline method: {@link PyExceptionInstanceCheckNodeGen#inline}
             *   Inline field: {@link Node} field2
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node setCause0_check__field2_; /** * Source Info:
             *   Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, PyExceptionInstanceCheckNode, SetCauseNode)}
             *   Parameter: {@link SetCauseNode} setCauseNode
             *   Inline method: {@link SetCauseNodeGen#inline}
             *   Inline field: {@link Node} field1
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node setCause0_setCauseNode__field1_; SetCause0Data() { } @Override public NodeCost getCost() { return NodeCost.NONE; } private static Lookup lookup_() { return MethodHandles.lookup(); } } @GeneratedBy(SetExceptionCauseNode.class) @DenyReplace private static final class SetCause1Data extends Node implements SpecializationDataNode { /** * State Info:
             *   0-4: InlinedCache
             *        Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, InlinedBranchProfile, ValidExceptionNode, CallNode, Lazy, PyExceptionInstanceCheckNode, SetCauseNode)}
             *        Parameter: {@link IsTypeNode} isTypeNode
             *        Inline method: {@link IsTypeNodeGen#inline}
             *   5: InlinedCache
             *        Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, InlinedBranchProfile, ValidExceptionNode, CallNode, Lazy, PyExceptionInstanceCheckNode, SetCauseNode)}
             *        Parameter: {@link InlinedBranchProfile} baseCheckFailedProfile
             *        Inline method: {@link InlinedBranchProfile#inline}
             *   6: InlinedCache
             *        Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, InlinedBranchProfile, ValidExceptionNode, CallNode, Lazy, PyExceptionInstanceCheckNode, SetCauseNode)}
             *        Parameter: {@link Lazy} raise
             *        Inline method: {@link LazyNodeGen#inline}
             *   7-25: InlinedCache
             *        Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, InlinedBranchProfile, ValidExceptionNode, CallNode, Lazy, PyExceptionInstanceCheckNode, SetCauseNode)}
             *        Parameter: {@link PyExceptionInstanceCheckNode} check
             *        Inline method: {@link PyExceptionInstanceCheckNodeGen#inline}
             *   26-29: InlinedCache
             *        Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, InlinedBranchProfile, ValidExceptionNode, CallNode, Lazy, PyExceptionInstanceCheckNode, SetCauseNode)}
             *        Parameter: {@link SetCauseNode} setCauseNode
             *        Inline method: {@link SetCauseNodeGen#inline}
             * 
*/ @CompilationFinal @UnsafeAccessedField private int setCause1_state_0_; /** * Source Info:
             *   Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, InlinedBranchProfile, ValidExceptionNode, CallNode, Lazy, PyExceptionInstanceCheckNode, SetCauseNode)}
             *   Parameter: {@link IsTypeNode} isTypeNode
             *   Inline method: {@link IsTypeNodeGen#inline}
             *   Inline field: {@link Node} field1
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node setCause1_isTypeNode__field1_; /** * Source Info:
             *   Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, InlinedBranchProfile, ValidExceptionNode, CallNode, Lazy, PyExceptionInstanceCheckNode, SetCauseNode)}
             *   Parameter: {@link ValidExceptionNode} validException
*/ @Child ValidExceptionNode validException_; /** * Source Info:
             *   Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, InlinedBranchProfile, ValidExceptionNode, CallNode, Lazy, PyExceptionInstanceCheckNode, SetCauseNode)}
             *   Parameter: {@link CallNode} callConstructor
*/ @Child CallNode callConstructor_; /** * Source Info:
             *   Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, InlinedBranchProfile, ValidExceptionNode, CallNode, Lazy, PyExceptionInstanceCheckNode, SetCauseNode)}
             *   Parameter: {@link Lazy} raise
             *   Inline method: {@link LazyNodeGen#inline}
             *   Inline field: {@link Node} field1
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node setCause1_raise__field1_; /** * Source Info:
             *   Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, InlinedBranchProfile, ValidExceptionNode, CallNode, Lazy, PyExceptionInstanceCheckNode, SetCauseNode)}
             *   Parameter: {@link PyExceptionInstanceCheckNode} check
             *   Inline method: {@link PyExceptionInstanceCheckNodeGen#inline}
             *   Inline field: {@link Node} field1
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node setCause1_check__field1_; /** * Source Info:
             *   Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, InlinedBranchProfile, ValidExceptionNode, CallNode, Lazy, PyExceptionInstanceCheckNode, SetCauseNode)}
             *   Parameter: {@link PyExceptionInstanceCheckNode} check
             *   Inline method: {@link PyExceptionInstanceCheckNodeGen#inline}
             *   Inline field: {@link Node} field2
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node setCause1_check__field2_; /** * Source Info:
             *   Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, InlinedBranchProfile, ValidExceptionNode, CallNode, Lazy, PyExceptionInstanceCheckNode, SetCauseNode)}
             *   Parameter: {@link SetCauseNode} setCauseNode
             *   Inline method: {@link SetCauseNodeGen#inline}
             *   Inline field: {@link Node} field1
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node setCause1_setCauseNode__field1_; SetCause1Data() { } @Override public NodeCost getCost() { return NodeCost.NONE; } private static Lookup lookup_() { return MethodHandles.lookup(); } } @GeneratedBy(SetExceptionCauseNode.class) @DenyReplace private static final class SetCause2Data extends Node implements SpecializationDataNode { /** * State Info:
             *   0-4: InlinedCache
             *        Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, PyExceptionInstanceCheckNode, PRaiseNode)}
             *        Parameter: {@link IsTypeNode} isTypeNode
             *        Inline method: {@link IsTypeNodeGen#inline}
             *   5-23: InlinedCache
             *        Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, PyExceptionInstanceCheckNode, PRaiseNode)}
             *        Parameter: {@link PyExceptionInstanceCheckNode} check
             *        Inline method: {@link PyExceptionInstanceCheckNodeGen#inline}
             * 
*/ @CompilationFinal @UnsafeAccessedField private int setCause2_state_0_; /** * Source Info:
             *   Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, PyExceptionInstanceCheckNode, PRaiseNode)}
             *   Parameter: {@link IsTypeNode} isTypeNode
             *   Inline method: {@link IsTypeNodeGen#inline}
             *   Inline field: {@link Node} field1
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node setCause2_isTypeNode__field1_; /** * Source Info:
             *   Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, PyExceptionInstanceCheckNode, PRaiseNode)}
             *   Parameter: {@link PyExceptionInstanceCheckNode} check
             *   Inline method: {@link PyExceptionInstanceCheckNodeGen#inline}
             *   Inline field: {@link Node} field1
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node setCause2_check__field1_; /** * Source Info:
             *   Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, PyExceptionInstanceCheckNode, PRaiseNode)}
             *   Parameter: {@link PyExceptionInstanceCheckNode} check
             *   Inline method: {@link PyExceptionInstanceCheckNodeGen#inline}
             *   Inline field: {@link Node} field2
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node setCause2_check__field2_; /** * Source Info:
             *   Specialization: {@link SetExceptionCauseNode#setCause(VirtualFrame, Object, Object, Node, IsTypeNode, PyExceptionInstanceCheckNode, PRaiseNode)}
             *   Parameter: {@link PRaiseNode} raise
*/ @Child PRaiseNode raise_; SetCause2Data() { } @Override public NodeCost getCost() { return NodeCost.NONE; } private static Lookup lookup_() { return MethodHandles.lookup(); } } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy