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

com.oracle.truffle.js.nodes.access.CachedSetPropertyNodeGen Maven / Gradle / Ivy

The newest version!
// CheckStyle: start generated
package com.oracle.truffle.js.nodes.access;

import com.oracle.truffle.api.CompilerDirectives;
import com.oracle.truffle.api.CompilerDirectives.CompilationFinal;
import com.oracle.truffle.api.dsl.DSLSupport;
import com.oracle.truffle.api.dsl.GeneratedBy;
import com.oracle.truffle.api.dsl.NeverDefault;
import com.oracle.truffle.api.dsl.DSLSupport.SpecializationDataNode;
import com.oracle.truffle.api.dsl.InlineSupport.InlineTarget;
import com.oracle.truffle.api.dsl.InlineSupport.ReferenceField;
import com.oracle.truffle.api.dsl.InlineSupport.StateField;
import com.oracle.truffle.api.dsl.InlineSupport.UnsafeAccessedField;
import com.oracle.truffle.api.nodes.DenyReplace;
import com.oracle.truffle.api.nodes.ExplodeLoop;
import com.oracle.truffle.api.nodes.Node;
import com.oracle.truffle.api.profiles.InlinedConditionProfile;
import com.oracle.truffle.api.strings.TruffleString.EqualNode;
import com.oracle.truffle.js.nodes.JSGuards;
import com.oracle.truffle.js.nodes.access.FrequencyBasedPolymorphicAccessNode.FrequencyBasedPropertySetNode;
import com.oracle.truffle.js.nodes.cast.ToArrayIndexNoToPropertyKeyNode;
import com.oracle.truffle.js.nodes.cast.ToArrayIndexNoToPropertyKeyNodeGen;
import com.oracle.truffle.js.nodes.cast.ToArrayIndexNode;
import com.oracle.truffle.js.runtime.JSContext;
import com.oracle.truffle.js.runtime.JSRuntime;
import com.oracle.truffle.js.runtime.objects.JSDynamicObject;
import com.oracle.truffle.js.runtime.util.JSClassProfile;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.VarHandle;
import java.lang.invoke.MethodHandles.Lookup;
import java.util.Objects;

/**
 * Debug Info: 
 *   Specialization {@link CachedSetPropertyNode#doCachedKey}
 *     Activation probability: 0.32000
 *     With/without class size: 12/8 bytes
 *   Specialization {@link CachedSetPropertyNode#doIntIndex}
 *     Activation probability: 0.26000
 *     With/without class size: 7/0 bytes
 *   Specialization {@link CachedSetPropertyNode#doArrayIndex}
 *     Activation probability: 0.20000
 *     With/without class size: 9/11 bytes
 *   Specialization {@link CachedSetPropertyNode#doProxy}
 *     Activation probability: 0.14000
 *     With/without class size: 6/4 bytes
 *   Specialization {@link CachedSetPropertyNode#doGeneric}
 *     Activation probability: 0.08000
 *     With/without class size: 6/9 bytes
 * 
*/ @GeneratedBy(CachedSetPropertyNode.class) @SuppressWarnings("javadoc") final class CachedSetPropertyNodeGen extends CachedSetPropertyNode { private static final StateField ARRAY_INDEX__CACHED_SET_PROPERTY_NODE_ARRAY_INDEX_STATE_0_UPDATER = StateField.create(ArrayIndexData.lookup_(), "arrayIndex_state_0_"); private static final StateField GENERIC__CACHED_SET_PROPERTY_NODE_GENERIC_STATE_0_UPDATER = StateField.create(GenericData.lookup_(), "generic_state_0_"); static final ReferenceField CACHED_KEY_CACHE_UPDATER = ReferenceField.create(MethodHandles.lookup(), "cachedKey_cache", CachedKeyData.class); static final ReferenceField ARRAY_INDEX_CACHE_UPDATER = ReferenceField.create(MethodHandles.lookup(), "arrayIndex_cache", ArrayIndexData.class); /** * Source Info:
     *   Specialization: {@link CachedSetPropertyNode#doArrayIndex}
     *   Parameter: {@link ToArrayIndexNoToPropertyKeyNode} toArrayIndexNode
     *   Inline method: {@link ToArrayIndexNoToPropertyKeyNodeGen#inline}
*/ private static final ToArrayIndexNoToPropertyKeyNode INLINED_ARRAY_INDEX_TO_ARRAY_INDEX_NODE_ = ToArrayIndexNoToPropertyKeyNodeGen.inline(InlineTarget.create(ToArrayIndexNoToPropertyKeyNode.class, ARRAY_INDEX__CACHED_SET_PROPERTY_NODE_ARRAY_INDEX_STATE_0_UPDATER.subUpdater(0, 19), ReferenceField.create(ArrayIndexData.lookup_(), "arrayIndex_toArrayIndexNode__field1_", Node.class), ReferenceField.create(ArrayIndexData.lookup_(), "arrayIndex_toArrayIndexNode__field2_", Node.class))); /** * Source Info:
     *   Specialization: {@link CachedSetPropertyNode#doGeneric}
     *   Parameter: {@link InlinedConditionProfile} getType
     *   Inline method: {@link InlinedConditionProfile#inline}
*/ private static final InlinedConditionProfile INLINED_GENERIC_GET_TYPE_ = InlinedConditionProfile.inline(InlineTarget.create(InlinedConditionProfile.class, GENERIC__CACHED_SET_PROPERTY_NODE_GENERIC_STATE_0_UPDATER.subUpdater(0, 2))); /** * Source Info:
     *   Specialization: {@link CachedSetPropertyNode#doGeneric}
     *   Parameter: {@link InlinedConditionProfile} highFrequency
     *   Inline method: {@link InlinedConditionProfile#inline}
*/ private static final InlinedConditionProfile INLINED_GENERIC_HIGH_FREQUENCY_ = InlinedConditionProfile.inline(InlineTarget.create(InlinedConditionProfile.class, GENERIC__CACHED_SET_PROPERTY_NODE_GENERIC_STATE_0_UPDATER.subUpdater(2, 2))); /** * State Info:
     *   0: SpecializationActive {@link CachedSetPropertyNode#doCachedKey}
     *   1: SpecializationActive {@link CachedSetPropertyNode#doGeneric}
     *   2: SpecializationActive {@link CachedSetPropertyNode#doIntIndex}
     *   3: SpecializationActive {@link CachedSetPropertyNode#doArrayIndex}
     *   4: SpecializationActive {@link CachedSetPropertyNode#doProxy}
     * 
*/ @CompilationFinal private int state_0_; /** * Source Info:
     *   Specialization: {@link CachedSetPropertyNode#doCachedKey}
     *   Parameter: {@link EqualNode} equalsNode
*/ @Child private EqualNode equalsNode; /** * Source Info:
     *   Specialization: {@link CachedSetPropertyNode#doIntIndex}
     *   Parameter: {@link JSClassProfile} jsclassProfile
*/ @CompilationFinal private JSClassProfile jsclassProfile; @UnsafeAccessedField @Child private CachedKeyData cachedKey_cache; @UnsafeAccessedField @Child private ArrayIndexData arrayIndex_cache; /** * Source Info:
     *   Specialization: {@link CachedSetPropertyNode#doProxy}
     *   Parameter: {@link JSProxyPropertySetNode} proxySet
*/ @Child private JSProxyPropertySetNode proxy_proxySet_; @Child private GenericData generic_cache; private CachedSetPropertyNodeGen(JSContext context, boolean strict, boolean setOwn, boolean superProperty) { super(context, strict, setOwn, superProperty); } @ExplodeLoop @Override public void execute(JSDynamicObject arg0Value, Object arg1Value, Object arg2Value, Object arg3Value) { int state_0 = this.state_0_; if (state_0 != 0 /* is SpecializationActive[CachedSetPropertyNode.doCachedKey(JSDynamicObject, Object, Object, Object, Object, PropertySetNode, EqualNode)] || SpecializationActive[CachedSetPropertyNode.doIntIndex(JSDynamicObject, int, Object, Object, JSClassProfile)] || SpecializationActive[CachedSetPropertyNode.doArrayIndex(JSDynamicObject, Object, Object, Object, ToArrayIndexNoToPropertyKeyNode, long, JSClassProfile)] || SpecializationActive[CachedSetPropertyNode.doProxy(JSDynamicObject, Object, Object, Object, JSProxyPropertySetNode)] || SpecializationActive[CachedSetPropertyNode.doGeneric(JSDynamicObject, Object, Object, Object, Node, ToArrayIndexNode, InlinedConditionProfile, JSClassProfile, InlinedConditionProfile, FrequencyBasedPropertySetNode, EqualNode)] */) { if ((state_0 & 0b1) != 0 /* is SpecializationActive[CachedSetPropertyNode.doCachedKey(JSDynamicObject, Object, Object, Object, Object, PropertySetNode, EqualNode)] */) { CachedKeyData s0_ = this.cachedKey_cache; while (s0_ != null) { { EqualNode equalsNode_ = this.equalsNode; if (equalsNode_ != null) { assert DSLSupport.assertIdempotence((s0_.cachedKey_ != null)); assert DSLSupport.assertIdempotence((!(JSRuntime.isArrayIndex(s0_.cachedKey_)))); if ((JSRuntime.propertyKeyEquals(equalsNode_, s0_.cachedKey_, arg1Value))) { doCachedKey(arg0Value, arg1Value, arg2Value, arg3Value, s0_.cachedKey_, s0_.propertyNode_, equalsNode_); return; } } } s0_ = s0_.next_; } } if ((state_0 & 0b100) != 0 /* is SpecializationActive[CachedSetPropertyNode.doIntIndex(JSDynamicObject, int, Object, Object, JSClassProfile)] */ && arg1Value instanceof Integer) { int arg1Value_ = (int) arg1Value; { JSClassProfile jsclassProfile_ = this.jsclassProfile; if (jsclassProfile_ != null) { if ((JSRuntime.isArrayIndex(arg1Value_)) && (!(JSGuards.isJSProxy(arg0Value)))) { doIntIndex(arg0Value, arg1Value_, arg2Value, arg3Value, jsclassProfile_); return; } } } } if ((state_0 & 0b11010) != 0 /* is SpecializationActive[CachedSetPropertyNode.doArrayIndex(JSDynamicObject, Object, Object, Object, ToArrayIndexNoToPropertyKeyNode, long, JSClassProfile)] || SpecializationActive[CachedSetPropertyNode.doProxy(JSDynamicObject, Object, Object, Object, JSProxyPropertySetNode)] || SpecializationActive[CachedSetPropertyNode.doGeneric(JSDynamicObject, Object, Object, Object, Node, ToArrayIndexNode, InlinedConditionProfile, JSClassProfile, InlinedConditionProfile, FrequencyBasedPropertySetNode, EqualNode)] */) { if ((state_0 & 0b1000) != 0 /* is SpecializationActive[CachedSetPropertyNode.doArrayIndex(JSDynamicObject, Object, Object, Object, ToArrayIndexNoToPropertyKeyNode, long, JSClassProfile)] */) { ArrayIndexData s2_ = this.arrayIndex_cache; if (s2_ != null) { { JSClassProfile jsclassProfile_1 = this.jsclassProfile; if (jsclassProfile_1 != null) { if ((!(JSGuards.isJSProxy(arg0Value)))) { long index__ = (INLINED_ARRAY_INDEX_TO_ARRAY_INDEX_NODE_.executeLong(s2_, arg1Value)); if ((index__ >= 0)) { doArrayIndex(arg0Value, arg1Value, arg2Value, arg3Value, INLINED_ARRAY_INDEX_TO_ARRAY_INDEX_NODE_, index__, jsclassProfile_1); return; } } } } } } if ((state_0 & 0b10000) != 0 /* is SpecializationActive[CachedSetPropertyNode.doProxy(JSDynamicObject, Object, Object, Object, JSProxyPropertySetNode)] */) { { JSProxyPropertySetNode proxySet__ = this.proxy_proxySet_; if (proxySet__ != null) { if ((JSGuards.isJSProxy(arg0Value))) { doProxy(arg0Value, arg1Value, arg2Value, arg3Value, proxySet__); return; } } } } if ((state_0 & 0b10) != 0 /* is SpecializationActive[CachedSetPropertyNode.doGeneric(JSDynamicObject, Object, Object, Object, Node, ToArrayIndexNode, InlinedConditionProfile, JSClassProfile, InlinedConditionProfile, FrequencyBasedPropertySetNode, EqualNode)] */) { GenericData s4_ = this.generic_cache; if (s4_ != null) { { JSClassProfile jsclassProfile_2 = this.jsclassProfile; if (jsclassProfile_2 != null) { EqualNode equalsNode_1 = this.equalsNode; if (equalsNode_1 != null) { Node node__ = (s4_); doGeneric(arg0Value, arg1Value, arg2Value, arg3Value, node__, s4_.toArrayIndexNode_, INLINED_GENERIC_GET_TYPE_, jsclassProfile_2, INLINED_GENERIC_HIGH_FREQUENCY_, s4_.hotKey_, equalsNode_1); return; } } } } } } } CompilerDirectives.transferToInterpreterAndInvalidate(); executeAndSpecialize(arg0Value, arg1Value, arg2Value, arg3Value); return; } private void executeAndSpecialize(JSDynamicObject arg0Value, Object arg1Value, Object arg2Value, Object arg3Value) { int state_0 = this.state_0_; if (((state_0 & 0b10)) == 0 /* is-not SpecializationActive[CachedSetPropertyNode.doGeneric(JSDynamicObject, Object, Object, Object, Node, ToArrayIndexNode, InlinedConditionProfile, JSClassProfile, InlinedConditionProfile, FrequencyBasedPropertySetNode, EqualNode)] */) { while (true) { int count0_ = 0; CachedKeyData s0_ = CACHED_KEY_CACHE_UPDATER.getVolatile(this); CachedKeyData s0_original = s0_; while (s0_ != null) { { EqualNode equalsNode_ = this.equalsNode; if (equalsNode_ != null) { assert DSLSupport.assertIdempotence((s0_.cachedKey_ != null)); assert DSLSupport.assertIdempotence((!(JSRuntime.isArrayIndex(s0_.cachedKey_)))); if ((JSRuntime.propertyKeyEquals(equalsNode_, s0_.cachedKey_, arg1Value))) { break; } } } count0_++; s0_ = s0_.next_; } if (s0_ == null) { { Object cachedKey__ = (CachedSetPropertyNode.propertyKeyOrNull(arg1Value)); if ((cachedKey__ != null) && (!(JSRuntime.isArrayIndex(cachedKey__)))) { EqualNode equalsNode_; EqualNode equalsNode__shared = this.equalsNode; if (equalsNode__shared != null) { equalsNode_ = equalsNode__shared; } else { equalsNode_ = this.insert((EqualNode.create())); if (equalsNode_ == null) { throw new IllegalStateException("A specialization returned a default value for a cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state."); } } if ((JSRuntime.propertyKeyEquals(equalsNode_, cachedKey__, arg1Value)) && count0_ < (CachedSetPropertyNode.MAX_DEPTH)) { s0_ = this.insert(new CachedKeyData(s0_original)); s0_.cachedKey_ = cachedKey__; PropertySetNode propertyNode__ = s0_.insert((createSet(cachedKey__))); Objects.requireNonNull(propertyNode__, "A specialization cache returned a 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 the default value."); s0_.propertyNode_ = propertyNode__; if (this.equalsNode == null) { this.equalsNode = equalsNode_; } if (!CACHED_KEY_CACHE_UPDATER.compareAndSet(this, s0_original, s0_)) { continue; } state_0 = state_0 | 0b1 /* add SpecializationActive[CachedSetPropertyNode.doCachedKey(JSDynamicObject, Object, Object, Object, Object, PropertySetNode, EqualNode)] */; this.state_0_ = state_0; } } } } if (s0_ != null) { doCachedKey(arg0Value, arg1Value, arg2Value, arg3Value, s0_.cachedKey_, s0_.propertyNode_, this.equalsNode); return; } break; } } if (((state_0 & 0b1010)) == 0 /* is-not SpecializationActive[CachedSetPropertyNode.doArrayIndex(JSDynamicObject, Object, Object, Object, ToArrayIndexNoToPropertyKeyNode, long, JSClassProfile)] && SpecializationActive[CachedSetPropertyNode.doGeneric(JSDynamicObject, Object, Object, Object, Node, ToArrayIndexNode, InlinedConditionProfile, JSClassProfile, InlinedConditionProfile, FrequencyBasedPropertySetNode, EqualNode)] */ && arg1Value instanceof Integer) { int arg1Value_ = (int) arg1Value; if ((JSRuntime.isArrayIndex(arg1Value_)) && (!(JSGuards.isJSProxy(arg0Value)))) { JSClassProfile jsclassProfile_; JSClassProfile jsclassProfile__shared = this.jsclassProfile; if (jsclassProfile__shared != null) { jsclassProfile_ = jsclassProfile__shared; } else { jsclassProfile_ = (JSClassProfile.create()); if (jsclassProfile_ == null) { throw new IllegalStateException("A specialization returned a default value for a cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state."); } } if (this.jsclassProfile == null) { VarHandle.storeStoreFence(); this.jsclassProfile = jsclassProfile_; } state_0 = state_0 | 0b100 /* add SpecializationActive[CachedSetPropertyNode.doIntIndex(JSDynamicObject, int, Object, Object, JSClassProfile)] */; this.state_0_ = state_0; doIntIndex(arg0Value, arg1Value_, arg2Value, arg3Value, jsclassProfile_); return; } } { long index__ = 0L; if (((state_0 & 0b10)) == 0 /* is-not SpecializationActive[CachedSetPropertyNode.doGeneric(JSDynamicObject, Object, Object, Object, Node, ToArrayIndexNode, InlinedConditionProfile, JSClassProfile, InlinedConditionProfile, FrequencyBasedPropertySetNode, EqualNode)] */) { while (true) { int count2_ = 0; ArrayIndexData s2_ = ARRAY_INDEX_CACHE_UPDATER.getVolatile(this); ArrayIndexData s2_original = s2_; while (s2_ != null) { { JSClassProfile jsclassProfile_1 = this.jsclassProfile; if (jsclassProfile_1 != null) { if ((!(JSGuards.isJSProxy(arg0Value)))) { index__ = (INLINED_ARRAY_INDEX_TO_ARRAY_INDEX_NODE_.executeLong(s2_, arg1Value)); if ((index__ >= 0)) { break; } } } } count2_++; s2_ = null; break; } if (s2_ == null && count2_ < 1) { if ((!(JSGuards.isJSProxy(arg0Value)))) { s2_ = this.insert(new ArrayIndexData()); index__ = (INLINED_ARRAY_INDEX_TO_ARRAY_INDEX_NODE_.executeLong(s2_, arg1Value)); if ((index__ >= 0)) { JSClassProfile jsclassProfile_1; JSClassProfile jsclassProfile_1_shared = this.jsclassProfile; if (jsclassProfile_1_shared != null) { jsclassProfile_1 = jsclassProfile_1_shared; } else { jsclassProfile_1 = (JSClassProfile.create()); if (jsclassProfile_1 == null) { throw new IllegalStateException("A specialization returned a default value for a cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state."); } } if (this.jsclassProfile == null) { this.jsclassProfile = jsclassProfile_1; } if (!ARRAY_INDEX_CACHE_UPDATER.compareAndSet(this, s2_original, s2_)) { continue; } state_0 = state_0 & 0xfffffffb /* remove SpecializationActive[CachedSetPropertyNode.doIntIndex(JSDynamicObject, int, Object, Object, JSClassProfile)] */; state_0 = state_0 | 0b1000 /* add SpecializationActive[CachedSetPropertyNode.doArrayIndex(JSDynamicObject, Object, Object, Object, ToArrayIndexNoToPropertyKeyNode, long, JSClassProfile)] */; this.state_0_ = state_0; } else { s2_ = null; } } else { s2_ = null; } } if (s2_ != null) { doArrayIndex(arg0Value, arg1Value, arg2Value, arg3Value, INLINED_ARRAY_INDEX_TO_ARRAY_INDEX_NODE_, index__, this.jsclassProfile); return; } break; } } } if (((state_0 & 0b10)) == 0 /* is-not SpecializationActive[CachedSetPropertyNode.doGeneric(JSDynamicObject, Object, Object, Object, Node, ToArrayIndexNode, InlinedConditionProfile, JSClassProfile, InlinedConditionProfile, FrequencyBasedPropertySetNode, EqualNode)] */) { if ((JSGuards.isJSProxy(arg0Value))) { JSProxyPropertySetNode proxySet__ = this.insert((JSProxyPropertySetNode.create(context, strict, setOwn, CachedSetPropertyNode.getAttributes()))); Objects.requireNonNull(proxySet__, "A specialization cache returned a 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 the default value."); VarHandle.storeStoreFence(); this.proxy_proxySet_ = proxySet__; state_0 = state_0 | 0b10000 /* add SpecializationActive[CachedSetPropertyNode.doProxy(JSDynamicObject, Object, Object, Object, JSProxyPropertySetNode)] */; this.state_0_ = state_0; doProxy(arg0Value, arg1Value, arg2Value, arg3Value, proxySet__); return; } } { Node node__ = null; GenericData s4_ = this.insert(new GenericData()); node__ = (s4_); ToArrayIndexNode toArrayIndexNode__ = s4_.insert((ToArrayIndexNode.create())); Objects.requireNonNull(toArrayIndexNode__, "A specialization cache returned a 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 the default value."); s4_.toArrayIndexNode_ = toArrayIndexNode__; JSClassProfile jsclassProfile_2; JSClassProfile jsclassProfile_2_shared = this.jsclassProfile; if (jsclassProfile_2_shared != null) { jsclassProfile_2 = jsclassProfile_2_shared; } else { jsclassProfile_2 = (JSClassProfile.create()); if (jsclassProfile_2 == null) { throw new IllegalStateException("A specialization returned a default value for a cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state."); } } if (this.jsclassProfile == null) { this.jsclassProfile = jsclassProfile_2; } FrequencyBasedPropertySetNode hotKey__ = s4_.insert((FrequencyBasedPropertySetNode.create(context, setOwn, strict, superProperty))); Objects.requireNonNull(hotKey__, "A specialization cache returned a 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 the default value."); s4_.hotKey_ = hotKey__; EqualNode equalsNode_1; EqualNode equalsNode_1_shared = this.equalsNode; if (equalsNode_1_shared != null) { equalsNode_1 = equalsNode_1_shared; } else { equalsNode_1 = s4_.insert((EqualNode.create())); if (equalsNode_1 == null) { throw new IllegalStateException("A specialization returned a default value for a cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state."); } } if (this.equalsNode == null) { this.equalsNode = equalsNode_1; } VarHandle.storeStoreFence(); this.generic_cache = s4_; this.cachedKey_cache = null; this.arrayIndex_cache = null; this.proxy_proxySet_ = null; state_0 = state_0 & 0xffffffe2 /* remove SpecializationActive[CachedSetPropertyNode.doCachedKey(JSDynamicObject, Object, Object, Object, Object, PropertySetNode, EqualNode)], SpecializationActive[CachedSetPropertyNode.doIntIndex(JSDynamicObject, int, Object, Object, JSClassProfile)], SpecializationActive[CachedSetPropertyNode.doArrayIndex(JSDynamicObject, Object, Object, Object, ToArrayIndexNoToPropertyKeyNode, long, JSClassProfile)], SpecializationActive[CachedSetPropertyNode.doProxy(JSDynamicObject, Object, Object, Object, JSProxyPropertySetNode)] */; state_0 = state_0 | 0b10 /* add SpecializationActive[CachedSetPropertyNode.doGeneric(JSDynamicObject, Object, Object, Object, Node, ToArrayIndexNode, InlinedConditionProfile, JSClassProfile, InlinedConditionProfile, FrequencyBasedPropertySetNode, EqualNode)] */; this.state_0_ = state_0; doGeneric(arg0Value, arg1Value, arg2Value, arg3Value, node__, toArrayIndexNode__, INLINED_GENERIC_GET_TYPE_, jsclassProfile_2, INLINED_GENERIC_HIGH_FREQUENCY_, hotKey__, equalsNode_1); return; } } @NeverDefault public static CachedSetPropertyNode create(JSContext context, boolean strict, boolean setOwn, boolean superProperty) { return new CachedSetPropertyNodeGen(context, strict, setOwn, superProperty); } @GeneratedBy(CachedSetPropertyNode.class) @DenyReplace private static final class CachedKeyData extends Node implements SpecializationDataNode { @Child CachedKeyData next_; /** * Source Info:
         *   Specialization: {@link CachedSetPropertyNode#doCachedKey}
         *   Parameter: {@link Object} cachedKey
*/ @CompilationFinal Object cachedKey_; /** * Source Info:
         *   Specialization: {@link CachedSetPropertyNode#doCachedKey}
         *   Parameter: {@link PropertySetNode} propertyNode
*/ @Child PropertySetNode propertyNode_; CachedKeyData(CachedKeyData next_) { this.next_ = next_; } } @GeneratedBy(CachedSetPropertyNode.class) @DenyReplace private static final class ArrayIndexData extends Node implements SpecializationDataNode { /** * State Info:
         *   0-18: InlinedCache
         *        Specialization: {@link CachedSetPropertyNode#doArrayIndex}
         *        Parameter: {@link ToArrayIndexNoToPropertyKeyNode} toArrayIndexNode
         *        Inline method: {@link ToArrayIndexNoToPropertyKeyNodeGen#inline}
         * 
*/ @CompilationFinal @UnsafeAccessedField private int arrayIndex_state_0_; /** * Source Info:
         *   Specialization: {@link CachedSetPropertyNode#doArrayIndex}
         *   Parameter: {@link ToArrayIndexNoToPropertyKeyNode} toArrayIndexNode
         *   Inline method: {@link ToArrayIndexNoToPropertyKeyNodeGen#inline}
         *   Inline field: {@link Node} field1
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node arrayIndex_toArrayIndexNode__field1_; /** * Source Info:
         *   Specialization: {@link CachedSetPropertyNode#doArrayIndex}
         *   Parameter: {@link ToArrayIndexNoToPropertyKeyNode} toArrayIndexNode
         *   Inline method: {@link ToArrayIndexNoToPropertyKeyNodeGen#inline}
         *   Inline field: {@link Node} field2
*/ @Child @UnsafeAccessedField @SuppressWarnings("unused") private Node arrayIndex_toArrayIndexNode__field2_; ArrayIndexData() { } private static Lookup lookup_() { return MethodHandles.lookup(); } } @GeneratedBy(CachedSetPropertyNode.class) @DenyReplace private static final class GenericData extends Node implements SpecializationDataNode { /** * State Info:
         *   0-1: InlinedCache
         *        Specialization: {@link CachedSetPropertyNode#doGeneric}
         *        Parameter: {@link InlinedConditionProfile} getType
         *        Inline method: {@link InlinedConditionProfile#inline}
         *   2-3: InlinedCache
         *        Specialization: {@link CachedSetPropertyNode#doGeneric}
         *        Parameter: {@link InlinedConditionProfile} highFrequency
         *        Inline method: {@link InlinedConditionProfile#inline}
         * 
*/ @CompilationFinal @UnsafeAccessedField private int generic_state_0_; /** * Source Info:
         *   Specialization: {@link CachedSetPropertyNode#doGeneric}
         *   Parameter: {@link ToArrayIndexNode} toArrayIndexNode
*/ @Child ToArrayIndexNode toArrayIndexNode_; /** * Source Info:
         *   Specialization: {@link CachedSetPropertyNode#doGeneric}
         *   Parameter: {@link FrequencyBasedPropertySetNode} hotKey
*/ @Child FrequencyBasedPropertySetNode hotKey_; GenericData() { } private static Lookup lookup_() { return MethodHandles.lookup(); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy