Class JSIdenticalNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.js.nodes.JavaScriptBaseNode
com.oracle.truffle.js.nodes.JavaScriptNode
com.oracle.truffle.js.nodes.binary.JSBinaryNode
com.oracle.truffle.js.nodes.binary.JSCompareNode
com.oracle.truffle.js.nodes.binary.JSIdenticalNode
- All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode,com.oracle.truffle.api.nodes.NodeInterface,Cloneable
IsStrictlyEqual(x, y) aka
=== operator.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.ChildrenNested classes/interfaces inherited from interface com.oracle.truffle.api.instrumentation.InstrumentableNode
com.oracle.truffle.api.instrumentation.InstrumentableNode.WrapperNode -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final intprotected static final intprotected static final intprotected final intFields inherited from class com.oracle.truffle.js.nodes.binary.JSBinaryNode
leftNode, rightNodeFields inherited from class com.oracle.truffle.js.nodes.JavaScriptNode
INTERMEDIATE_VALUE -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedJSIdenticalNode(JavaScriptNode left, JavaScriptNode right, int type) -
Method Summary
Modifier and TypeMethodDescriptionprotected JavaScriptNodecopyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) static JavaScriptNodecreate(JavaScriptNode left, JavaScriptNode right) static JSIdenticalNodestatic JSIdenticalNodecreateSameValue(JavaScriptNode left, JavaScriptNode right) static JSIdenticalNodestatic JSIdenticalNodestatic JavaScriptNodecreateUnoptimized(JavaScriptNode left, JavaScriptNode right) protected static booleanprotected static booleandoBigIntDouble(BigInt a, double b) protected static booleandoBoolean(boolean a, boolean b) protected static booleandoBooleanNotBoolean(Object a, Object b) protected final booleandoDouble(double a, double b) protected static booleandoDoubleBigInt(double a, BigInt b) protected static booleandoFallback(Object a, Object b) protected final booleandoForeignObject(Object a, Object b, boolean isAForeign, boolean isBForeign, com.oracle.truffle.api.interop.InteropLibrary aInterop, com.oracle.truffle.api.interop.InteropLibrary bInterop) protected static booleandoInt(int a, int b) protected static booleandoJSObjectA(JSObject a, Object b) protected static booleandoJSObjectB(Object a, JSObject b) protected static booleandoLong(long a, long b) protected static booleanprotected static booleanprotected static booleandoNullNull(Object a, Object b) protected static booleandoStringNotString(Object a, Object b) protected static booleanprotected static booleandoSymbolNotSymbol(Object a, Object b) protected static booleandoTruffleString(com.oracle.truffle.api.strings.TruffleString a, com.oracle.truffle.api.strings.TruffleString b, com.oracle.truffle.api.strings.TruffleString.EqualNode equalsNode) protected static booleandoTruffleStringIdentity(com.oracle.truffle.api.strings.TruffleString a, com.oracle.truffle.api.strings.TruffleString b) protected static booleandoUndefinedA(Object a, Object b) protected static booleandoUndefinedB(Object a, Object b) abstract booleanexecuteBoolean(Object left, Object right) Methods inherited from class com.oracle.truffle.js.nodes.binary.JSCompareNode
execute, executeBoolean, isResultAlwaysOfTypeMethods inherited from class com.oracle.truffle.js.nodes.binary.JSBinaryNode
ensureBothSameNumericType, expressionToString, getLeft, getNodeObject, getRight, hasTag, largerThan2e32Methods inherited from class com.oracle.truffle.js.nodes.JavaScriptNode
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, createWrapper, executeDouble, executeInt, executeVoid, findBlockScopeNode, getSourceSection, hasSourceSection, isInstrumentable, onReplace, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTagsMethods inherited from class com.oracle.truffle.js.nodes.JavaScriptBaseNode
getJSContext, getLanguage, getLanguageOptions, getRealm, hasOverloadedOperators, reportLoopCount, reportLoopCountMethods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecialize, reportReplaceMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.oracle.truffle.api.instrumentation.InstrumentableNode
createProbe, findNearestNodeAt, findNearestNodeAt, findProbe, materializeInstrumentableNodes
-
Field Details
-
STRICT_EQUALITY_COMPARISON
protected static final int STRICT_EQUALITY_COMPARISON- See Also:
-
SAME_VALUE
protected static final int SAME_VALUE- See Also:
-
SAME_VALUE_ZERO
protected static final int SAME_VALUE_ZERO- See Also:
-
type
protected final int type
-
-
Constructor Details
-
JSIdenticalNode
-
-
Method Details
-
createStrictEqualityComparison
-
createSameValue
-
createSameValue
-
createSameValueZero
-
createUnoptimized
-
create
-
executeBoolean
-
doInt
protected static boolean doInt(int a, int b) -
doDouble
protected final boolean doDouble(double a, double b) -
doBoolean
protected static boolean doBoolean(boolean a, boolean b) -
doBigInt
-
doBigIntDouble
-
doDoubleBigInt
-
doUndefinedA
-
doUndefinedB
-
doJSObjectA
-
doJSObjectB
-
doNullNull
-
doNullA
-
doNullB
-
doTruffleStringIdentity
protected static boolean doTruffleStringIdentity(com.oracle.truffle.api.strings.TruffleString a, com.oracle.truffle.api.strings.TruffleString b) -
doTruffleString
protected static boolean doTruffleString(com.oracle.truffle.api.strings.TruffleString a, com.oracle.truffle.api.strings.TruffleString b, com.oracle.truffle.api.strings.TruffleString.EqualNode equalsNode) -
doSymbol
-
doBooleanNotBoolean
-
doSymbolNotSymbol
-
doStringNotString
-
doLong
protected static boolean doLong(long a, long b) -
doForeignObject
-
doFallback
-
copyUninitialized
protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) - Overrides:
copyUninitializedin classJavaScriptNode
-