public class ObjectSpaceManager extends Object
ObjectSpace
module. Object IDs are lazily allocated long
values, mapped to objects with a weak hash map. Finalizers are implemented with weak references
and reference queues, and are run in a dedicated Ruby thread.Modifier and Type | Class and Description |
---|---|
static interface |
ObjectSpaceManager.ObjectGraphVisitor |
Constructor and Description |
---|
ObjectSpaceManager(RubyContext context) |
Modifier and Type | Method and Description |
---|---|
Map<Long,RubyBasicObject> |
collectLiveObjects() |
void |
defineFinalizer(RubyBasicObject object,
RubyProc proc) |
void |
shutdown() |
void |
undefineFinalizer(RubyBasicObject object) |
void |
visitCallStack(ObjectSpaceManager.ObjectGraphVisitor visitor) |
void |
visitFrame(com.oracle.truffle.api.frame.Frame frame,
ObjectSpaceManager.ObjectGraphVisitor visitor) |
void |
visitFrameInstance(com.oracle.truffle.api.frame.FrameInstance frameInstance,
ObjectSpaceManager.ObjectGraphVisitor visitor) |
public ObjectSpaceManager(RubyContext context)
public void defineFinalizer(RubyBasicObject object, RubyProc proc)
public void undefineFinalizer(RubyBasicObject object)
public void shutdown()
public Map<Long,RubyBasicObject> collectLiveObjects()
public void visitCallStack(ObjectSpaceManager.ObjectGraphVisitor visitor)
public void visitFrameInstance(com.oracle.truffle.api.frame.FrameInstance frameInstance, ObjectSpaceManager.ObjectGraphVisitor visitor)
public void visitFrame(com.oracle.truffle.api.frame.Frame frame, ObjectSpaceManager.ObjectGraphVisitor visitor)
Copyright © 2001-2015 JRuby. All Rights Reserved.