some words for intro and overview by andi
[cacao.git] / doc / handbook / overview.tex
index 80fec090999122922484fe7b5bdbedafcac5eeba..263e8c4bfe2fe994aea0fdb7b62e15c7254c42f2 100644 (file)
@@ -1,9 +1,33 @@
 \chapter{Overview}
 
+This chapter gives an overview of CACAO. It describes the general structure and
+the partitioning into modules.
+
+
 \section{Introduction}
 
+CACAO is partitioned into modules which are usually a .c file or a complete
+subdirectory. The modules are bound together by the main module (main.c) which
+parses the command line options, calls the system class loader (loader.c) and invokes
+the main method of the java class file. The first time a method is invoked
+the just-in-time compiler (jit) generates machine code for the selected host architecture.
+During the execution it is possible that native function are called. All native
+functions have to be linked with all other modules. Therefore, tables
+and headers have to be generated by the header file generator (headers.c) before
+the rest of the CACAO system is build. The Boehm-Weiser garbage collector is
+used for memory management. Figure \ref{cacao_overview} gives an overview of
+CACAO.
+
+
 \section{Class loader}
 
+The class loader loads the Java class files and creates the data structures which
+are necessary for the compilation and execution of byte code programs.
+
+Java class files contain information about all referenced classes. Currently CACAO
+uses this information to load classes eagerly. All classes which are referenced
+directly or indirectly by the main class are loaded at program start. 
+
 \section{Just-in-time compiler}
 
 \section{Run time system}