libera/#clasp - IRC Chatlog
Search
19:51:11
Bike
right now i just have a function that outputs a string, and i've been writing it into src/main/clasp_gc.cc, so i haven't had to adapt the build
20:01:45
Bike
is there any way i could validate whether the deallocators/finalizers are working correctly? I think you said they're both sort of obscure features?
20:04:28
drmeister
For the finalizers - you could generate a printf statement in every finalizer and then watch them print when you run clasp.
20:04:55
drmeister
You can target it by looking for classes that use finalizers - like Stream_O (I think). Hang on.
20:05:32
Bike
i don't know how these tables are accessed is all. they're jused for jump tables but i don't know if they're indexed by stamp or what
20:18:52
drmeister
I believe gctools__deallocate_unmanaged_instance is for static vector and things like that.
20:21:21
drmeister
obj_finalize looks like it's used by finalizers in MPS - but not boehm - I'm not sure why.
20:29:10
Bike
nonetheless, this seems like it could be a really confusing bug later, so let me see if i can get those sorted
0:49:34
Bike
https://github.com/clasp-developers/clasp/blob/scrape/src/scraper/code-generator.lisp#L1282-L1298 here's the function that generates clasp_gc.cc. right now it's not called by anything
1:47:44
drmeister
Bike: I'm trying to build cando and something is coming up. Did you try it with cando?
2:02:13
Bike
well, the problem i hit before was that the analyzer-generated code uses a define GC_STAMP where the scraper-generated code uses GC_ENUM
2:02:34
Bike
so i changed everything to use GC_ENUM uniformly, but if you don't do that it's missing all the STAMPWTAG_whatever definitions
2:02:57
Bike
wait, are you just using the clasp_gc_cando.cc that's in the branch? i didn't regenerate any of those files
2:03:32
Bike
i changed the gctools to use GC_ENUM instead of GC_STAMP, but clasp_gc_cando.cc still has GC_STAMP
2:29:31
drmeister
So all we are doing is moving the location of clasp_gc_xxx.cc and it's always called clasp_gc.cc