libera/#sicl - IRC Chatlog
Search
16:16:44
pjb
beach: it's a problem only for the allocation: we need to have a part of the heap that can be allocated as a stack with minimal overhead, but that can later be garbage collected as usual (and with the frame possibly moved elsewhere if needed).
16:17:48
pjb
So instead of using a link instruction that reserves space on the processor SP, you'd do that on the heap frame stack pointer.
16:19:49
pjb
It could be less, even since on return you wouldn't need to unlink, you'd just let the garbage collector do its work.
18:31:13
pjb
beach: for short-lived processes, it's basically 0 (no GC needed). ;-) it's only a concern for long-lived processes, or processes using a lot of memory (ie. probably not short-lived)... Of course, this answer assume something like unix :-/
22:52:16
hayley
Cliff replied, saying "At this point, It All Depends. I tweaked the Java inlining heuristics in tandem with the register allocator, and a lot of dedicated profiling. In the end, a mix of callee and caller-save registers was best... BUT it was a lot more important that the allocator not spill excessively when over-inlining. i.e. the cost of the extra spills had to be close to the cost of the callee/caller saves you would have paid anyhow if you had
3:07:54
hayley
I am aware that the HotSpot compiler tends to over-inline, and so the register allocation strategy used had to be robust against it. So the resulting code would have a number of spills close to code without much inlining when using callee-saves registers.
3:12:10
beach
What is the "resulting code"? What does it result from? And what does the second sentence mean? That the spill are close to some code? But what code? The code without inlining? And these spills happen only when callee-saves registers are used?
3:15:05
hayley
It was important that the register allocator would not generate too many spills, even in code with too many locations due to too much inlining.
3:16:04
beach
Why on earth would the register allocator generate more spills when there is inlining than when there is not?
3:19:36
hayley
He talked about over-inlining and "blowing out the register allocator" in a presentation on the compiler, but as you say, I can't imagine why inlining would be worse.
3:22:07
beach
It reminds me of what happens when theoreticians discover some practical problem, and then they simplify it too much so that it will fit into their nice theoretical framework. But it is also no longer practically very useful.
3:24:49
hayley
Can't say I've dealt with many theoreticians before, but that situation seems familiar.