From 50080ddea9c496cee9827badcde956409c09a8b4 Mon Sep 17 00:00:00 2001 From: Martin Thoma Date: Sat, 29 Mar 2014 14:20:26 +0100 Subject: [PATCH] Java-Bytecode und X10 --- .../Programmierparadigmen/Java-Bytecode.tex | 59 ++- .../Programmierparadigmen.pdf | Bin 858818 -> 867392 bytes documents/Programmierparadigmen/Scala.tex | 8 + documents/Programmierparadigmen/X10.tex | 32 +- .../scripts/x10/Fibonacci.java | 376 ++++++++++++++++++ .../scripts/x10/Fibonacci.x10 | 8 +- .../scripts/x10/at-example.x10 | 8 + .../scripts/x10/when-example.x10 | 18 + 8 files changed, 503 insertions(+), 6 deletions(-) create mode 100644 documents/Programmierparadigmen/scripts/x10/Fibonacci.java create mode 100644 documents/Programmierparadigmen/scripts/x10/at-example.x10 create mode 100644 documents/Programmierparadigmen/scripts/x10/when-example.x10 diff --git a/documents/Programmierparadigmen/Java-Bytecode.tex b/documents/Programmierparadigmen/Java-Bytecode.tex index abdc0b8..ca9f13b 100644 --- a/documents/Programmierparadigmen/Java-Bytecode.tex +++ b/documents/Programmierparadigmen/Java-Bytecode.tex @@ -14,7 +14,7 @@ Bytecode ist unabhängig von realer Hardware. \end{definition} \textit{Activation Record} ist ein \textit{Stackframe}.\index{Activation Record|see{Stackframe}} -\section{Instruktionen} +\section{Instruktionen}\xindex{imul@\texttt{imul}}\xindex{iadd@\texttt{iadd}}\xindex{fadd@\texttt{fadd}}\xindex{iaload@\texttt{iaload}}\xindex{faload@\texttt{faload}}\xindex{iastore@\texttt{iastore}}\xindex{fastore@\texttt{fastore}}\xindex{iconst\_@\texttt{iconst\_}}\xindex{fconst\_@\texttt{fconst\_}}\xindex{idiv@\texttt{idiv}}\xindex{fdiv@\texttt{fdiv}}\xindex{imul@\texttt{imul}}% \begin{table}[h] \begin{tabular}{p{6cm}|ll} \textbf{Beschreibung} & \textbf{int} & \textbf{float} \\ \hline @@ -27,6 +27,62 @@ Bytecode ist unabhängig von realer Hardware. \end{tabular} \end{table} +Weitere:\xindex{iload\_0@\texttt{iload\_0}}% + +\begin{itemize} + \item \texttt{iload\_0}: Läd die lokale Variable 0 auf den Stack. + \item \texttt{iload\_1}: Läd die lokale Variable 1 auf den Stack. + \item \texttt{iload\_2}: Läd die lokale Variable 2 auf den Stack. + \item \texttt{iload\_3}: Läd die lokale Variable 3 auf den Stack. +\end{itemize} + +\subsection{if-Abfragen}\xindex{if\_icmp@\texttt{if\_icmp}}% +Im Java-Bytecode gibt es einige verschiedene if-Abfragen. Diese sind immer nach +dem Schema \texttt{