libera/#clasp - IRC Chatlog
Search
13:34:56
drmeister
I woke up this morning with old aches, pains and grievances - mainly: cursing Guido van Rossum for thinking significant whitespace was a good idea.
13:36:14
drmeister
I'm following tutorials to create frame filters and decorators for the gdb python extension from web pages where they have indented their example code. I've edited and loaded it half a dozen times to get the indentation right.
13:41:03
drmeister
Aaand then this example uses itertools.imap - and I just learned that's Python2. Everything I hate about Python in one tidy package.
14:16:24
yitzi
drmeister: The parallel builder in clasp-builder has the ability to do send a group of files to a forked process instead of single file. It calls it "batch" size.
14:17:41
yitzi
The last time we tried it it didn't really work and I think it does a very good job at utilizing the available cores.
14:19:01
yitzi
I'd like to simplify the parallel builder and rip that part out. Is there a use "batching" that I am missing? Thoughts?
14:55:36
drmeister
Bike: I need to look at the methods - we should convert them to bytecode wrappers and then later convert them to generic function style discriminator functions - yes?
14:57:33
Bike
how many CL_DEFMETHODs do we even have with nontrivial lambda lists? i would think that would be rare
14:59:05
Bike
i guess there's probably some static defmethods too, but i don't know if those go through the same system or what.
16:15:40
drmeister
Yes, we only need the wrapper if we have a non-trivial lambda list. We can do the trick I did with functions and bypass the wrapper
16:19:13
drmeister
.def(core::names_("LLVM-SYS:TYPE-GET-POINTER-TO","LLVM-SYS:TYPE/TYPE-GET-POINTER-TO"),&Type_O::getPointerTo,R"lambda(((self llvm-sys::type) &optional (addressSpace 0)))lambda",R"decl()decl")
17:21:14
Bike
but barring that, i did at least delete all the baclasp and interpreted closure stuff fine
17:33:24
Bike
there's a few references to it still, but they're never actually used. i could comment them out though
17:35:07
Bike
this is still in the vm-sans-interpreter branch, since i don't want to mess with whatever drmeister is doing
17:37:16
yitzi
Yeah, I was talking about the vm-boehm branch. I'm sure it can wait. I'm working on some stuff there b.c. it is mostly orthogonal to drmeister's debugging. I move to a different branch if needed.
17:39:50
Bike
alright, outright removing the bclasp-compile symbol goes fine, so i'll commit&push this in a minute
17:42:46
Bike
yeah, but when i'm ripping out parts of the runtime and compiler i tend to do clean builds just to make sure things aren't only working by inertia
17:43:53
yitzi
Its more intelligent then the incremental logic on main. For example, if the load order is A -> B -> C and the source file for B changes, then it invalidates the faso of C.
18:08:34
yitzi
Yep, just found that. Seeing if I can use that during stage loading for cando. Thanks.
18:08:50
Bike
we may want to coalesce some of these control variables together... we also have implicit-compile-hook
18:12:29
yitzi
Looks like most of those get set in auto-compile.lisp which is loaded before the end of the stage. I wonder if skipping that file and setting that stuff in the stage terminator file would be better.
18:25:26
Bike
auto-compile is definitely written with the "building means loading these files in this order" ethos in mind
19:39:04
drmeister
I pushed the changes to get bytecode frames with arguments in the python extension.
19:39:52
drmeister
The important thing is: I pushed the changes to get bytecode frames with arguments in the python extension.
19:59:38
Bike
so i can get clos to use cleavir except it keeps recursively compiling for reasons i don't really understand...
19:59:51
Bike
it looks like it builds fine if i put ina kludge to not compile recursively, but that's a kludge
20:04:27
Bike
i sorta wonder if we shouldn't just work out something more sophisticated than COMPILE_TRIGGER anyway... i feel like it'll get a bit weird with concurrency
20:05:17
drmeister
Maybe - the _TheEntryPoint's are atomic - we should be able to CAS them in safely.
20:05:52
drmeister
Bike: I'm trying to get the bytecode system before loading cleavir to be more stable.
20:06:35
drmeister
If it signals an error and goes into the debugger and I use a :R1 restart it segfaults apparently when it's trying to unwind the stack.
20:06:41
Bike
man, i'm so confused here. i don't see how we would possibly ever compile the same discriminator twice... or wait... what happens if there's a miss...