Yeah I think that'd be fine! To be honest I never ever knew these APIs existed, I've been researching the GC and that's how I found it, so I suspect they might not be very common?ivoanjo (Ivo Anjo)
I guess objects that get a finalizer don't move -- e.g. `gc_is_moveable_obj` ==> `FALSE` so that's what made the finalizer table never be affected by this detail.ivoanjo (Ivo Anjo)
Hey! I work for Datadog on the [Ruby profiler](https://github.com/datadog/dd-trace-rb) and I've been exploring the TypedData GC API to understand the correct patterns for writing compaction-aware extensions. While reading through t...ivoanjo (Ivo Anjo)
The opentelemetry community project includes people from a number of companies building profilers (datadog, google, elastic, polar signals) and it's proposing a new format that's inspired by pprof but tries to solve for some of its short...ivoanjo (Ivo Anjo)
Really cool! I wonder if this will end up solving https://bugs.ruby-lang.org/issues/19717 as well / https://github.com/ruby/ruby/pull/8331 is an old PR for it.ivoanjo (Ivo Anjo)
byroot (Jean Boussier) wrote in #note-24: > > I just don't think we should support this. > ... To be clear, we are aware we're doing really shady weird things to get a bit less overhead / a few more features, etc and we don't expect u...ivoanjo (Ivo Anjo)
> @ivoanjo (Ivo Anjo) I don't know if this would work, but what about using rb_postponed_job_trigger to delay adding the object into a WeakMap? (there would also probably need to be a temporary buffer used to mark the object until it is ...ivoanjo (Ivo Anjo)
> I'm fine with adding MOVEOBJ, it makes sense, but I don't think it's currently necessary. ObjectSpace.trace_object_allocations handles this by subscribing both to NEWOBJ and FREEOBJ and tracking the objects in its own hash table (subsc...ivoanjo (Ivo Anjo)
> That sounds like a use case for WeakRef or ObjectSpace::WeakMap. > ... In retrospect I was a bit confusing there -- The key missing bit is having something that's safe to use from `NEWOBJ` tracepoint, which is what `WeakRef` and `Weak...ivoanjo (Ivo Anjo)
Having `MOVEDOBJ` would be very useful for being able to use the address as identity + I think it may come in handy for caches -- I think it would solve the "a) Be able to identify or reference object without preventing its GC, even if t...ivoanjo (Ivo Anjo)