Linenumber Table
We changed the way we are storing the linenumber table in CACAO:
http://mips.complang.tuwien.ac.at/hg/cacao/rev/d992be0f02d6
We used to store the table in the DataSegment, but it's better to store it as C-structure array in the codeinfo of the method (it's much easier to handle it in C code).
Doing it this way makes the DataSegment a lot smaller. These numbers are for prop on Alpha:
before
code: 499244 data: 233264
after
code: 499244 data: 83800
savings
data: 149464 (56%)
Of course we don't save that memory physically, since we allocate it somewhere different:
linenumber tables ( 1134): 146496
But the offsets of load instructions into the DataSegment (via PV) got smaller and this may reduce the code size.