libera/#clasp - IRC Chatlog
Search
18:38:08
yitzi
Seems like it works. I had to disable some optimizations b.c. I don't know what the new version is yet or I haven't exposed that stuff to Lisp yet. I replaced the addPasses..andRun lisp function with EMIT-MODULE that handles usage of the old pass manager for codegen, thereby shielding us from its existance.
19:04:09
drmeister
I screwed up and hadn't installed the arm fmt library. I `/opt/homebrew/bin/brew install fmt` and then `ninja -C build` and it failed again linking fmt.
19:04:31
drmeister
I'm thinking I need to `koga --deep-clean` each time to reset everything - does that sound right?
19:07:33
yitzi
hehe. I had to disable some optimizations and I haven't exposed it to Lisp yet. But it compiles and runs.
19:09:35
yitzi
Yep. Although frame 52 is probably erroneous. I think the error is in frame 55 or frame 54
19:10:57
yitzi
Somewhere in that area (translate-logical-path "real-path") gets turned into (translate-logical-path "random-junk")
19:12:00
yitzi
Which made me think it was some kind of problem in bytecode_vm or Wrapper_Variadic...
19:44:45
yitzi
Looks they have removed the last non-opaque pointer stuff in LLVM17. So there isn't a getPointerElementType anymore.
20:01:11
yitzi
The new pass builder has a textual representation of the optimization pipeline that it can parse. That might be easier then exposing the classes that represent different passes to Lisp.
20:02:05
yitzi
For example, you can do stuff like `module(function(fpass1,fpass2,fpass3)) module(cgscc(cgpass1,cgpass2,cgpass3)) module(function(loop(lpass1,lpass2,lpass3)))`
20:09:31
yitzi
bike: I am suspicious that this is unused code https://github.com/clasp-developers/clasp/blob/main/src/lisp/kernel/cmp/cmpliteral.lisp#L571-L630
20:33:36
bike
i don't remember, but if it's not referenced outside that file i doubt it's used. all the literal stuff is in its own package, after all
22:06:29
drmeister
The M1 problem is reproducible using: `ninja -C build load_cclasp-boehmprecise` followed by `(compile-file "sys:src;lisp;kernel;lsp;generated-encodings.lisp")`
22:27:42
bike
getting the original arguments is tricky since you'd have to look at the lcc_args in the frame, which I do not know how to do programmatically
22:27:59
bike
of course everything ought to be available in the saved lexical variables, but that's not apparent in udb
23:09:29
bike
i have function cells working with everything now, i think. have to make some cleavir changes for the first time in a while
23:40:37
drmeister
yitzi: There are corrupted objects in memory - this may be the cause of the problem.
23:54:52
drmeister
If I start clasp with this: `./boehmprecise/iclasp --norc --disable-mpi --ignore-image --feature clasp-min --load load-clasp.lisp -- base 0 "SYS:SRC;LISP;KERNEL;STAGE;BASE;0-BEGIN.LISP"`
23:55:38
drmeister
Then run `(room :test)` it reports that memory is clean. This means that every slot in every object in memory that points to another object actually points to a valid object.
23:56:35
drmeister
If I start with... `ninja -C build load_cclasp-boehmprecise` and then do `(room)` it report memory errors. If I use `(room :test)` - a very stringent test, it hangs.
0:03:27
drmeister
I added a `(room)` invocation after every source file is loaded - it's going very far without errors...
0:26:43
drmeister
https://github.com/clasp-developers/clasp/blob/main/src/lisp/kernel/cleavir/bytecode-adaptor.lisp#L109
1:25:03
bike
fcells is all working but cleavir documentation build is broken for stupid reasons. ehhhhh.
3:15:42
drmeister
The memory problem manifests in different places around the bytecode-adaptor.lisp file each time I run it.