public abstract class WrapInThreadLocalNode extends RubyNode
ThreadLocal
so that a value can be stored in a location such as a frame without
making that value visible to other threads.
This is used in combination with nodes that read and writes from storage locations such as frames to make them
thread-local.
Also see GetFromThreadLocalNode
.Constructor and Description |
---|
WrapInThreadLocalNode(RubyContext context,
com.oracle.truffle.api.source.SourceSection sourceSection) |
WrapInThreadLocalNode(WrapInThreadLocalNode prev) |
Modifier and Type | Method and Description |
---|---|
ThreadLocal<?> |
wrap(Object value) |
static ThreadLocal<Object> |
wrap(RubyContext context,
Object value) |
bignum, bignum, bignum, execute, executeArray, executeBignum, executeBoolean, executeFloat, executeIntegerFixnum, executeIntegerFixnumRange, executeLongFixnum, executeLongFixnumRange, executeObjectArray, executeObjectRange, executeRubyBasicObject, executeRubyBinding, executeRubyClass, executeRubyEncoding, executeRubyEncodingConverter, executeRubyException, executeRubyFiber, executeRubyFile, executeRubyHash, executeRubyMatchData, executeRubyMethod, executeRubyModule, executeRubyNilClass, executeRubyProc, executeRubyRange, executeRubyRegexp, executeRubyString, executeRubySymbol, executeRubyThread, executeRubyTime, executeRubyUnboundMethod, executeString, executeUndefinedPlaceholder, executeVoid, getContext, getNonProxyNode, getNonWrapperNode, isBoolean, isDefined, isDispatchAction, isDouble, isInteger, isIntegerFixnumRange, isLexicalScope, isLong, isLongFixnumRange, isObjectArray, isObjectRange, isRational, isRubyArray, isRubyBasicObject, isRubyBignum, isRubyBinding, isRubyClass, isRubyEncoding, isRubyEncodingConverter, isRubyException, isRubyFiber, isRubyFile, isRubyHash, isRubyMatchData, isRubyModule, isRubyNilClass, isRubyNilObject, isRubyProc, isRubyRange, isRubyRegexp, isRubyString, isRubySymbol, isRubyThread, isRubyTime, isString, isThreadLocal, isTrue, isUndefinedPlaceholder, notDesignedForCompilation, probe, probeLite
accept, adoptChildren, assignSourceSection, atomic, atomic, clearSourceSection, clone, copy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLanguage, getParent, getRootNode, getSourceSection, insert, insert, isReplaceable, onAdopt, onReplace, replace, replace, toString
public WrapInThreadLocalNode(RubyContext context, com.oracle.truffle.api.source.SourceSection sourceSection)
public WrapInThreadLocalNode(WrapInThreadLocalNode prev)
public ThreadLocal<?> wrap(Object value)
public static ThreadLocal<Object> wrap(RubyContext context, Object value)
Copyright © 2001-2015 JRuby. All Rights Reserved.