public class CompoundWriteElementNode extends WriteElementNode
indexNode, targetNode, valueNodeINTERMEDIATE_VALUE| Modifier | Constructor and Description |
|---|---|
protected |
CompoundWriteElementNode(JavaScriptNode targetNode,
JavaScriptNode indexNode,
JavaScriptNode valueNode,
JSWriteFrameSlotNode writeIndexNode,
JSContext context,
boolean isStrict,
boolean writeOwn) |
| Modifier and Type | Method and Description |
|---|---|
protected JavaScriptNode |
copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
static CompoundWriteElementNode |
create(JavaScriptNode targetNode,
JavaScriptNode indexNode,
JavaScriptNode valueNode,
JSWriteFrameSlotNode writeIndexNode,
JSContext context,
boolean isStrict) |
protected WriteElementNode |
createMaterialized(JavaScriptNode newTarget,
JavaScriptNode newIndex,
JavaScriptNode newValue) |
protected Object |
executeWithTargetAndIndex(com.oracle.truffle.api.frame.VirtualFrame frame,
Object target,
int index,
Object receiver) |
protected Object |
executeWithTargetAndIndex(com.oracle.truffle.api.frame.VirtualFrame frame,
Object target,
Object index,
Object receiver) |
protected double |
executeWithTargetAndIndexDouble(com.oracle.truffle.api.frame.VirtualFrame frame,
Object target,
int index,
Object receiver) |
protected double |
executeWithTargetAndIndexDouble(com.oracle.truffle.api.frame.VirtualFrame frame,
Object target,
Object index,
Object receiver) |
protected int |
executeWithTargetAndIndexInt(com.oracle.truffle.api.frame.VirtualFrame frame,
Object target,
int index,
Object receiver) |
protected int |
executeWithTargetAndIndexInt(com.oracle.truffle.api.frame.VirtualFrame frame,
Object target,
Object index,
Object receiver) |
protected void |
requireObjectCoercible(Object target,
int index)
Off-spec: We perform RequireObjectCoercible(lhs) before evaluating the rhs (only) for
compatibility with current test262 tests and other engines.
|
protected void |
requireObjectCoercible(Object target,
Object index) |
create, create, create, createCachedInterop, evaluateTarget, execute, executeDouble, executeInt, executeWithTarget, executeWithTarget, executeWithTargetAndIndexAndValue, executeWithTargetAndIndexAndValue, executeWithTargetAndIndexAndValue, executeWithTargetAndIndexAndValue, executeWithTargetAndIndexAndValue, executeWithTargetAndIndexAndValue, executeWithTargetDouble, executeWithTargetInt, getContext, getElement, getTarget, getValue, hasTag, isResultAlwaysOfType, isStrict, materializeInstrumentableNodes, toArrayIndex, writeOwncreateWrapper, evaluateReceiver, executeDoubleWithTarget, executeIntWithTargetaddCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, executeBoolean, executeLong, executeVoid, expressionToString, findBlockScopeNode, getSourceSection, hasSourceSection, isInstrumentable, onReplace, removeSourceSection, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTagsgetLanguage, getRealm, hasOverloadedOperatorsaccept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecializeprotected CompoundWriteElementNode(JavaScriptNode targetNode, JavaScriptNode indexNode, JavaScriptNode valueNode, JSWriteFrameSlotNode writeIndexNode, JSContext context, boolean isStrict, boolean writeOwn)
public static CompoundWriteElementNode create(JavaScriptNode targetNode, JavaScriptNode indexNode, JavaScriptNode valueNode, JSWriteFrameSlotNode writeIndexNode, JSContext context, boolean isStrict)
protected Object executeWithTargetAndIndex(com.oracle.truffle.api.frame.VirtualFrame frame, Object target, Object index, Object receiver)
executeWithTargetAndIndex in class WriteElementNodeprotected Object executeWithTargetAndIndex(com.oracle.truffle.api.frame.VirtualFrame frame, Object target, int index, Object receiver)
executeWithTargetAndIndex in class WriteElementNodeprotected int executeWithTargetAndIndexInt(com.oracle.truffle.api.frame.VirtualFrame frame,
Object target,
Object index,
Object receiver)
throws com.oracle.truffle.api.nodes.UnexpectedResultException
executeWithTargetAndIndexInt in class WriteElementNodecom.oracle.truffle.api.nodes.UnexpectedResultExceptionprotected int executeWithTargetAndIndexInt(com.oracle.truffle.api.frame.VirtualFrame frame,
Object target,
int index,
Object receiver)
throws com.oracle.truffle.api.nodes.UnexpectedResultException
executeWithTargetAndIndexInt in class WriteElementNodecom.oracle.truffle.api.nodes.UnexpectedResultExceptionprotected double executeWithTargetAndIndexDouble(com.oracle.truffle.api.frame.VirtualFrame frame,
Object target,
Object index,
Object receiver)
throws com.oracle.truffle.api.nodes.UnexpectedResultException
executeWithTargetAndIndexDouble in class WriteElementNodecom.oracle.truffle.api.nodes.UnexpectedResultExceptionprotected double executeWithTargetAndIndexDouble(com.oracle.truffle.api.frame.VirtualFrame frame,
Object target,
int index,
Object receiver)
throws com.oracle.truffle.api.nodes.UnexpectedResultException
executeWithTargetAndIndexDouble in class WriteElementNodecom.oracle.truffle.api.nodes.UnexpectedResultExceptionprotected void requireObjectCoercible(Object target, int index)
requireObjectCoercible in class WriteElementNodeprotected void requireObjectCoercible(Object target, Object index)
requireObjectCoercible in class WriteElementNodeCompoundWriteElementNode.requireObjectCoercible(Object, int)protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized in class WriteElementNodeprotected WriteElementNode createMaterialized(JavaScriptNode newTarget, JavaScriptNode newIndex, JavaScriptNode newValue)
createMaterialized in class WriteElementNode