Custom scanning methods?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Custom scanning methods?

Timothy Baldridge
I have a rather complicated structure I'd like to create in RPython. The structure consists of a heterogeneous array of RPython classes laid out in a single "byte array". The problem is these structures will contain GC'd pointers.

Is there a way (and can someone point me to the place) to tell the GC to use a special scanning method when looking for pointers in a specific object type? I've read the docs on rstrategies, but that seems to be dealing mostly with swapping out primitive arrays for object arrays, which isn't exactly what I'm looking for. 

Can anyone help?

Thanks!


_______________________________________________
pypy-dev mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/pypy-dev
Reply | Threaded
Open this post in threaded view
|

Re: Custom scanning methods?

Antonio Cuni
Hi Timothy,
I'm surely not an expert of this area and others can probably explain better how it works, but I think that you are looking for `rgc.register_custom_trace_hook`; for an example of usage, see e.g. pypy/module/micronumpy/concrete.py

ciao,
Anto

On Fri, Sep 15, 2017 at 10:52 PM, Timothy Baldridge <[hidden email]> wrote:
I have a rather complicated structure I'd like to create in RPython. The structure consists of a heterogeneous array of RPython classes laid out in a single "byte array". The problem is these structures will contain GC'd pointers.

Is there a way (and can someone point me to the place) to tell the GC to use a special scanning method when looking for pointers in a specific object type? I've read the docs on rstrategies, but that seems to be dealing mostly with swapping out primitive arrays for object arrays, which isn't exactly what I'm looking for. 

Can anyone help?

Thanks!


_______________________________________________
pypy-dev mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/pypy-dev



_______________________________________________
pypy-dev mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/pypy-dev