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

com.oracle.truffle.api.strings.MutableTruffleStringFactory Maven / Gradle / Ivy

Go to download

Truffle is a multi-language framework for executing dynamic languages that achieves high performance when combined with Graal.

There is a newer version: 24.1.1
Show newest version
// CheckStyle: start generated
package com.oracle.truffle.api.strings;

import com.oracle.truffle.api.CompilerDirectives;
import com.oracle.truffle.api.CompilerDirectives.CompilationFinal;
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
import com.oracle.truffle.api.dsl.GeneratedBy;
import com.oracle.truffle.api.dsl.InlineSupport;
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.RequiredField;
import com.oracle.truffle.api.dsl.InlineSupport.StateField;
import com.oracle.truffle.api.dsl.InlineSupport.UnsafeAccessedField;
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 com.oracle.truffle.api.strings.AbstractTruffleString.NativePointer;
import com.oracle.truffle.api.strings.MutableTruffleString.AsManagedNode;
import com.oracle.truffle.api.strings.MutableTruffleString.AsMutableTruffleStringNode;
import com.oracle.truffle.api.strings.MutableTruffleString.CalcLazyAttributesNode;
import com.oracle.truffle.api.strings.MutableTruffleString.ConcatNode;
import com.oracle.truffle.api.strings.MutableTruffleString.DataClassProfile;
import com.oracle.truffle.api.strings.MutableTruffleString.ForceEncodingNode;
import com.oracle.truffle.api.strings.MutableTruffleString.FromByteArrayNode;
import com.oracle.truffle.api.strings.MutableTruffleString.FromNativePointerNode;
import com.oracle.truffle.api.strings.MutableTruffleString.SubstringByteIndexNode;
import com.oracle.truffle.api.strings.MutableTruffleString.SubstringNode;
import com.oracle.truffle.api.strings.MutableTruffleString.SwitchEncodingNode;
import com.oracle.truffle.api.strings.MutableTruffleString.WriteByteNode;
import com.oracle.truffle.api.strings.TStringInternalNodes.CodePointIndexToRawNode;
import com.oracle.truffle.api.strings.TStringInternalNodes.ConcatMaterializeBytesNode;
import com.oracle.truffle.api.strings.TStringInternalNodes.GetCodePointLengthNode;
import com.oracle.truffle.api.strings.TStringInternalNodes.GetCodeRangeForIndexCalculationNode;
import com.oracle.truffle.api.strings.TStringInternalNodesFactory.CodePointIndexToRawNodeGen;
import com.oracle.truffle.api.strings.TStringInternalNodesFactory.ConcatMaterializeBytesNodeGen;
import com.oracle.truffle.api.strings.TStringInternalNodesFactory.GetCodePointLengthNodeGen;
import com.oracle.truffle.api.strings.TStringInternalNodesFactory.GetCodeRangeForIndexCalculationNodeGen;
import com.oracle.truffle.api.strings.TruffleString.CopyToByteArrayNode;
import com.oracle.truffle.api.strings.TruffleString.Encoding;
import com.oracle.truffle.api.strings.TruffleString.InternalSwitchEncodingNode;
import com.oracle.truffle.api.strings.TruffleString.ToIndexableNode;
import com.oracle.truffle.api.strings.TruffleStringFactory.InternalSwitchEncodingNodeGen;
import com.oracle.truffle.api.strings.TruffleStringFactory.ToIndexableNodeGen;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.VarHandle;
import java.lang.invoke.MethodHandles.Lookup;
import java.util.Objects;

@GeneratedBy(MutableTruffleString.class)
@SuppressWarnings("javadoc")
public final class MutableTruffleStringFactory {

    /**
     * Debug Info: 
     *   Specialization {@link FromByteArrayNode#fromByteArray}
     *     Activation probability: 1.00000
     *     With/without class size: 16/0 bytes
     * 
*/ @GeneratedBy(FromByteArrayNode.class) @SuppressWarnings("javadoc") static final class FromByteArrayNodeGen extends FromByteArrayNode { private static final Uncached UNCACHED = new Uncached(); private FromByteArrayNodeGen() { } @Override public MutableTruffleString execute(byte[] arg0Value, int arg1Value, int arg2Value, Encoding arg3Value, boolean arg4Value) { return FromByteArrayNode.fromByteArray(arg0Value, arg1Value, arg2Value, arg3Value, arg4Value); } @Override public NodeCost getCost() { return NodeCost.MONOMORPHIC; } @NeverDefault public static FromByteArrayNode create() { return new FromByteArrayNodeGen(); } @NeverDefault public static FromByteArrayNode getUncached() { return FromByteArrayNodeGen.UNCACHED; } @GeneratedBy(FromByteArrayNode.class) @DenyReplace private static final class Uncached extends FromByteArrayNode { @TruffleBoundary @Override public MutableTruffleString execute(byte[] arg0Value, int arg1Value, int arg2Value, Encoding arg3Value, boolean arg4Value) { return FromByteArrayNode.fromByteArray(arg0Value, arg1Value, arg2Value, arg3Value, arg4Value); } @Override public NodeCost getCost() { return NodeCost.MEGAMORPHIC; } @Override public boolean isAdoptable() { return false; } } } /** * Debug Info:
     *   Specialization {@link FromNativePointerNode#fromNativePointer}
     *     Activation probability: 1.00000
     *     With/without class size: 24/4 bytes
     * 
*/ @GeneratedBy(FromNativePointerNode.class) @SuppressWarnings("javadoc") static final class FromNativePointerNodeGen extends FromNativePointerNode { private static final Uncached UNCACHED = new Uncached(); /** * State Info:
         *   0: SpecializationActive {@link FromNativePointerNode#fromNativePointer}
         * 
*/ @CompilationFinal private int state_0_; /** * Source Info:
         *   Specialization: {@link FromNativePointerNode#fromNativePointer}
         *   Parameter: {@link Node} interopLibrary
*/ @Child private Node interopLibrary_; private FromNativePointerNodeGen() { } @Override public MutableTruffleString execute(Object arg0Value, int arg1Value, int arg2Value, Encoding arg3Value, boolean arg4Value) { int state_0 = this.state_0_; if (state_0 != 0 /* is SpecializationActive[MutableTruffleString.FromNativePointerNode.fromNativePointer(Object, int, int, Encoding, boolean, Node)] */) { { Node interopLibrary__ = this.interopLibrary_; if (interopLibrary__ != null) { return fromNativePointer(arg0Value, arg1Value, arg2Value, arg3Value, arg4Value, interopLibrary__); } } } CompilerDirectives.transferToInterpreterAndInvalidate(); return executeAndSpecialize(arg0Value, arg1Value, arg2Value, arg3Value, arg4Value); } private MutableTruffleString executeAndSpecialize(Object arg0Value, int arg1Value, int arg2Value, Encoding arg3Value, boolean arg4Value) { int state_0 = this.state_0_; Node interopLibrary__ = this.insert((TStringAccessor.createInteropLibrary())); Objects.requireNonNull(interopLibrary__, "Specialization 'fromNativePointer(Object, int, int, Encoding, boolean, Node)' cache 'interopLibrary' 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.interopLibrary_ = interopLibrary__; state_0 = state_0 | 0b1 /* add SpecializationActive[MutableTruffleString.FromNativePointerNode.fromNativePointer(Object, int, int, Encoding, boolean, Node)] */; this.state_0_ = state_0; return fromNativePointer(arg0Value, arg1Value, arg2Value, arg3Value, arg4Value, interopLibrary__); } @Override public NodeCost getCost() { int state_0 = this.state_0_; if (state_0 == 0) { return NodeCost.UNINITIALIZED; } else { return NodeCost.MONOMORPHIC; } } @NeverDefault public static FromNativePointerNode create() { return new FromNativePointerNodeGen(); } @NeverDefault public static FromNativePointerNode getUncached() { return FromNativePointerNodeGen.UNCACHED; } @GeneratedBy(FromNativePointerNode.class) @DenyReplace private static final class Uncached extends FromNativePointerNode { @TruffleBoundary @Override public MutableTruffleString execute(Object arg0Value, int arg1Value, int arg2Value, Encoding arg3Value, boolean arg4Value) { return fromNativePointer(arg0Value, arg1Value, arg2Value, arg3Value, arg4Value, (TStringAccessor.getUncachedInteropLibrary())); } @Override public NodeCost getCost() { return NodeCost.MEGAMORPHIC; } @Override public boolean isAdoptable() { return false; } } } /** * Debug Info:
     *   Specialization {@link AsMutableTruffleStringNode#mutable}
     *     Activation probability: 0.65000
     *     With/without class size: 11/0 bytes
     *   Specialization {@link AsMutableTruffleStringNode#fromTruffleString}
     *     Activation probability: 0.35000
     *     With/without class size: 11/1 bytes
     * 
*/ @GeneratedBy(AsMutableTruffleStringNode.class) @SuppressWarnings("javadoc") static final class AsMutableTruffleStringNodeGen extends AsMutableTruffleStringNode { private static final StateField STATE_0_AsMutableTruffleStringNode_UPDATER = StateField.create(MethodHandles.lookup(), "state_0_"); /** * Source Info:
         *   Specialization: {@link AsMutableTruffleStringNode#fromTruffleString}
         *   Parameter: {@link ToIndexableNode} toIndexableNode
         *   Inline method: {@link ToIndexableNodeGen#inline}
*/ private static final ToIndexableNode INLINED_FROM_TRUFFLE_STRING_TO_INDEXABLE_NODE_ = ToIndexableNodeGen.inline(InlineTarget.create(ToIndexableNode.class, STATE_0_AsMutableTruffleStringNode_UPDATER.subUpdater(2, 7))); private static final Uncached UNCACHED = new Uncached(); /** * State Info:
         *   0: SpecializationActive {@link AsMutableTruffleStringNode#mutable}
         *   1: SpecializationActive {@link AsMutableTruffleStringNode#fromTruffleString}
         *   2-8: InlinedCache
         *        Specialization: {@link AsMutableTruffleStringNode#fromTruffleString}
         *        Parameter: {@link ToIndexableNode} toIndexableNode
         *        Inline method: {@link ToIndexableNodeGen#inline}
         * 
*/ @CompilationFinal @UnsafeAccessedField private int state_0_; private AsMutableTruffleStringNodeGen() { } @Override public MutableTruffleString execute(AbstractTruffleString arg0Value, Encoding arg1Value) { int state_0 = this.state_0_; if ((state_0 & 0b11) != 0 /* is SpecializationActive[MutableTruffleString.AsMutableTruffleStringNode.mutable(MutableTruffleString, Encoding)] || SpecializationActive[MutableTruffleString.AsMutableTruffleStringNode.fromTruffleString(TruffleString, Encoding, Node, ToIndexableNode)] */) { if ((state_0 & 0b1) != 0 /* is SpecializationActive[MutableTruffleString.AsMutableTruffleStringNode.mutable(MutableTruffleString, Encoding)] */ && arg0Value instanceof MutableTruffleString) { MutableTruffleString arg0Value_ = (MutableTruffleString) arg0Value; return AsMutableTruffleStringNode.mutable(arg0Value_, arg1Value); } if ((state_0 & 0b10) != 0 /* is SpecializationActive[MutableTruffleString.AsMutableTruffleStringNode.fromTruffleString(TruffleString, Encoding, Node, ToIndexableNode)] */ && arg0Value instanceof TruffleString) { TruffleString arg0Value_ = (TruffleString) arg0Value; { Node node__ = (this); return AsMutableTruffleStringNode.fromTruffleString(arg0Value_, arg1Value, node__, INLINED_FROM_TRUFFLE_STRING_TO_INDEXABLE_NODE_); } } } CompilerDirectives.transferToInterpreterAndInvalidate(); return executeAndSpecialize(arg0Value, arg1Value); } private MutableTruffleString executeAndSpecialize(AbstractTruffleString arg0Value, Encoding arg1Value) { int state_0 = this.state_0_; if (arg0Value instanceof MutableTruffleString) { MutableTruffleString arg0Value_ = (MutableTruffleString) arg0Value; state_0 = state_0 | 0b1 /* add SpecializationActive[MutableTruffleString.AsMutableTruffleStringNode.mutable(MutableTruffleString, Encoding)] */; this.state_0_ = state_0; return AsMutableTruffleStringNode.mutable(arg0Value_, arg1Value); } { Node node__ = null; if (arg0Value instanceof TruffleString) { TruffleString arg0Value_ = (TruffleString) arg0Value; node__ = (this); state_0 = state_0 | 0b10 /* add SpecializationActive[MutableTruffleString.AsMutableTruffleStringNode.fromTruffleString(TruffleString, Encoding, Node, ToIndexableNode)] */; this.state_0_ = state_0; return AsMutableTruffleStringNode.fromTruffleString(arg0Value_, arg1Value, node__, INLINED_FROM_TRUFFLE_STRING_TO_INDEXABLE_NODE_); } } throw new UnsupportedSpecializationException(this, new Node[] {null, null}, arg0Value, arg1Value); } @Override public NodeCost getCost() { int state_0 = this.state_0_; if ((state_0 & 0b11) == 0) { return NodeCost.UNINITIALIZED; } else { if (((state_0 & 0b11) & ((state_0 & 0b11) - 1)) == 0 /* is-single */) { return NodeCost.MONOMORPHIC; } } return NodeCost.POLYMORPHIC; } @NeverDefault public static AsMutableTruffleStringNode create() { return new AsMutableTruffleStringNodeGen(); } @NeverDefault public static AsMutableTruffleStringNode getUncached() { return AsMutableTruffleStringNodeGen.UNCACHED; } @GeneratedBy(AsMutableTruffleStringNode.class) @DenyReplace private static final class Uncached extends AsMutableTruffleStringNode { @TruffleBoundary @Override public MutableTruffleString execute(AbstractTruffleString arg0Value, Encoding arg1Value) { if (arg0Value instanceof MutableTruffleString) { MutableTruffleString arg0Value_ = (MutableTruffleString) arg0Value; return AsMutableTruffleStringNode.mutable(arg0Value_, arg1Value); } if (arg0Value instanceof TruffleString) { TruffleString arg0Value_ = (TruffleString) arg0Value; return AsMutableTruffleStringNode.fromTruffleString(arg0Value_, arg1Value, (this), (ToIndexableNodeGen.getUncached())); } throw new UnsupportedSpecializationException(this, new Node[] {null, null}, arg0Value, arg1Value); } @Override public NodeCost getCost() { return NodeCost.MEGAMORPHIC; } @Override public boolean isAdoptable() { return false; } } } /** * Debug Info:
     *   Specialization {@link AsManagedNode#mutable}
     *     Activation probability: 0.65000
     *     With/without class size: 11/0 bytes
     *   Specialization {@link AsManagedNode#fromTruffleString}
     *     Activation probability: 0.35000
     *     With/without class size: 11/1 bytes
     * 
*/ @GeneratedBy(AsManagedNode.class) @SuppressWarnings("javadoc") static final class AsManagedNodeGen extends AsManagedNode { private static final StateField STATE_0_AsManagedNode_UPDATER = StateField.create(MethodHandles.lookup(), "state_0_"); /** * Source Info:
         *   Specialization: {@link AsManagedNode#fromTruffleString}
         *   Parameter: {@link ToIndexableNode} toIndexableNode
         *   Inline method: {@link ToIndexableNodeGen#inline}
*/ private static final ToIndexableNode INLINED_FROM_TRUFFLE_STRING_TO_INDEXABLE_NODE_ = ToIndexableNodeGen.inline(InlineTarget.create(ToIndexableNode.class, STATE_0_AsManagedNode_UPDATER.subUpdater(2, 7))); private static final Uncached UNCACHED = new Uncached(); /** * State Info:
         *   0: SpecializationActive {@link AsManagedNode#mutable}
         *   1: SpecializationActive {@link AsManagedNode#fromTruffleString}
         *   2-8: InlinedCache
         *        Specialization: {@link AsManagedNode#fromTruffleString}
         *        Parameter: {@link ToIndexableNode} toIndexableNode
         *        Inline method: {@link ToIndexableNodeGen#inline}
         * 
*/ @CompilationFinal @UnsafeAccessedField private int state_0_; private AsManagedNodeGen() { } @Override public MutableTruffleString execute(AbstractTruffleString arg0Value, Encoding arg1Value) { int state_0 = this.state_0_; if ((state_0 & 0b11) != 0 /* is SpecializationActive[MutableTruffleString.AsManagedNode.mutable(MutableTruffleString, Encoding)] || SpecializationActive[MutableTruffleString.AsManagedNode.fromTruffleString(AbstractTruffleString, Encoding, Node, ToIndexableNode)] */) { if ((state_0 & 0b1) != 0 /* is SpecializationActive[MutableTruffleString.AsManagedNode.mutable(MutableTruffleString, Encoding)] */ && arg0Value instanceof MutableTruffleString) { MutableTruffleString arg0Value_ = (MutableTruffleString) arg0Value; if ((!(arg0Value_.isNative()))) { return AsManagedNode.mutable(arg0Value_, arg1Value); } } if ((state_0 & 0b10) != 0 /* is SpecializationActive[MutableTruffleString.AsManagedNode.fromTruffleString(AbstractTruffleString, Encoding, Node, ToIndexableNode)] */) { if ((arg0Value.isNative() || arg0Value.isImmutable())) { Node node__ = (this); return AsManagedNode.fromTruffleString(arg0Value, arg1Value, node__, INLINED_FROM_TRUFFLE_STRING_TO_INDEXABLE_NODE_); } } } CompilerDirectives.transferToInterpreterAndInvalidate(); return executeAndSpecialize(arg0Value, arg1Value); } private MutableTruffleString executeAndSpecialize(AbstractTruffleString arg0Value, Encoding arg1Value) { int state_0 = this.state_0_; if (arg0Value instanceof MutableTruffleString) { MutableTruffleString arg0Value_ = (MutableTruffleString) arg0Value; if ((!(arg0Value_.isNative()))) { state_0 = state_0 | 0b1 /* add SpecializationActive[MutableTruffleString.AsManagedNode.mutable(MutableTruffleString, Encoding)] */; this.state_0_ = state_0; return AsManagedNode.mutable(arg0Value_, arg1Value); } } { Node node__ = null; if ((arg0Value.isNative() || arg0Value.isImmutable())) { node__ = (this); state_0 = state_0 | 0b10 /* add SpecializationActive[MutableTruffleString.AsManagedNode.fromTruffleString(AbstractTruffleString, Encoding, Node, ToIndexableNode)] */; this.state_0_ = state_0; return AsManagedNode.fromTruffleString(arg0Value, arg1Value, node__, INLINED_FROM_TRUFFLE_STRING_TO_INDEXABLE_NODE_); } } throw new UnsupportedSpecializationException(this, new Node[] {null, null}, arg0Value, arg1Value); } @Override public NodeCost getCost() { int state_0 = this.state_0_; if ((state_0 & 0b11) == 0) { return NodeCost.UNINITIALIZED; } else { if (((state_0 & 0b11) & ((state_0 & 0b11) - 1)) == 0 /* is-single */) { return NodeCost.MONOMORPHIC; } } return NodeCost.POLYMORPHIC; } @NeverDefault public static AsManagedNode create() { return new AsManagedNodeGen(); } @NeverDefault public static AsManagedNode getUncached() { return AsManagedNodeGen.UNCACHED; } @GeneratedBy(AsManagedNode.class) @DenyReplace private static final class Uncached extends AsManagedNode { @TruffleBoundary @Override public MutableTruffleString execute(AbstractTruffleString arg0Value, Encoding arg1Value) { if (arg0Value instanceof MutableTruffleString) { MutableTruffleString arg0Value_ = (MutableTruffleString) arg0Value; if ((!(arg0Value_.isNative()))) { return AsManagedNode.mutable(arg0Value_, arg1Value); } } if ((arg0Value.isNative() || arg0Value.isImmutable())) { return AsManagedNode.fromTruffleString(arg0Value, arg1Value, (this), (ToIndexableNodeGen.getUncached())); } throw new UnsupportedSpecializationException(this, new Node[] {null, null}, arg0Value, arg1Value); } @Override public NodeCost getCost() { return NodeCost.MEGAMORPHIC; } @Override public boolean isAdoptable() { return false; } } } /** * Debug Info:
     *   Specialization {@link WriteByteNode#writeByte}
     *     Activation probability: 1.00000
     *     With/without class size: 16/0 bytes
     * 
*/ @GeneratedBy(WriteByteNode.class) @SuppressWarnings("javadoc") static final class WriteByteNodeGen extends WriteByteNode { private static final Uncached UNCACHED = new Uncached(); private WriteByteNodeGen() { } @Override public void execute(MutableTruffleString arg0Value, int arg1Value, byte arg2Value, Encoding arg3Value) { WriteByteNode.writeByte(arg0Value, arg1Value, arg2Value, arg3Value); return; } @Override public NodeCost getCost() { return NodeCost.MONOMORPHIC; } @NeverDefault public static WriteByteNode create() { return new WriteByteNodeGen(); } @NeverDefault public static WriteByteNode getUncached() { return WriteByteNodeGen.UNCACHED; } @GeneratedBy(WriteByteNode.class) @DenyReplace private static final class Uncached extends WriteByteNode { @TruffleBoundary @Override public void execute(MutableTruffleString arg0Value, int arg1Value, byte arg2Value, Encoding arg3Value) { WriteByteNode.writeByte(arg0Value, arg1Value, arg2Value, arg3Value); return; } @Override public NodeCost getCost() { return NodeCost.MEGAMORPHIC; } @Override public boolean isAdoptable() { return false; } } } /** * Debug Info:
     *   Specialization {@link ConcatNode#concat}
     *     Activation probability: 1.00000
     *     With/without class size: 24/3 bytes
     * 
*/ @GeneratedBy(ConcatNode.class) @SuppressWarnings("javadoc") static final class ConcatNodeGen extends ConcatNode { private static final StateField STATE_0_ConcatNode_UPDATER = StateField.create(MethodHandles.lookup(), "state_0_"); /** * Source Info:
         *   Specialization: {@link ConcatNode#concat}
         *   Parameter: {@link ToIndexableNode} toIndexableNodeA
         *   Inline method: {@link ToIndexableNodeGen#inline}
*/ private static final ToIndexableNode INLINED_TO_INDEXABLE_NODE_A_ = ToIndexableNodeGen.inline(InlineTarget.create(ToIndexableNode.class, STATE_0_ConcatNode_UPDATER.subUpdater(0, 7))); /** * Source Info:
         *   Specialization: {@link ConcatNode#concat}
         *   Parameter: {@link ToIndexableNode} toIndexableNodeB
         *   Inline method: {@link ToIndexableNodeGen#inline}
*/ private static final ToIndexableNode INLINED_TO_INDEXABLE_NODE_B_ = ToIndexableNodeGen.inline(InlineTarget.create(ToIndexableNode.class, STATE_0_ConcatNode_UPDATER.subUpdater(7, 7))); /** * Source Info:
         *   Specialization: {@link ConcatNode#concat}
         *   Parameter: {@link ConcatMaterializeBytesNode} materializeBytesNode
         *   Inline method: {@link ConcatMaterializeBytesNodeGen#inline}
*/ private static final ConcatMaterializeBytesNode INLINED_MATERIALIZE_BYTES_NODE_ = ConcatMaterializeBytesNodeGen.inline(InlineTarget.create(ConcatMaterializeBytesNode.class, STATE_0_ConcatNode_UPDATER.subUpdater(14, 2))); /** * Source Info:
         *   Specialization: {@link ConcatNode#concat}
         *   Parameter: {@link InlinedBranchProfile} outOfMemoryProfile
         *   Inline method: {@link InlinedBranchProfile#inline}
*/ private static final InlinedBranchProfile INLINED_OUT_OF_MEMORY_PROFILE_ = InlinedBranchProfile.inline(InlineTarget.create(InlinedBranchProfile.class, STATE_0_ConcatNode_UPDATER.subUpdater(16, 1))); private static final Uncached UNCACHED = new Uncached(); /** * State Info:
         *   0-6: InlinedCache
         *        Specialization: {@link ConcatNode#concat}
         *        Parameter: {@link ToIndexableNode} toIndexableNodeA
         *        Inline method: {@link ToIndexableNodeGen#inline}
         *   7-13: InlinedCache
         *        Specialization: {@link ConcatNode#concat}
         *        Parameter: {@link ToIndexableNode} toIndexableNodeB
         *        Inline method: {@link ToIndexableNodeGen#inline}
         *   14-15: InlinedCache
         *        Specialization: {@link ConcatNode#concat}
         *        Parameter: {@link ConcatMaterializeBytesNode} materializeBytesNode
         *        Inline method: {@link ConcatMaterializeBytesNodeGen#inline}
         *   16: InlinedCache
         *        Specialization: {@link ConcatNode#concat}
         *        Parameter: {@link InlinedBranchProfile} outOfMemoryProfile
         *        Inline method: {@link InlinedBranchProfile#inline}
         * 
*/ @CompilationFinal @UnsafeAccessedField private int state_0_; private ConcatNodeGen() { } @Override public MutableTruffleString execute(AbstractTruffleString arg0Value, AbstractTruffleString arg1Value, Encoding arg2Value) { return concat(arg0Value, arg1Value, arg2Value, INLINED_TO_INDEXABLE_NODE_A_, INLINED_TO_INDEXABLE_NODE_B_, INLINED_MATERIALIZE_BYTES_NODE_, INLINED_OUT_OF_MEMORY_PROFILE_); } @Override public NodeCost getCost() { return NodeCost.MONOMORPHIC; } @NeverDefault public static ConcatNode create() { return new ConcatNodeGen(); } @NeverDefault public static ConcatNode getUncached() { return ConcatNodeGen.UNCACHED; } @GeneratedBy(ConcatNode.class) @DenyReplace private static final class Uncached extends ConcatNode { @TruffleBoundary @Override public MutableTruffleString execute(AbstractTruffleString arg0Value, AbstractTruffleString arg1Value, Encoding arg2Value) { return concat(arg0Value, arg1Value, arg2Value, (ToIndexableNodeGen.getUncached()), (ToIndexableNodeGen.getUncached()), (ConcatMaterializeBytesNodeGen.getUncached()), (InlinedBranchProfile.getUncached())); } @Override public NodeCost getCost() { return NodeCost.MEGAMORPHIC; } @Override public boolean isAdoptable() { return false; } } } /** * Debug Info:
     *   Specialization {@link SubstringNode#substring}
     *     Activation probability: 1.00000
     *     With/without class size: 32/12 bytes
     * 
*/ @GeneratedBy(SubstringNode.class) @SuppressWarnings("javadoc") static final class SubstringNodeGen extends SubstringNode { private static final StateField STATE_0_SubstringNode_UPDATER = StateField.create(MethodHandles.lookup(), "state_0_"); private static final StateField STATE_1_SubstringNode_UPDATER = StateField.create(MethodHandles.lookup(), "state_1_"); private static final StateField STATE_2_SubstringNode_UPDATER = StateField.create(MethodHandles.lookup(), "state_2_"); /** * Source Info:
         *   Specialization: {@link SubstringNode#substring}
         *   Parameter: {@link ToIndexableNode} toIndexableNode
         *   Inline method: {@link ToIndexableNodeGen#inline}
*/ private static final ToIndexableNode INLINED_TO_INDEXABLE_NODE_ = ToIndexableNodeGen.inline(InlineTarget.create(ToIndexableNode.class, STATE_0_SubstringNode_UPDATER.subUpdater(1, 7))); /** * Source Info:
         *   Specialization: {@link SubstringNode#substring}
         *   Parameter: {@link GetCodeRangeForIndexCalculationNode} getCodeRangeANode
         *   Inline method: {@link GetCodeRangeForIndexCalculationNodeGen#inline}
*/ private static final GetCodeRangeForIndexCalculationNode INLINED_GET_CODE_RANGE_A_NODE_ = GetCodeRangeForIndexCalculationNodeGen.inline(InlineTarget.create(GetCodeRangeForIndexCalculationNode.class, STATE_1_SubstringNode_UPDATER.subUpdater(0, 25))); /** * Source Info:
         *   Specialization: {@link SubstringNode#substring}
         *   Parameter: {@link GetCodePointLengthNode} getCodePointLengthNode
         *   Inline method: {@link GetCodePointLengthNodeGen#inline}
*/ private static final GetCodePointLengthNode INLINED_GET_CODE_POINT_LENGTH_NODE_ = GetCodePointLengthNodeGen.inline(InlineTarget.create(GetCodePointLengthNode.class, STATE_2_SubstringNode_UPDATER.subUpdater(0, 25))); /** * Source Info:
         *   Specialization: {@link SubstringNode#substring}
         *   Parameter: {@link CodePointIndexToRawNode} translateIndexNode
         *   Inline method: {@link CodePointIndexToRawNodeGen#inline}
*/ private static final CodePointIndexToRawNode INLINED_TRANSLATE_INDEX_NODE_ = CodePointIndexToRawNodeGen.inline(InlineTarget.create(CodePointIndexToRawNode.class, STATE_0_SubstringNode_UPDATER.subUpdater(8, 6))); private static final Uncached UNCACHED = new Uncached(); /** * State Info:
         *   0: SpecializationActive {@link SubstringNode#substring}
         *   1-7: InlinedCache
         *        Specialization: {@link SubstringNode#substring}
         *        Parameter: {@link ToIndexableNode} toIndexableNode
         *        Inline method: {@link ToIndexableNodeGen#inline}
         *   8-13: InlinedCache
         *        Specialization: {@link SubstringNode#substring}
         *        Parameter: {@link CodePointIndexToRawNode} translateIndexNode
         *        Inline method: {@link CodePointIndexToRawNodeGen#inline}
         * 
*/ @CompilationFinal @UnsafeAccessedField private int state_0_; /** * State Info:
         *   0-24: InlinedCache
         *        Specialization: {@link SubstringNode#substring}
         *        Parameter: {@link GetCodeRangeForIndexCalculationNode} getCodeRangeANode
         *        Inline method: {@link GetCodeRangeForIndexCalculationNodeGen#inline}
         * 
*/ @CompilationFinal @UnsafeAccessedField private int state_1_; /** * State Info:
         *   0-24: InlinedCache
         *        Specialization: {@link SubstringNode#substring}
         *        Parameter: {@link GetCodePointLengthNode} getCodePointLengthNode
         *        Inline method: {@link GetCodePointLengthNodeGen#inline}
         * 
*/ @CompilationFinal @UnsafeAccessedField private int state_2_; /** * Source Info:
         *   Specialization: {@link SubstringNode#substring}
         *   Parameter: {@link CopyToByteArrayNode} copyToByteArrayNode
*/ @Child private CopyToByteArrayNode copyToByteArrayNode_; private SubstringNodeGen() { } @Override public MutableTruffleString execute(AbstractTruffleString arg0Value, int arg1Value, int arg2Value, Encoding arg3Value) { int state_0 = this.state_0_; if ((state_0 & 0b1) != 0 /* is SpecializationActive[MutableTruffleString.SubstringNode.substring(AbstractTruffleString, int, int, Encoding, ToIndexableNode, GetCodeRangeForIndexCalculationNode, GetCodePointLengthNode, CodePointIndexToRawNode, CopyToByteArrayNode)] */) { { CopyToByteArrayNode copyToByteArrayNode__ = this.copyToByteArrayNode_; if (copyToByteArrayNode__ != null) { return substring(arg0Value, arg1Value, arg2Value, arg3Value, INLINED_TO_INDEXABLE_NODE_, INLINED_GET_CODE_RANGE_A_NODE_, INLINED_GET_CODE_POINT_LENGTH_NODE_, INLINED_TRANSLATE_INDEX_NODE_, copyToByteArrayNode__); } } } CompilerDirectives.transferToInterpreterAndInvalidate(); return executeAndSpecialize(arg0Value, arg1Value, arg2Value, arg3Value); } private MutableTruffleString executeAndSpecialize(AbstractTruffleString arg0Value, int arg1Value, int arg2Value, Encoding arg3Value) { int state_0 = this.state_0_; CopyToByteArrayNode copyToByteArrayNode__ = this.insert((CopyToByteArrayNode.create())); Objects.requireNonNull(copyToByteArrayNode__, "Specialization 'substring(AbstractTruffleString, int, int, Encoding, ToIndexableNode, GetCodeRangeForIndexCalculationNode, GetCodePointLengthNode, CodePointIndexToRawNode, CopyToByteArrayNode)' cache 'copyToByteArrayNode' 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.copyToByteArrayNode_ = copyToByteArrayNode__; state_0 = state_0 | 0b1 /* add SpecializationActive[MutableTruffleString.SubstringNode.substring(AbstractTruffleString, int, int, Encoding, ToIndexableNode, GetCodeRangeForIndexCalculationNode, GetCodePointLengthNode, CodePointIndexToRawNode, CopyToByteArrayNode)] */; this.state_0_ = state_0; return substring(arg0Value, arg1Value, arg2Value, arg3Value, INLINED_TO_INDEXABLE_NODE_, INLINED_GET_CODE_RANGE_A_NODE_, INLINED_GET_CODE_POINT_LENGTH_NODE_, INLINED_TRANSLATE_INDEX_NODE_, copyToByteArrayNode__); } @Override public NodeCost getCost() { int state_0 = this.state_0_; if ((state_0 & 0b1) == 0) { return NodeCost.UNINITIALIZED; } else { return NodeCost.MONOMORPHIC; } } @NeverDefault public static SubstringNode create() { return new SubstringNodeGen(); } @NeverDefault public static SubstringNode getUncached() { return SubstringNodeGen.UNCACHED; } @GeneratedBy(SubstringNode.class) @DenyReplace private static final class Uncached extends SubstringNode { @TruffleBoundary @Override public MutableTruffleString execute(AbstractTruffleString arg0Value, int arg1Value, int arg2Value, Encoding arg3Value) { return substring(arg0Value, arg1Value, arg2Value, arg3Value, (ToIndexableNodeGen.getUncached()), (GetCodeRangeForIndexCalculationNodeGen.getUncached()), (GetCodePointLengthNode.getUncached()), (CodePointIndexToRawNodeGen.getUncached()), (CopyToByteArrayNode.getUncached())); } @Override public NodeCost getCost() { return NodeCost.MEGAMORPHIC; } @Override public boolean isAdoptable() { return false; } } } /** * Debug Info:
     *   Specialization {@link SubstringByteIndexNode#substringByteIndex}
     *     Activation probability: 1.00000
     *     With/without class size: 24/4 bytes
     * 
*/ @GeneratedBy(SubstringByteIndexNode.class) @SuppressWarnings("javadoc") static final class SubstringByteIndexNodeGen extends SubstringByteIndexNode { private static final Uncached UNCACHED = new Uncached(); /** * State Info:
         *   0: SpecializationActive {@link SubstringByteIndexNode#substringByteIndex}
         * 
*/ @CompilationFinal private int state_0_; /** * Source Info:
         *   Specialization: {@link SubstringByteIndexNode#substringByteIndex}
         *   Parameter: {@link CopyToByteArrayNode} copyToByteArrayNode
*/ @Child private CopyToByteArrayNode copyToByteArrayNode_; private SubstringByteIndexNodeGen() { } @Override public MutableTruffleString execute(AbstractTruffleString arg0Value, int arg1Value, int arg2Value, Encoding arg3Value) { int state_0 = this.state_0_; if (state_0 != 0 /* is SpecializationActive[MutableTruffleString.SubstringByteIndexNode.substringByteIndex(AbstractTruffleString, int, int, Encoding, CopyToByteArrayNode)] */) { { CopyToByteArrayNode copyToByteArrayNode__ = this.copyToByteArrayNode_; if (copyToByteArrayNode__ != null) { return SubstringByteIndexNode.substringByteIndex(arg0Value, arg1Value, arg2Value, arg3Value, copyToByteArrayNode__); } } } CompilerDirectives.transferToInterpreterAndInvalidate(); return executeAndSpecialize(arg0Value, arg1Value, arg2Value, arg3Value); } private MutableTruffleString executeAndSpecialize(AbstractTruffleString arg0Value, int arg1Value, int arg2Value, Encoding arg3Value) { int state_0 = this.state_0_; CopyToByteArrayNode copyToByteArrayNode__ = this.insert((CopyToByteArrayNode.create())); Objects.requireNonNull(copyToByteArrayNode__, "Specialization 'substringByteIndex(AbstractTruffleString, int, int, Encoding, CopyToByteArrayNode)' cache 'copyToByteArrayNode' 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.copyToByteArrayNode_ = copyToByteArrayNode__; state_0 = state_0 | 0b1 /* add SpecializationActive[MutableTruffleString.SubstringByteIndexNode.substringByteIndex(AbstractTruffleString, int, int, Encoding, CopyToByteArrayNode)] */; this.state_0_ = state_0; return SubstringByteIndexNode.substringByteIndex(arg0Value, arg1Value, arg2Value, arg3Value, copyToByteArrayNode__); } @Override public NodeCost getCost() { int state_0 = this.state_0_; if (state_0 == 0) { return NodeCost.UNINITIALIZED; } else { return NodeCost.MONOMORPHIC; } } @NeverDefault public static SubstringByteIndexNode create() { return new SubstringByteIndexNodeGen(); } @NeverDefault public static SubstringByteIndexNode getUncached() { return SubstringByteIndexNodeGen.UNCACHED; } @GeneratedBy(SubstringByteIndexNode.class) @DenyReplace private static final class Uncached extends SubstringByteIndexNode { @TruffleBoundary @Override public MutableTruffleString execute(AbstractTruffleString arg0Value, int arg1Value, int arg2Value, Encoding arg3Value) { return SubstringByteIndexNode.substringByteIndex(arg0Value, arg1Value, arg2Value, arg3Value, (CopyToByteArrayNode.getUncached())); } @Override public NodeCost getCost() { return NodeCost.MEGAMORPHIC; } @Override public boolean isAdoptable() { return false; } } } /** * Debug Info:
     *   Specialization {@link SwitchEncodingNode#compatibleMutable}
     *     Activation probability: 0.65000
     *     With/without class size: 11/0 bytes
     *   Specialization {@link SwitchEncodingNode#transcodeAndCopy}
     *     Activation probability: 0.35000
     *     With/without class size: 27/50 bytes
     * 
*/ @GeneratedBy(SwitchEncodingNode.class) @SuppressWarnings("javadoc") static final class SwitchEncodingNodeGen extends SwitchEncodingNode { private static final StateField TRANSCODE_AND_COPY__SWITCH_ENCODING_NODE_TRANSCODE_AND_COPY_STATE_0_UPDATER = StateField.create(TranscodeAndCopyData.lookup_(), "transcodeAndCopy_state_0_"); private static final StateField TRANSCODE_AND_COPY__SWITCH_ENCODING_NODE_TRANSCODE_AND_COPY_STATE_1_UPDATER = StateField.create(TranscodeAndCopyData.lookup_(), "transcodeAndCopy_state_1_"); private static final StateField TRANSCODE_AND_COPY__SWITCH_ENCODING_NODE_TRANSCODE_AND_COPY_STATE_2_UPDATER = StateField.create(TranscodeAndCopyData.lookup_(), "transcodeAndCopy_state_2_"); private static final StateField TRANSCODE_AND_COPY__SWITCH_ENCODING_NODE_TRANSCODE_AND_COPY_STATE_3_UPDATER = StateField.create(TranscodeAndCopyData.lookup_(), "transcodeAndCopy_state_3_"); private static final StateField TRANSCODE_AND_COPY__SWITCH_ENCODING_NODE_TRANSCODE_AND_COPY_STATE_4_UPDATER = StateField.create(TranscodeAndCopyData.lookup_(), "transcodeAndCopy_state_4_"); private static final StateField TRANSCODE_AND_COPY__SWITCH_ENCODING_NODE_TRANSCODE_AND_COPY_STATE_5_UPDATER = StateField.create(TranscodeAndCopyData.lookup_(), "transcodeAndCopy_state_5_"); private static final StateField TRANSCODE_AND_COPY__SWITCH_ENCODING_NODE_TRANSCODE_AND_COPY_STATE_6_UPDATER = StateField.create(TranscodeAndCopyData.lookup_(), "transcodeAndCopy_state_6_"); private static final StateField TRANSCODE_AND_COPY__SWITCH_ENCODING_NODE_TRANSCODE_AND_COPY_STATE_7_UPDATER = StateField.create(TranscodeAndCopyData.lookup_(), "transcodeAndCopy_state_7_"); private static final StateField TRANSCODE_AND_COPY__SWITCH_ENCODING_NODE_TRANSCODE_AND_COPY_STATE_8_UPDATER = StateField.create(TranscodeAndCopyData.lookup_(), "transcodeAndCopy_state_8_"); private static final StateField TRANSCODE_AND_COPY__SWITCH_ENCODING_NODE_TRANSCODE_AND_COPY_STATE_9_UPDATER = StateField.create(TranscodeAndCopyData.lookup_(), "transcodeAndCopy_state_9_"); private static final StateField TRANSCODE_AND_COPY__SWITCH_ENCODING_NODE_TRANSCODE_AND_COPY_STATE_10_UPDATER = StateField.create(TranscodeAndCopyData.lookup_(), "transcodeAndCopy_state_10_"); private static final StateField TRANSCODE_AND_COPY__SWITCH_ENCODING_NODE_TRANSCODE_AND_COPY_STATE_11_UPDATER = StateField.create(TranscodeAndCopyData.lookup_(), "transcodeAndCopy_state_11_"); /** * Source Info:
         *   Specialization: {@link SwitchEncodingNode#transcodeAndCopy}
         *   Parameter: {@link InternalSwitchEncodingNode} switchEncodingNode
         *   Inline method: {@link InternalSwitchEncodingNodeGen#inline}
*/ private static final InternalSwitchEncodingNode INLINED_TRANSCODE_AND_COPY_SWITCH_ENCODING_NODE_ = InternalSwitchEncodingNodeGen.inline(InlineTarget.create(InternalSwitchEncodingNode.class, TRANSCODE_AND_COPY__SWITCH_ENCODING_NODE_TRANSCODE_AND_COPY_STATE_0_UPDATER.subUpdater(0, 31), TRANSCODE_AND_COPY__SWITCH_ENCODING_NODE_TRANSCODE_AND_COPY_STATE_1_UPDATER.subUpdater(0, 31), TRANSCODE_AND_COPY__SWITCH_ENCODING_NODE_TRANSCODE_AND_COPY_STATE_2_UPDATER.subUpdater(0, 31), TRANSCODE_AND_COPY__SWITCH_ENCODING_NODE_TRANSCODE_AND_COPY_STATE_3_UPDATER.subUpdater(0, 29), TRANSCODE_AND_COPY__SWITCH_ENCODING_NODE_TRANSCODE_AND_COPY_STATE_4_UPDATER.subUpdater(0, 32), TRANSCODE_AND_COPY__SWITCH_ENCODING_NODE_TRANSCODE_AND_COPY_STATE_5_UPDATER.subUpdater(0, 26), TRANSCODE_AND_COPY__SWITCH_ENCODING_NODE_TRANSCODE_AND_COPY_STATE_6_UPDATER.subUpdater(0, 25), TRANSCODE_AND_COPY__SWITCH_ENCODING_NODE_TRANSCODE_AND_COPY_STATE_7_UPDATER.subUpdater(0, 25), TRANSCODE_AND_COPY__SWITCH_ENCODING_NODE_TRANSCODE_AND_COPY_STATE_8_UPDATER.subUpdater(0, 25), TRANSCODE_AND_COPY__SWITCH_ENCODING_NODE_TRANSCODE_AND_COPY_STATE_9_UPDATER.subUpdater(0, 24), TRANSCODE_AND_COPY__SWITCH_ENCODING_NODE_TRANSCODE_AND_COPY_STATE_10_UPDATER.subUpdater(0, 32), TRANSCODE_AND_COPY__SWITCH_ENCODING_NODE_TRANSCODE_AND_COPY_STATE_11_UPDATER.subUpdater(0, 25), ReferenceField.create(TranscodeAndCopyData.lookup_(), "transcodeAndCopy_switchEncodingNode__field12_", Node.class))); private static final Uncached UNCACHED = new Uncached(); /** * State Info:
         *   0: SpecializationActive {@link SwitchEncodingNode#compatibleMutable}
         *   1: SpecializationActive {@link SwitchEncodingNode#transcodeAndCopy}
         * 
*/ @CompilationFinal private int state_0_; @Child private TranscodeAndCopyData transcodeAndCopy_cache; private SwitchEncodingNodeGen() { } @Override public MutableTruffleString execute(AbstractTruffleString arg0Value, Encoding arg1Value, TranscodingErrorHandler arg2Value) { int state_0 = this.state_0_; if (state_0 != 0 /* is SpecializationActive[MutableTruffleString.SwitchEncodingNode.compatibleMutable(MutableTruffleString, Encoding, TranscodingErrorHandler)] || SpecializationActive[MutableTruffleString.SwitchEncodingNode.transcodeAndCopy(AbstractTruffleString, Encoding, TranscodingErrorHandler, Node, InternalSwitchEncodingNode, AsMutableTruffleStringNode)] */) { if ((state_0 & 0b1) != 0 /* is SpecializationActive[MutableTruffleString.SwitchEncodingNode.compatibleMutable(MutableTruffleString, Encoding, TranscodingErrorHandler)] */ && arg0Value instanceof MutableTruffleString) { MutableTruffleString arg0Value_ = (MutableTruffleString) arg0Value; if ((arg0Value_.isCompatibleToIntl(arg1Value))) { return SwitchEncodingNode.compatibleMutable(arg0Value_, arg1Value, arg2Value); } } if ((state_0 & 0b10) != 0 /* is SpecializationActive[MutableTruffleString.SwitchEncodingNode.transcodeAndCopy(AbstractTruffleString, Encoding, TranscodingErrorHandler, Node, InternalSwitchEncodingNode, AsMutableTruffleStringNode)] */) { TranscodeAndCopyData s1_ = this.transcodeAndCopy_cache; if (s1_ != null) { if ((!(arg0Value.isCompatibleToIntl(arg1Value)) || arg0Value.isImmutable())) { Node node__ = (s1_); return SwitchEncodingNode.transcodeAndCopy(arg0Value, arg1Value, arg2Value, node__, INLINED_TRANSCODE_AND_COPY_SWITCH_ENCODING_NODE_, s1_.asMutableTruffleStringNode_); } } } } CompilerDirectives.transferToInterpreterAndInvalidate(); return executeAndSpecialize(arg0Value, arg1Value, arg2Value); } private MutableTruffleString executeAndSpecialize(AbstractTruffleString arg0Value, Encoding arg1Value, TranscodingErrorHandler arg2Value) { int state_0 = this.state_0_; if (arg0Value instanceof MutableTruffleString) { MutableTruffleString arg0Value_ = (MutableTruffleString) arg0Value; if ((arg0Value_.isCompatibleToIntl(arg1Value))) { state_0 = state_0 | 0b1 /* add SpecializationActive[MutableTruffleString.SwitchEncodingNode.compatibleMutable(MutableTruffleString, Encoding, TranscodingErrorHandler)] */; this.state_0_ = state_0; return SwitchEncodingNode.compatibleMutable(arg0Value_, arg1Value, arg2Value); } } { Node node__ = null; if ((!(arg0Value.isCompatibleToIntl(arg1Value)) || arg0Value.isImmutable())) { TranscodeAndCopyData s1_ = this.insert(new TranscodeAndCopyData()); node__ = (s1_); AsMutableTruffleStringNode asMutableTruffleStringNode__ = s1_.insert((AsMutableTruffleStringNode.create())); Objects.requireNonNull(asMutableTruffleStringNode__, "Specialization 'transcodeAndCopy(AbstractTruffleString, Encoding, TranscodingErrorHandler, Node, InternalSwitchEncodingNode, AsMutableTruffleStringNode)' cache 'asMutableTruffleStringNode' 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'."); s1_.asMutableTruffleStringNode_ = asMutableTruffleStringNode__; VarHandle.storeStoreFence(); this.transcodeAndCopy_cache = s1_; state_0 = state_0 | 0b10 /* add SpecializationActive[MutableTruffleString.SwitchEncodingNode.transcodeAndCopy(AbstractTruffleString, Encoding, TranscodingErrorHandler, Node, InternalSwitchEncodingNode, AsMutableTruffleStringNode)] */; this.state_0_ = state_0; return SwitchEncodingNode.transcodeAndCopy(arg0Value, arg1Value, arg2Value, node__, INLINED_TRANSCODE_AND_COPY_SWITCH_ENCODING_NODE_, asMutableTruffleStringNode__); } } throw new UnsupportedSpecializationException(this, new Node[] {null, null, null}, arg0Value, arg1Value, arg2Value); } @Override public NodeCost getCost() { int state_0 = this.state_0_; if (state_0 == 0) { return NodeCost.UNINITIALIZED; } else { if ((state_0 & (state_0 - 1)) == 0 /* is-single */) { return NodeCost.MONOMORPHIC; } } return NodeCost.POLYMORPHIC; } @NeverDefault public static SwitchEncodingNode create() { return new SwitchEncodingNodeGen(); } @NeverDefault public static SwitchEncodingNode getUncached() { return SwitchEncodingNodeGen.UNCACHED; } @GeneratedBy(SwitchEncodingNode.class) @DenyReplace private static final class TranscodeAndCopyData extends Node implements SpecializationDataNode { /** * State Info:
             *   0-30: InlinedCache
             *        Specialization: {@link SwitchEncodingNode#transcodeAndCopy}
             *        Parameter: {@link InternalSwitchEncodingNode} switchEncodingNode
             *        Inline method: {@link InternalSwitchEncodingNodeGen#inline}
             * 
*/ @CompilationFinal @UnsafeAccessedField private int transcodeAndCopy_state_0_; /** * State Info:
             *   0-30: InlinedCache
             *        Specialization: {@link SwitchEncodingNode#transcodeAndCopy}
             *        Parameter: {@link InternalSwitchEncodingNode} switchEncodingNode
             *        Inline method: {@link InternalSwitchEncodingNodeGen#inline}
             * 
*/ @CompilationFinal @UnsafeAccessedField private int transcodeAndCopy_state_1_; /** * State Info:
             *   0-30: InlinedCache
             *        Specialization: {@link SwitchEncodingNode#transcodeAndCopy}
             *        Parameter: {@link InternalSwitchEncodingNode} switchEncodingNode
             *        Inline method: {@link InternalSwitchEncodingNodeGen#inline}
             * 
*/ @CompilationFinal @UnsafeAccessedField private int transcodeAndCopy_state_2_; /** * State Info:
             *   0-28: InlinedCache
             *        Specialization: {@link SwitchEncodingNode#transcodeAndCopy}
             *        Parameter: {@link InternalSwitchEncodingNode} switchEncodingNode
             *        Inline method: {@link InternalSwitchEncodingNodeGen#inline}
             * 
*/ @CompilationFinal @UnsafeAccessedField private int transcodeAndCopy_state_3_; /** * State Info:
             *   0-31: InlinedCache
             *        Specialization: {@link SwitchEncodingNode#transcodeAndCopy}
             *        Parameter: {@link InternalSwitchEncodingNode} switchEncodingNode
             *        Inline method: {@link InternalSwitchEncodingNodeGen#inline}
             * 
*/ @CompilationFinal @UnsafeAccessedField private int transcodeAndCopy_state_4_; /** * State Info:
             *   0-25: InlinedCache
             *        Specialization: {@link SwitchEncodingNode#transcodeAndCopy}
             *        Parameter: {@link InternalSwitchEncodingNode} switchEncodingNode
             *        Inline method: {@link InternalSwitchEncodingNodeGen#inline}
             * 
*/ @CompilationFinal @UnsafeAccessedField private int transcodeAndCopy_state_5_; /** * State Info:
             *   0-24: InlinedCache
             *        Specialization: {@link SwitchEncodingNode#transcodeAndCopy}
             *        Parameter: {@link InternalSwitchEncodingNode} switchEncodingNode
             *        Inline method: {@link InternalSwitchEncodingNodeGen#inline}
             * 
*/ @CompilationFinal @UnsafeAccessedField private int transcodeAndCopy_state_6_; /** * State Info:
             *   0-24: InlinedCache
             *        Specialization: {@link SwitchEncodingNode#transcodeAndCopy}
             *        Parameter: {@link InternalSwitchEncodingNode} switchEncodingNode
             *        Inline method: {@link InternalSwitchEncodingNodeGen#inline}
             * 
*/ @CompilationFinal @UnsafeAccessedField private int transcodeAndCopy_state_7_; /** * State Info:
             *   0-24: InlinedCache
             *        Specialization: {@link SwitchEncodingNode#transcodeAndCopy}
             *        Parameter: {@link InternalSwitchEncodingNode} switchEncodingNode
             *        Inline method: {@link InternalSwitchEncodingNodeGen#inline}
             * 
*/ @CompilationFinal @UnsafeAccessedField private int transcodeAndCopy_state_8_; /** * State Info:
             *   0-23: InlinedCache
             *        Specialization: {@link SwitchEncodingNode#transcodeAndCopy}
             *        Parameter: {@link InternalSwitchEncodingNode} switchEncodingNode
             *        Inline method: {@link InternalSwitchEncodingNodeGen#inline}
             * 
*/ @CompilationFinal @UnsafeAccessedField private int transcodeAndCopy_state_9_; /** * State Info:
             *   0-31: InlinedCache
             *        Specialization: {@link SwitchEncodingNode#transcodeAndCopy}
             *        Parameter: {@link InternalSwitchEncodingNode} switchEncodingNode
             *        Inline method: {@link InternalSwitchEncodingNodeGen#inline}
             * 
*/ @CompilationFinal @UnsafeAccessedField private int transcodeAndCopy_state_10_; /** * State Info:
             *   0-24: InlinedCache
             *        Specialization: {@link SwitchEncodingNode#transcodeAndCopy}
             *        Parameter: {@link InternalSwitchEncodingNode} switchEncodingNode
             *        Inline method: {@link InternalSwitchEncodingNodeGen#inline}
             * 
*/ @CompilationFinal @UnsafeAccessedField private int transcodeAndCopy_state_11_; /** * Source Info:
             *   Specialization: {@link SwitchEncodingNode#transcodeAndCopy}
             *   Parameter: {@link InternalSwitchEncodingNode} switchEncodingNode
             *   Inline method: {@link InternalSwitchEncodingNodeGen#inline}
             *   Inline field: {@link Node} field12
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node transcodeAndCopy_switchEncodingNode__field12_; /** * Source Info:
             *   Specialization: {@link SwitchEncodingNode#transcodeAndCopy}
             *   Parameter: {@link AsMutableTruffleStringNode} asMutableTruffleStringNode
*/ @Child AsMutableTruffleStringNode asMutableTruffleStringNode_; TranscodeAndCopyData() { } @Override public NodeCost getCost() { return NodeCost.NONE; } private static Lookup lookup_() { return MethodHandles.lookup(); } } @GeneratedBy(SwitchEncodingNode.class) @DenyReplace private static final class Uncached extends SwitchEncodingNode { @TruffleBoundary @Override public MutableTruffleString execute(AbstractTruffleString arg0Value, Encoding arg1Value, TranscodingErrorHandler arg2Value) { if (arg0Value instanceof MutableTruffleString) { MutableTruffleString arg0Value_ = (MutableTruffleString) arg0Value; if ((arg0Value_.isCompatibleToIntl(arg1Value))) { return SwitchEncodingNode.compatibleMutable(arg0Value_, arg1Value, arg2Value); } } if ((!(arg0Value.isCompatibleToIntl(arg1Value)) || arg0Value.isImmutable())) { return SwitchEncodingNode.transcodeAndCopy(arg0Value, arg1Value, arg2Value, (this), (InternalSwitchEncodingNodeGen.getUncached()), (AsMutableTruffleStringNode.getUncached())); } throw new UnsupportedSpecializationException(this, new Node[] {null, null, null}, arg0Value, arg1Value, arg2Value); } @Override public NodeCost getCost() { return NodeCost.MEGAMORPHIC; } @Override public boolean isAdoptable() { return false; } } } /** * Debug Info:
     *   Specialization {@link ForceEncodingNode#compatible}
     *     Activation probability: 0.65000
     *     With/without class size: 11/0 bytes
     *   Specialization {@link ForceEncodingNode#reinterpret}
     *     Activation probability: 0.35000
     *     With/without class size: 11/1 bytes
     * 
*/ @GeneratedBy(ForceEncodingNode.class) @SuppressWarnings("javadoc") static final class ForceEncodingNodeGen extends ForceEncodingNode { private static final StateField STATE_0_ForceEncodingNode_UPDATER = StateField.create(MethodHandles.lookup(), "state_0_"); /** * Source Info:
         *   Specialization: {@link ForceEncodingNode#reinterpret}
         *   Parameter: {@link ToIndexableNode} toIndexableNode
         *   Inline method: {@link ToIndexableNodeGen#inline}
*/ private static final ToIndexableNode INLINED_REINTERPRET_TO_INDEXABLE_NODE_ = ToIndexableNodeGen.inline(InlineTarget.create(ToIndexableNode.class, STATE_0_ForceEncodingNode_UPDATER.subUpdater(2, 7))); private static final Uncached UNCACHED = new Uncached(); /** * State Info:
         *   0: SpecializationActive {@link ForceEncodingNode#compatible}
         *   1: SpecializationActive {@link ForceEncodingNode#reinterpret}
         *   2-8: InlinedCache
         *        Specialization: {@link ForceEncodingNode#reinterpret}
         *        Parameter: {@link ToIndexableNode} toIndexableNode
         *        Inline method: {@link ToIndexableNodeGen#inline}
         * 
*/ @CompilationFinal @UnsafeAccessedField private int state_0_; private ForceEncodingNodeGen() { } @Override public MutableTruffleString execute(AbstractTruffleString arg0Value, Encoding arg1Value, Encoding arg2Value) { int state_0 = this.state_0_; if ((state_0 & 0b11) != 0 /* is SpecializationActive[MutableTruffleString.ForceEncodingNode.compatible(MutableTruffleString, Encoding, Encoding)] || SpecializationActive[MutableTruffleString.ForceEncodingNode.reinterpret(AbstractTruffleString, Encoding, Encoding, Node, ToIndexableNode)] */) { if ((state_0 & 0b1) != 0 /* is SpecializationActive[MutableTruffleString.ForceEncodingNode.compatible(MutableTruffleString, Encoding, Encoding)] */ && arg0Value instanceof MutableTruffleString) { MutableTruffleString arg0Value_ = (MutableTruffleString) arg0Value; if ((arg0Value_.isCompatibleToIntl(arg2Value))) { return ForceEncodingNode.compatible(arg0Value_, arg1Value, arg2Value); } } if ((state_0 & 0b10) != 0 /* is SpecializationActive[MutableTruffleString.ForceEncodingNode.reinterpret(AbstractTruffleString, Encoding, Encoding, Node, ToIndexableNode)] */) { if ((!(arg0Value.isCompatibleToIntl(arg2Value)) || arg0Value.isImmutable())) { Node node__ = (this); return ForceEncodingNode.reinterpret(arg0Value, arg1Value, arg2Value, node__, INLINED_REINTERPRET_TO_INDEXABLE_NODE_); } } } CompilerDirectives.transferToInterpreterAndInvalidate(); return executeAndSpecialize(arg0Value, arg1Value, arg2Value); } private MutableTruffleString executeAndSpecialize(AbstractTruffleString arg0Value, Encoding arg1Value, Encoding arg2Value) { int state_0 = this.state_0_; if (arg0Value instanceof MutableTruffleString) { MutableTruffleString arg0Value_ = (MutableTruffleString) arg0Value; if ((arg0Value_.isCompatibleToIntl(arg2Value))) { state_0 = state_0 | 0b1 /* add SpecializationActive[MutableTruffleString.ForceEncodingNode.compatible(MutableTruffleString, Encoding, Encoding)] */; this.state_0_ = state_0; return ForceEncodingNode.compatible(arg0Value_, arg1Value, arg2Value); } } { Node node__ = null; if ((!(arg0Value.isCompatibleToIntl(arg2Value)) || arg0Value.isImmutable())) { node__ = (this); state_0 = state_0 | 0b10 /* add SpecializationActive[MutableTruffleString.ForceEncodingNode.reinterpret(AbstractTruffleString, Encoding, Encoding, Node, ToIndexableNode)] */; this.state_0_ = state_0; return ForceEncodingNode.reinterpret(arg0Value, arg1Value, arg2Value, node__, INLINED_REINTERPRET_TO_INDEXABLE_NODE_); } } throw new UnsupportedSpecializationException(this, new Node[] {null, null, null}, arg0Value, arg1Value, arg2Value); } @Override public NodeCost getCost() { int state_0 = this.state_0_; if ((state_0 & 0b11) == 0) { return NodeCost.UNINITIALIZED; } else { if (((state_0 & 0b11) & ((state_0 & 0b11) - 1)) == 0 /* is-single */) { return NodeCost.MONOMORPHIC; } } return NodeCost.POLYMORPHIC; } @NeverDefault public static ForceEncodingNode create() { return new ForceEncodingNodeGen(); } @NeverDefault public static ForceEncodingNode getUncached() { return ForceEncodingNodeGen.UNCACHED; } @GeneratedBy(ForceEncodingNode.class) @DenyReplace private static final class Uncached extends ForceEncodingNode { @TruffleBoundary @Override public MutableTruffleString execute(AbstractTruffleString arg0Value, Encoding arg1Value, Encoding arg2Value) { if (arg0Value instanceof MutableTruffleString) { MutableTruffleString arg0Value_ = (MutableTruffleString) arg0Value; if ((arg0Value_.isCompatibleToIntl(arg2Value))) { return ForceEncodingNode.compatible(arg0Value_, arg1Value, arg2Value); } } if ((!(arg0Value.isCompatibleToIntl(arg2Value)) || arg0Value.isImmutable())) { return ForceEncodingNode.reinterpret(arg0Value, arg1Value, arg2Value, (this), (ToIndexableNodeGen.getUncached())); } throw new UnsupportedSpecializationException(this, new Node[] {null, null, null}, arg0Value, arg1Value, arg2Value); } @Override public NodeCost getCost() { return NodeCost.MEGAMORPHIC; } @Override public boolean isAdoptable() { return false; } } } /** * Debug Info:
     *   Specialization {@link DataClassProfile#doByteArray}
     *     Activation probability: 0.65000
     *     With/without class size: 11/0 bytes
     *   Specialization {@link DataClassProfile#doNativePointer}
     *     Activation probability: 0.35000
     *     With/without class size: 8/0 bytes
     * 
*/ @GeneratedBy(DataClassProfile.class) @SuppressWarnings("javadoc") static final class DataClassProfileNodeGen { private static final Uncached UNCACHED = new Uncached(); @NeverDefault public static DataClassProfile getUncached() { return DataClassProfileNodeGen.UNCACHED; } /** * Required Fields:
    *
  • {@link Inlined#state_0_} *
*/ @NeverDefault public static DataClassProfile inline(@RequiredField(bits = 2, value = StateField.class) InlineTarget target) { return new DataClassProfileNodeGen.Inlined(target); } @GeneratedBy(DataClassProfile.class) @DenyReplace private static final class Inlined extends DataClassProfile { /** * State Info:
             *   0: SpecializationActive {@link DataClassProfile#doByteArray}
             *   1: SpecializationActive {@link DataClassProfile#doNativePointer}
             * 
*/ private final StateField state_0_; private Inlined(InlineTarget target) { assert target.getTargetClass().isAssignableFrom(DataClassProfile.class); this.state_0_ = target.getState(0, 2); } @Override Object execute(Node arg0Value, Object arg1Value) { int state_0 = this.state_0_.get(arg0Value); if (state_0 != 0 /* is SpecializationActive[MutableTruffleString.DataClassProfile.doByteArray(byte[])] || SpecializationActive[MutableTruffleString.DataClassProfile.doNativePointer(NativePointer)] */) { if ((state_0 & 0b1) != 0 /* is SpecializationActive[MutableTruffleString.DataClassProfile.doByteArray(byte[])] */ && arg1Value instanceof byte[]) { byte[] arg1Value_ = (byte[]) arg1Value; return DataClassProfile.doByteArray(arg1Value_); } if ((state_0 & 0b10) != 0 /* is SpecializationActive[MutableTruffleString.DataClassProfile.doNativePointer(NativePointer)] */ && arg1Value instanceof NativePointer) { NativePointer arg1Value_ = (NativePointer) arg1Value; return DataClassProfile.doNativePointer(arg1Value_); } } CompilerDirectives.transferToInterpreterAndInvalidate(); return executeAndSpecialize(arg0Value, arg1Value); } private Object executeAndSpecialize(Node arg0Value, Object arg1Value) { int state_0 = this.state_0_.get(arg0Value); if (arg1Value instanceof byte[]) { byte[] arg1Value_ = (byte[]) arg1Value; state_0 = state_0 | 0b1 /* add SpecializationActive[MutableTruffleString.DataClassProfile.doByteArray(byte[])] */; this.state_0_.set(arg0Value, state_0); return DataClassProfile.doByteArray(arg1Value_); } if (arg1Value instanceof NativePointer) { NativePointer arg1Value_ = (NativePointer) arg1Value; state_0 = state_0 | 0b10 /* add SpecializationActive[MutableTruffleString.DataClassProfile.doNativePointer(NativePointer)] */; this.state_0_.set(arg0Value, state_0); return DataClassProfile.doNativePointer(arg1Value_); } throw new UnsupportedSpecializationException(this, new Node[] {null, null}, arg0Value, arg1Value); } @Override public boolean isAdoptable() { return false; } } @GeneratedBy(DataClassProfile.class) @DenyReplace private static final class Uncached extends DataClassProfile { @TruffleBoundary @Override Object execute(Node arg0Value, Object arg1Value) { if (arg1Value instanceof byte[]) { byte[] arg1Value_ = (byte[]) arg1Value; return DataClassProfile.doByteArray(arg1Value_); } if (arg1Value instanceof NativePointer) { NativePointer arg1Value_ = (NativePointer) arg1Value; return DataClassProfile.doNativePointer(arg1Value_); } throw new UnsupportedSpecializationException(this, new Node[] {null, null}, arg0Value, arg1Value); } @Override public NodeCost getCost() { return NodeCost.MEGAMORPHIC; } @Override public boolean isAdoptable() { return false; } } } /** * Debug Info:
     *   Specialization {@link CalcLazyAttributesNode#calc}
     *     Activation probability: 1.00000
     *     With/without class size: 24/3 bytes
     * 
*/ @GeneratedBy(CalcLazyAttributesNode.class) @SuppressWarnings("javadoc") static final class CalcLazyAttributesNodeGen { private static final Uncached UNCACHED = new Uncached(); @NeverDefault public static CalcLazyAttributesNode getUncached() { return CalcLazyAttributesNodeGen.UNCACHED; } /** * Required Fields:
    *
  • {@link Inlined#state_0_} *
*/ @NeverDefault public static CalcLazyAttributesNode inline(@RequiredField(bits = 24, value = StateField.class) InlineTarget target) { return new CalcLazyAttributesNodeGen.Inlined(target); } @GeneratedBy(CalcLazyAttributesNode.class) @DenyReplace private static final class Inlined extends CalcLazyAttributesNode { /** * State Info:
             *   0-1: InlinedCache
             *        Specialization: {@link CalcLazyAttributesNode#calc}
             *        Parameter: {@link DataClassProfile} dataClassProfile
             *        Inline method: {@link DataClassProfileNodeGen#inline}
             *   2-3: InlinedCache
             *        Specialization: {@link CalcLazyAttributesNode#calc}
             *        Parameter: {@link InlinedConditionProfile} asciiBytesLatinProfile
             *        Inline method: {@link InlinedConditionProfile#inline}
             *   4-5: InlinedCache
             *        Specialization: {@link CalcLazyAttributesNode#calc}
             *        Parameter: {@link InlinedConditionProfile} utf8Profile
             *        Inline method: {@link InlinedConditionProfile#inline}
             *   6-7: InlinedCache
             *        Specialization: {@link CalcLazyAttributesNode#calc}
             *        Parameter: {@link InlinedConditionProfile} utf8BrokenProfile
             *        Inline method: {@link InlinedConditionProfile#inline}
             *   8-9: InlinedCache
             *        Specialization: {@link CalcLazyAttributesNode#calc}
             *        Parameter: {@link InlinedConditionProfile} utf16Profile
             *        Inline method: {@link InlinedConditionProfile#inline}
             *   10-11: InlinedCache
             *        Specialization: {@link CalcLazyAttributesNode#calc}
             *        Parameter: {@link InlinedConditionProfile} utf16S0Profile
             *        Inline method: {@link InlinedConditionProfile#inline}
             *   12-13: InlinedCache
             *        Specialization: {@link CalcLazyAttributesNode#calc}
             *        Parameter: {@link InlinedConditionProfile} utf32Profile
             *        Inline method: {@link InlinedConditionProfile#inline}
             *   14-15: InlinedCache
             *        Specialization: {@link CalcLazyAttributesNode#calc}
             *        Parameter: {@link InlinedConditionProfile} utf32S0Profile
             *        Inline method: {@link InlinedConditionProfile#inline}
             *   16-17: InlinedCache
             *        Specialization: {@link CalcLazyAttributesNode#calc}
             *        Parameter: {@link InlinedConditionProfile} utf32S1Profile
             *        Inline method: {@link InlinedConditionProfile#inline}
             *   18-19: InlinedCache
             *        Specialization: {@link CalcLazyAttributesNode#calc}
             *        Parameter: {@link InlinedConditionProfile} exoticMaterializeNativeProfile
             *        Inline method: {@link InlinedConditionProfile#inline}
             *   20-21: InlinedCache
             *        Specialization: {@link CalcLazyAttributesNode#calc}
             *        Parameter: {@link InlinedConditionProfile} exoticValidProfile
             *        Inline method: {@link InlinedConditionProfile#inline}
             *   22-23: InlinedCache
             *        Specialization: {@link CalcLazyAttributesNode#calc}
             *        Parameter: {@link InlinedConditionProfile} exoticFixedWidthProfile
             *        Inline method: {@link InlinedConditionProfile#inline}
             * 
*/ private final StateField state_0_; /** * Source Info:
             *   Specialization: {@link CalcLazyAttributesNode#calc}
             *   Parameter: {@link DataClassProfile} dataClassProfile
             *   Inline method: {@link DataClassProfileNodeGen#inline}
*/ private final DataClassProfile dataClassProfile_; /** * Source Info:
             *   Specialization: {@link CalcLazyAttributesNode#calc}
             *   Parameter: {@link InlinedConditionProfile} asciiBytesLatinProfile
             *   Inline method: {@link InlinedConditionProfile#inline}
*/ private final InlinedConditionProfile asciiBytesLatinProfile_; /** * Source Info:
             *   Specialization: {@link CalcLazyAttributesNode#calc}
             *   Parameter: {@link InlinedConditionProfile} utf8Profile
             *   Inline method: {@link InlinedConditionProfile#inline}
*/ private final InlinedConditionProfile utf8Profile_; /** * Source Info:
             *   Specialization: {@link CalcLazyAttributesNode#calc}
             *   Parameter: {@link InlinedConditionProfile} utf8BrokenProfile
             *   Inline method: {@link InlinedConditionProfile#inline}
*/ private final InlinedConditionProfile utf8BrokenProfile_; /** * Source Info:
             *   Specialization: {@link CalcLazyAttributesNode#calc}
             *   Parameter: {@link InlinedConditionProfile} utf16Profile
             *   Inline method: {@link InlinedConditionProfile#inline}
*/ private final InlinedConditionProfile utf16Profile_; /** * Source Info:
             *   Specialization: {@link CalcLazyAttributesNode#calc}
             *   Parameter: {@link InlinedConditionProfile} utf16S0Profile
             *   Inline method: {@link InlinedConditionProfile#inline}
*/ private final InlinedConditionProfile utf16S0Profile_; /** * Source Info:
             *   Specialization: {@link CalcLazyAttributesNode#calc}
             *   Parameter: {@link InlinedConditionProfile} utf32Profile
             *   Inline method: {@link InlinedConditionProfile#inline}
*/ private final InlinedConditionProfile utf32Profile_; /** * Source Info:
             *   Specialization: {@link CalcLazyAttributesNode#calc}
             *   Parameter: {@link InlinedConditionProfile} utf32S0Profile
             *   Inline method: {@link InlinedConditionProfile#inline}
*/ private final InlinedConditionProfile utf32S0Profile_; /** * Source Info:
             *   Specialization: {@link CalcLazyAttributesNode#calc}
             *   Parameter: {@link InlinedConditionProfile} utf32S1Profile
             *   Inline method: {@link InlinedConditionProfile#inline}
*/ private final InlinedConditionProfile utf32S1Profile_; /** * Source Info:
             *   Specialization: {@link CalcLazyAttributesNode#calc}
             *   Parameter: {@link InlinedConditionProfile} exoticMaterializeNativeProfile
             *   Inline method: {@link InlinedConditionProfile#inline}
*/ private final InlinedConditionProfile exoticMaterializeNativeProfile_; /** * Source Info:
             *   Specialization: {@link CalcLazyAttributesNode#calc}
             *   Parameter: {@link InlinedConditionProfile} exoticValidProfile
             *   Inline method: {@link InlinedConditionProfile#inline}
*/ private final InlinedConditionProfile exoticValidProfile_; /** * Source Info:
             *   Specialization: {@link CalcLazyAttributesNode#calc}
             *   Parameter: {@link InlinedConditionProfile} exoticFixedWidthProfile
             *   Inline method: {@link InlinedConditionProfile#inline}
*/ private final InlinedConditionProfile exoticFixedWidthProfile_; private Inlined(InlineTarget target) { assert target.getTargetClass().isAssignableFrom(CalcLazyAttributesNode.class); this.state_0_ = target.getState(0, 24); this.dataClassProfile_ = DataClassProfileNodeGen.inline(InlineTarget.create(DataClassProfile.class, state_0_.subUpdater(0, 2))); this.asciiBytesLatinProfile_ = InlinedConditionProfile.inline(InlineTarget.create(InlinedConditionProfile.class, state_0_.subUpdater(2, 2))); this.utf8Profile_ = InlinedConditionProfile.inline(InlineTarget.create(InlinedConditionProfile.class, state_0_.subUpdater(4, 2))); this.utf8BrokenProfile_ = InlinedConditionProfile.inline(InlineTarget.create(InlinedConditionProfile.class, state_0_.subUpdater(6, 2))); this.utf16Profile_ = InlinedConditionProfile.inline(InlineTarget.create(InlinedConditionProfile.class, state_0_.subUpdater(8, 2))); this.utf16S0Profile_ = InlinedConditionProfile.inline(InlineTarget.create(InlinedConditionProfile.class, state_0_.subUpdater(10, 2))); this.utf32Profile_ = InlinedConditionProfile.inline(InlineTarget.create(InlinedConditionProfile.class, state_0_.subUpdater(12, 2))); this.utf32S0Profile_ = InlinedConditionProfile.inline(InlineTarget.create(InlinedConditionProfile.class, state_0_.subUpdater(14, 2))); this.utf32S1Profile_ = InlinedConditionProfile.inline(InlineTarget.create(InlinedConditionProfile.class, state_0_.subUpdater(16, 2))); this.exoticMaterializeNativeProfile_ = InlinedConditionProfile.inline(InlineTarget.create(InlinedConditionProfile.class, state_0_.subUpdater(18, 2))); this.exoticValidProfile_ = InlinedConditionProfile.inline(InlineTarget.create(InlinedConditionProfile.class, state_0_.subUpdater(20, 2))); this.exoticFixedWidthProfile_ = InlinedConditionProfile.inline(InlineTarget.create(InlinedConditionProfile.class, state_0_.subUpdater(22, 2))); } @Override void execute(Node arg0Value, MutableTruffleString arg1Value) { assert InlineSupport.validate(arg0Value, this.state_0_, this.state_0_, this.state_0_, this.state_0_, this.state_0_, this.state_0_, this.state_0_, this.state_0_, this.state_0_, this.state_0_, this.state_0_, this.state_0_); CalcLazyAttributesNode.calc(arg0Value, arg1Value, this.dataClassProfile_, this.asciiBytesLatinProfile_, this.utf8Profile_, this.utf8BrokenProfile_, this.utf16Profile_, this.utf16S0Profile_, this.utf32Profile_, this.utf32S0Profile_, this.utf32S1Profile_, this.exoticMaterializeNativeProfile_, this.exoticValidProfile_, this.exoticFixedWidthProfile_); return; } @Override public boolean isAdoptable() { return false; } } @GeneratedBy(CalcLazyAttributesNode.class) @DenyReplace private static final class Uncached extends CalcLazyAttributesNode { @TruffleBoundary @Override void execute(Node arg0Value, MutableTruffleString arg1Value) { CalcLazyAttributesNode.calc(arg0Value, arg1Value, (DataClassProfileNodeGen.getUncached()), (InlinedConditionProfile.getUncached()), (InlinedConditionProfile.getUncached()), (InlinedConditionProfile.getUncached()), (InlinedConditionProfile.getUncached()), (InlinedConditionProfile.getUncached()), (InlinedConditionProfile.getUncached()), (InlinedConditionProfile.getUncached()), (InlinedConditionProfile.getUncached()), (InlinedConditionProfile.getUncached()), (InlinedConditionProfile.getUncached()), (InlinedConditionProfile.getUncached())); return; } @Override public NodeCost getCost() { return NodeCost.MEGAMORPHIC; } @Override public boolean isAdoptable() { return false; } } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy