From: Charles Oliver Nutter Date: 2007-10-29T21:02:56+09:00 Subject: Re: JRuby disabling ObjectSpace: what implications? mortee wrote: > Charles Oliver Nutter wrote: >> Actually, we do that a bit already. For example, we do not track arrays >> constructed during argument processing, since they are typically >> transient. The problem is that we could only choose to track all Ruby >> objects, for example...which would cripple other JRuby apps running in >> the same process. > > [...] > >> The problem is not so much that the object references move as that you >> would have to lock the memory locations for some period of time to be >> able to walk the object table. And I think that's *bad* especially when >> we're looking at JRuby allowing folks to run dozens of apps in the same >> process and memory space out of the box. We can't lock things down like >> that. > > Sorry for the extremely uninitiated and naive question - but when you're > about to enumerate each object in an application, aren't you interested > only in this application's objects anyway? So why would you have to lock > anything about the other ruby apps in the same process? Is that kind of > distinguishing objects impossible on the GC/enumeration level? As far as I know there's no way to have JVMTI enumerate only objects created by a specific application in a given JVM. So any sort of ObjectSpace impl based on it would have to take that into consideration. - Charlie