private long createId(IRubyObject object) { long id = calculateObjectId(object); registerObjectId(id, object); return id; }
private long createId(IRubyObject object) { long id = calculateObjectId(object); registerObjectId(id, object); return id; }
private long createId(IRubyObject object) { long id = calculateObjectId(object); registerObjectId(id, object); return id; }
private long createId(IRubyObject object) { long id = calculateObjectId(object); registerObjectId(id, object); return id; }
/** * Adds the specified object as a finalizer for this object. */ @Override public void addFinalizer(IRubyObject f) { Finalizer finalizer = (Finalizer) getInternalVariable("__finalizer__"); if (finalizer == null) { // since this is the first time we're registering a finalizer, we // must also register this object in ObjectSpace, so that future // calls to undefine_finalizer, which takes an object symbol, can // locate the object properly. See JRUBY-4839. long id = getObjectId(); IRubyObject fixnumId = id(); getRuntime().getObjectSpace().registerObjectId(id, this); finalizer = new Finalizer(fixnumId); setInternalVariable("__finalizer__", finalizer); getRuntime().addFinalizer(finalizer); } finalizer.addFinalizer(f); }
/** * Adds the specified object as a finalizer for this object. */ public void addFinalizer(IRubyObject f) { Finalizer finalizer = (Finalizer)getInternalVariable("__finalizer__"); if (finalizer == null) { // since this is the first time we're registering a finalizer, we // must also register this object in ObjectSpace, so that future // calls to undefine_finalizer, which takes an object ID, can // locate the object properly. See JRUBY-4839. long id = getObjectId(); RubyFixnum fixnumId = (RubyFixnum)id(); getRuntime().getObjectSpace().registerObjectId(id, this); finalizer = new Finalizer(fixnumId); fastSetInternalVariable("__finalizer__", finalizer); getRuntime().addFinalizer(finalizer); } finalizer.addFinalizer(f); }
/** * Adds the specified object as a finalizer for this object. */ public void addFinalizer(IRubyObject f) { Finalizer finalizer = (Finalizer)getInternalVariable("__finalizer__"); if (finalizer == null) { // since this is the first time we're registering a finalizer, we // must also register this object in ObjectSpace, so that future // calls to undefine_finalizer, which takes an object ID, can // locate the object properly. See JRUBY-4839. long id = getObjectId(); RubyFixnum fixnumId = (RubyFixnum)id(); getRuntime().getObjectSpace().registerObjectId(id, this); finalizer = new Finalizer(fixnumId); fastSetInternalVariable("__finalizer__", finalizer); getRuntime().addFinalizer(finalizer); } finalizer.addFinalizer(f); }
/** * Adds the specified object as a finalizer for this object. */ @Override public void addFinalizer(IRubyObject f) { Finalizer finalizer = (Finalizer) getInternalVariable("__finalizer__"); if (finalizer == null) { // since this is the first time we're registering a finalizer, we // must also register this object in ObjectSpace, so that future // calls to undefine_finalizer, which takes an object symbol, can // locate the object properly. See JRUBY-4839. long id = getObjectId(); IRubyObject fixnumId = id(); getRuntime().getObjectSpace().registerObjectId(id, this); finalizer = new Finalizer(fixnumId); setInternalVariable("__finalizer__", finalizer); getRuntime().addFinalizer(finalizer); } finalizer.addFinalizer(f); }