- ---------------------------------------------
- | Parameter n (vom Aufrufer) |
- ---------------------------------------------
- | Parameter n-1 |
- ---------------------------------------------
- | ... |
- ---------------------------------------------
- SP vorher -> | Parameter 7 |
- ============================================= ---
- | gesichertes RA | savedregs_num
- ---------------------------------------------
- | andere gesicherte Register |
- ============================================= ---
- | Platz f"ur lokale Werte, die nicht mehr | localvars_num
- | in Register passen |
- ============================================= ---
- | .... | arguments_num
- ---------------------------------------------
- | Parameter 8 |
- ---------------------------------------------
- SP ---> | Parameter 7 (f"ur aufgerufenen Methoden) |
- ============================================= ---
-
-
-Damit die Anf"ange der einzelnen Bereiche (im Codegenerator) leichter
-ausgedr"uckt werden k"onnen, sind ein paar Hilfsvariablen vorgesehen, die
-die Adressierung der einzelnen Bereiche vereinfachen:
- localvars_base = arguments_num
- savedregs_base = localvars_base + localvars_num
- parentargs_base = savedregs_base + savedregs_num
-
+ ---------------------------------------------
+ | parameter n (passed from caller) |
+ ---------------------------------------------
+ | parameter n-1 |
+ ---------------------------------------------
+ | ... |
+ ---------------------------------------------
+ | parameter 7 |
+old SP ---> ============================================= --- parentargs_base
+ | saved RA |
+ --------------------------------------------- savedregs_num
+ | others saved registers |
+ ============================================= --- maxmemuse + 1
+ | optional monitor_exit argument |
+ ============================================= --- maxmemuse
+ | area for spilled registers |
+ =============================================
+ | .... |
+ ---------------------------------------------
+ | parameter 8 |
+ ---------------------------------------------
+ | parameter 7 (passed to called method) |
+new SP ---> =============================================