libera/#clasp - IRC Chatlog
Search
17:05:55
Bike
with my generated clasp_gc.cc, aclasp built successfully, but bclasp gets me a stupid type error in CLOS
17:10:51
Bike
hm, but in the analyzer-generated clasp_gc_cando.cc, the highest-stamp class has the same stamp number as STAMPWTAG_max, and so does the stuff i have the scraper generating
17:12:51
Bike
"global_NextBuiltInStamp starts at STAMPWTAG_max+1", that seems fine (although it's "global_NextUnshiftedStamp" now i think)
17:13:37
Bike
does it need to have a max wtag? i have a max stamp of 1535, which obviously has 01 at the end, not 11
17:33:37
Bike
er, this time it worked maybe...? maybe i just needed to clean before building and everything's fine
18:01:06
Bike
that is, i can manually direct the scraper to generate a working clasp_gc.cc from clasp_gc.sif, though i'm not sure about the table thing i mentioned
19:37:30
drmeister
It will be a temporary generated file - right? We can put it in build/<GC>/generated/
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