Comment 1 for bug 902351

Revision history for this message
Nikodemus Siivola (nikodemus) wrote :

There are two problems here:

* If you look at the disassembly, you see that actually none of the non-zero initialized vectors are stack allocated. So we're missing notes. This is due to the transform for fill accidentally muffling them.

* The second problem is that for specialized vectors the fill transform prevents stack allocation.

...so need to make the DX code smarter about examining functions. It can be helped a bit by adding :RESULT-ARG information for bashers (and making them return the sequence), but it will need to deal with multiple refs to the vector as well -- so in addition to :RESULT-ARG we need a :DX-ARGS annoration to at least VECTOR-LENGTH.

(Though it occurs to me that maybe all args to flushable functions are actually :DX-ARGS?)