%% -*- mode: latex; TeX-master: "compilerbau.tex"; -*-

\begin{slide}{Frames}

\kopf{$ $Id: frame.tex,v 1.1 2006-12-11 22:27:07 waldmann Exp $ $}

Frame (Rahmen) ist Speicherbereich
zur Verwaltung eines Unterprogramm-Aufrufs.
Bestandteile sind:

\begin{itemize}
\item Platz für Parameter (Argumente)
\item Platz für lokale Variablen
\item (bei JVM) Operand Stack für lokale Rechnungen

  beachte: Größe steht zur Compile-Zeit fest
\item Rückkehradresse
\item (bei Funktionen) (Verweis auf) Platz für Resultat
\end{itemize}

\end{slide}

\begin{slide}{Frames (II)}

Zu jedem Zeitpunkt gibt es einen \emph{aktuellen} Frame.

Zum Unterprogramm-Aufruf legt der Caller einen neuen Frame an
und schreibt die Werte der Parameter hinein.

Wenn das fertig ist, wechselt die Ausführung zum Callee.

Wenn der fertig ist, wieder zurück zum vorigen Frame.

\end{slide}
