pieter.bellens at student.kuleuven.ac.be
Fri Jan 11 03:22:47 PST 2002
i m scavenging the web for information regarding Kaffe's register allocation. So far, the loot is not that impressive. So here we go. I m looking for someone who is familiar with register allocation in the KaffeJit. Nothing fancy, i just need the broad perspective.
If someone could fill in the blanks (and i apologize for my ignorance) :
Kaffe does register allocation on basic blocks, ie at the beginning of a new basic block b, all allocation is flushed, and an allocation for b is computed. Furthermore, kaffe uses virtual registers, that are mapped on the machine registers. The content of a virtual register is a slot. Now, the register struct has a pointer to a SlotInfo struct, which i assume is the current content of this register. But each SlotData struct also has a pointer to subsequent Slotdata structs...what is the meaning of this? And what's the role of the sequence struct?
So, that's pretty much what i'm looking for. If someone could please help me out?
thanks in advance,
More information about the kaffe