freenode/#clasp - IRC Chatlog
Search
3:02:24
Bike
::notify karlosz laid the groundwork for primops having attributes. actual attributes aren't hooked in to particular ops yet tho.
3:10:56
drmeister
The main problem with using thread sanitizer is it will slow the code down by 2x to 20x. If we build cando with the thread sanitizer it's going to slow way down when building itself.
3:11:57
drmeister
So I'm creating an option where clasp builds everything as bitcode files and then I think we can build cando Common Lisp code with regular cando and load it into the threadsanitizer version
3:39:05
Colleen
karlosz: Bike said 36 minutes, 41 seconds ago: laid the groundwork for primops having attributes. actual attributes aren't hooked in to particular ops yet tho.
3:39:34
karlosz
would still be great to be able to flush the call entirely before it gets inlined somehow
3:41:16
karlosz
it's now easy to constant fold foldable functions, but don't have the database information for that
3:54:56
Bike
also, i think i was long before, knowing &optional defaults shouldn't be necessary for converting m-v-c... knowing &rest is unused will probably still be relevant though
4:35:34
karlosz
::notify Bike i changed CST-to-AST so that there should be only the lexical variable associating with the rest argument im pretty sure
5:10:52
karlosz
beach: right now, the problem is that if we want to flush dead code or do constant folding elimination, we want to be able to attach the fact that the call we're looking at is foldable or flushable
5:11:26
karlosz
but some things get turned into primops, so querying whether we can constant fold or flush the operation is less uniform when we have primops in play
5:12:07
karlosz
the suggestion is to do the constant folding before the primop is introduced somehow
5:15:46
karlosz
but then doing (lambda () (car '(1 2)) and only constant folding the cleavir-primop:car part is not good because the type check gets left over
5:17:05
beach
I can't follow the details because I haven't kept up. My intuition would be to do constant folding on HIR/BIR.
5:23:10
karlosz
so we'll need to handle constant folding of both primops and calls if we want to get everything
5:24:09
karlosz
since it seems a little inelegant to have the same folder for both CAR and CLEAVIR-PRIMOP:CAR
5:27:10
karlosz
since the distinction between car and cleavir-primop:car doesn't exist in the CLISP vm
5:27:46
karlosz
as the bytecode machine called out to the standard library functions written in C which handled all the type checking
6:24:28
karlosz
i just pushed that so once the clasp wscript cleavir commit is updated the crash should go away
7:52:29
karlosz
oh, it failed in a different way... this ought to do the trick... 351b72ec303952a1a989df98cf0c5d7355e44a55
7:53:18
karlosz
i usually only test whether self build or regression tests work, so i miss things like this