CLASP for MPS; multithreading & GC questions
meister
meister at temple.edu
Thu Dec 21 17:40:29 UTC 2017
Basile,
Object scanning happens here:
https://github.com/drmeister/clasp/blob/master/src/gctools/gc_interface.cc#L403
Object formats are calculated using a static analyzer that I wrote within Clasp that analyzes the 250,000 lines of C++ code and identifies offsets of pointers for about 750 C++ classes.
Root scanning happens here:
https://github.com/drmeister/clasp/blob/master/src/gctools/gc_interface.cc#L562
Best,
.Chris.
> On Dec 21, 2017, at 11:50 AM, Basile Starynkevitch <basile at starynkevitch.net> wrote:
>
>
> Thanks to Chris, I managed to compile CLASP for MPS.
>
> I have a question about MPS scanning. MPS folks (Gareth, in CC) told me that the scanning routine (see https://www.ravenbrook.com/project/mps/master/manual/html/topic/scanning.html for more) is called asynchronously, even from some SIGSEGV signal handler.
>
> How do you manage that in CLASP?
>
> A concrete use case might be some std::set of Common Lisp symbols. How would you scan it? You cannot expect the scanning routine to get that std::set in a coherent state .... so using C++ iterators could break things.
>
> Any concrete code pointer to CLASP source (or generated C++) code for scanning is welcome!
>
> Regards.
>
> --
> Basile STARYNKEVITCH == http://starynkevitch.net/Basile
> opinions are mine only - les opinions sont seulement miennes
> Bourg La Reine, France
>
More information about the clasp-devel
mailing list