Class DynamicObject.MarkSharedNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.object.DynamicObject.MarkSharedNode
- All Implemented Interfaces:
NodeInterface, Cloneable
- Enclosing class:
DynamicObject
Marks this object as shared.
- Since:
- 25.1
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class Node
Node.Child, Node.Children -
Method Summary
Modifier and TypeMethodDescriptionstatic DynamicObject.MarkSharedNodecreate()abstract booleanexecute(DynamicObject receiver) Marks this object as shared.static DynamicObject.MarkSharedNodeMethods inherited from class Node
accept, adoptChildren, atomic, atomic, copy, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, getSourceSection, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, onReplace, replace, replace, reportPolymorphicSpecialize, reportReplace, toString
-
Method Details
-
execute
Marks this object as shared.Makes the object use a shared variant of the
Shape, to allow safe usage of this object between threads. Objects with a sharedShapewill not reuse storage locations for other fields. In combination with careful synchronization on writes, this can prevent reading out-of-thin-air values.- Throws:
UnsupportedOperationException- if the object is alreadyshared.- See Also:
-
create
- Since:
- 25.1
-
getUncached
- Since:
- 25.1
-