Hello Chris and all,
I would like to build (for experimentation) the MPS branch of CLASP.
https://github.com/drmeister/clasp/wiki/Clasp-0.5-Build-Instructions mentions in its last step
|./waf update_submodules configure build_cboehm|
but I am surprised by the last argument (shouldn't it mention MPS?). Or is Boehm's GC only used (and needed) for the first bootstrap?.
(perhaps the wikl page about building Clasp should give instructions for MPS flavor?)
Regards
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.htm... 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,
Object scanning happens here: https://github.com/drmeister/clasp/blob/master/src/gctools/gc_interface.cc#L...
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#L...
Best,
.Chris.
On Dec 21, 2017, at 11:50 AM, Basile Starynkevitch basile@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.htm... 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