X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=doc%2Fstack.txt;h=603b87556e8a7a40b3c6590cd11cc87e7b5a5756;hb=b6fbb1958c8971b06e87ea3c37be0deaff131768;hp=e973ad39b324efb22a2222c09d4a2b703c2694ac;hpb=3b704171216048189edc09aacec3d76e3db608e8;p=cacao.git diff --git a/doc/stack.txt b/doc/stack.txt index e973ad39b..603b87556 100644 --- a/doc/stack.txt +++ b/doc/stack.txt @@ -42,6 +42,12 @@ The following invariants hold at all time for the stack representation: 6) References can only go to lower memory addresses. That is, for each stack slot sp: (sp->prev == NULL) or (sp->prev < sp) + + 7) If an instruction produces any stackslots, iptr->dst points to the highest-address + stackslot produced + Corollary: if iptr->dst points to curstack or below, the instruction does + not produce any stackslots + ATTENTION: The instack of a block and the slots produced within the block are *not* guaranteed to be adjacent (see figure below)!