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.

cacaowiki: LinenumberTable (last edited 2007-10-22 15:20:11 by ChristianThalinger)