Guillermo Adrián Molina writes:
After compiling lots of methods using exupery, it fails with very big methods because spillable is nil, and spillable first throws an error.
If
I make less inlining (for example, not inlining divisions and multiplications), it compiles ok! Any ideas?
I'd guess it's a limit with the register allocator. It is possible that it can fail to find a register to spill when it needs to spill something. Given this bug will not cause crashes or incorrect execution it's not high priority.
If you want to fix that limit in the register allocator I could give you some pointers. The problem is due to to how the problem is broken down into stages. I'd need to dig through code to remember the details though.
I'm planning on working on the register allocator in the next release. The goal will be making it faster, it has a few serious performance problems.
Bryce