freenode/#clasp - IRC Chatlog
Search
0:51:19
drmeister
https://github.com/clasp-developers/clasp/blob/dev/src/lisp/kernel/cmp/cmpliteral.lsp#L270
0:52:06
drmeister
I was thinking that I could check the head and if it's 'INITIALIZE-INSTANCE I could convert it to a special case call.
0:57:46
drmeister
https://github.com/clasp-developers/clasp/blob/dev/src/lisp/kernel/cleavir/inline-prep.lisp#L71
0:58:43
drmeister
https://github.com/clasp-developers/clasp/blob/dev/src/lisp/kernel/cleavir/inline-prep.lisp#L71
0:58:52
Bike
we could do make-load-form-saving-slots, in which case it does a bunch of (setf slot-value) and slot-makunbound, the latter of which is maybe not necessary
1:00:08
drmeister
It's still going to generate a function for the initialize part of make-load-form - no?
2:08:12
drmeister
https://github.com/clasp-developers/clasp/blob/dev/src/lisp/kernel/cmp/cmpliteral.lsp#L278
2:08:30
drmeister
Here: https://github.com/clasp-developers/clasp/blob/dev/src/lisp/kernel/cmp/cmpliteral.lsp#L269
2:13:20
drmeister
There is an entire function being created for each allocate-instance and again for initialize-instance from this...
2:13:32
drmeister
https://github.com/clasp-developers/clasp/blob/dev/src/lisp/kernel/cleavir/inline-prep.lisp#L70
2:16:16
Bike
Could we reasonably special case the situation of a creation or initialization form being only a function call?
2:17:22
drmeister
(with-open-file (*debug-io* "/tmp/output.log" :direction :output) (compile-file "sys:kernel;cleavir;inline.lisp"))
2:20:27
drmeister
make-load-form - you pass it an object as the first argument and it gets substituted in the create and initialization forms that are returned - correct?
2:40:38
drmeister
Yeah - that's still not enough - you need to compile the make-load-form create and initialize forms so that they compile other make-load-form forms.
2:42:02
drmeister
A simple thing I could do is suppress the spilling of register arguments - that's not needed at all.
8:01:04
drmeister
I got inline.ll down to 1.8M lines of llvm-IR by removing the register spilling code.
11:23:17
stassats
just reducing compilation size is just plugging holes, i'd rather make it involve zero compilation for constants