Search
Monday, 10th of February 2020, 18:30:40 UTC
18:32:26
drmeister
But see if you can compile psi4 and get a dynamic library out of it.
18:32:48
drmeister
Whatever they load into python
18:35:03
drmeister
I'm merging dev into dev-chris and building everything on linux and macOS - if everything builds clean I'll merge dev-chris back into dev and do the same thing. That's probably redundant - no?
18:36:35
drmeister
Does the new atomics code come with a way to do compare-and-swap with the new atomic slots?
18:36:35
Bike
yeah, i generally just merge whatever into dev and that's it
18:36:55
Bike
i didn't do it for actual arrays or instance slots, unlike last time, though
18:37:12
Bike
i don't know that I can make that work in C++. (it's not that hard to make our compiler do it)
18:38:02
Bike
for a full implementation i'd also like to allow (cas whatever) function names, analogous to (setf whatever), but that seemed like a deep rabbit hole
18:39:26
drmeister
https://www.irccloud.com/pastebin/jQAF0f3m/
18:39:43
drmeister
Interaction between our
18:40:15
drmeister
This looks like two problem.
18:40:35
Bike
that should be some internal clang runtime symbol
18:41:42
drmeister
Could you drop by my office?
18:41:59
drmeister
I don't know how nasty this is going to be.
19:53:51
Bike
drmeister: hey if i turn the variable on it does actually catch the "load must specify explicit alignment" problem
19:53:57
Bike
so... guess i'll remember this for next time
19:54:10
Bike
now i'll fix it and see how timing goes
20:14:19
Bike
actually there's another error.
20:14:26
Bike
llvm::verifyFunction error[Expected no forward declarations!!13 = <temporary!> !{}]
20:14:41
Bike
er, that was multiple lines. !13 = <temporary!> !{}
20:29:31
Bike
oh, and it's set up to dump every module it sees even if there are no problems... rejected
21:22:38
Bike
doesn't seem to take any more time but i am kind of inclined to leave it off until we alter the compiler again
21:22:43
Bike
and the function verifier doesn't work
21:22:53
Bike
or well, it always prints this error, anyway.
0:30:40
drmeister
So what's the poop - does the verifier work or not?
0:30:51
drmeister
It looks like.... soooorta?
0:38:10
Bike
the module verifier works
0:38:20
Bike
the function verifier rejects us immediately
0:38:23
Bike
dunno if that's our fault or not
0:38:55
drmeister
Doesn't one call the other?
0:41:05
drmeister
I'd expect the module verifier to call the function verifier - but probably not given what you see.
0:41:18
Bike
well it's us calling both
0:41:26
Bike
there's one place that calls verifyFunction and one that calls verifyModule
0:41:28
Bike
or something like that
0:41:57
drmeister
The function verifier might be reacting to a dangling pointer maybe?
0:43:10
drmeister
Wild speculation - maybe the instructions are connected together as a linked list and the first or last instruction isn't pointing to NULL.
0:43:22
drmeister
I'm trying to think of something we can't see but the verifier might check.
0:43:38
drmeister
!13 = <temporary!> sounds wacky.
0:43:55
drmeister
Are there !13 defined in the functions?
0:44:21
Bike
it didn't dump the function, i don't think
0:44:59
Bike
https://github.com/clasp-developers/clasp/blob/dev/src/lisp/kernel/cmp/jit-setup.lsp#L70-L71 mhm.
2:24:25
drmeister
Bike: Are you online?
2:24:42
drmeister
I hit a little problem with what I think is a change you made cleaning up some code.
2:24:52
drmeister
Removing a process can go into an infinite loop.
2:25:47
drmeister
https://github.com/clasp-developers/clasp/blob/dev-chris/src/core/lisp.cc#L759
2:26:05
Bike
oh, yeah, that ended up being a little weird
2:26:23
drmeister
That was a tricky one to rewrite.
2:26:31
drmeister
It's going into an infinite loop starting on line 770
2:26:51
drmeister
'next' never advances.
2:27:20
Bike
the next = cons_cdr(cur) should be at the head of the loop as well i think?
2:27:27
drmeister
is cons_car(x) and cons_cdr(x) non-reference taking versions of CONS_CAR(x) and CONS_CDR(x)?
2:28:00
Bike
you're actually the one who wrote them, i just used them because they're convenient and I like inline functions more than macros.
2:28:18
drmeister
Ok, then can you make sure they don't type check?
2:28:32
drmeister
I don't know if they do. I do know CONS_CAR and CONS_CDR don't
2:28:50
Bike
https://github.com/clasp-developers/clasp/blob/dev-chris/include/clasp/core/cons.h#L443-L448
2:28:56
drmeister
Aaaaand they don't.
2:29:16
Bike
well, they do have those assertions
2:29:20
drmeister
They should only be used in the context if (x.consp()) { cons_car(x); ... cons_cdr(x);}
2:29:30
drmeister
Assertions are fine - they can be turned off.
2:30:08
drmeister
So can you check this for me?
2:30:09
drmeister
https://www.irccloud.com/pastebin/hM8vf6qz/
2:30:31
drmeister
I think that will do the job.
2:31:35
Bike
so it's the same but with the next = cons_cdr(next) line added, right? I think that's right
2:33:29
drmeister
Whew - good - ok. It was hanging right at the end of building ASDF.
2:33:42
drmeister
I was starting to reconsider my life choices.
2:33:44
drmeister
https://usercontent.irccloud-cdn.com/file/Tk37mHnm/image.png
2:48:57
drmeister
I'm too old to get new jokes. So I'm going to get new people to subject them to them.
2:49:26
drmeister
That fixed the problem.
2:54:17
drmeister
All better on linux and macos
3:39:51
drmeister
On linux the bottleneck looks like stack unwinding
4:38:47
drmeister
The dev branch has been updated.
4:40:26
drmeister
::notify kpoeck I've updated the 'dev' branch and compilation has now switched to using faso files and compile-file-parallel. Your wscript.config may be out of date and you may run into trouble. Comment out the CLASP_BUILD_MODE flag and USE_COMPILE_FILE_PARALLEL - if you have those defined.
4:40:27
Colleen
drmeister: Got it. I'll let kpoeck know as soon as possible.
5:24:33
beach
Good morning everyone!
Tuesday, 11th of February 2020, 6:30:40 UTC