diff options
author | Pekka Enberg <penberg@kernel.org> | 2012-02-18 13:58:07 +0200 |
---|---|---|
committer | Pekka Enberg <penberg@kernel.org> | 2012-02-18 13:58:07 +0200 |
commit | 739b9abf517356a729a5ff30adce5ea5d57ae4e2 (patch) | |
tree | 5769a77dda15c7fa2c4a56345515d388b80142d4 | |
parent | 8736a3382e051054486dc474408755ab23a4eb9b (diff) | |
download | jato-739b9abf517356a729a5ff30adce5ea5d57ae4e2.tar.gz |
Documentation, internals: Core VM
Signed-off-by: Pekka Enberg <penberg@kernel.org>
-rw-r--r-- | Documentation/internals.txt | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/Documentation/internals.txt b/Documentation/internals.txt index fa2def5e..ecd0a528 100644 --- a/Documentation/internals.txt +++ b/Documentation/internals.txt @@ -16,37 +16,43 @@ Java Virtual Machine <<Lindholm99>> <<Sun05>> <<JCP11>>, Java Native Interface The Virtual Machine ------------------- +The virtual machine core manages classes and objects at runtime. It implements +JVM semantics but at code level is mostly decoupled from classfiles, bytecode +execution, and the Java runtime. + Classes ~~~~~~~ -TODO +Classes are internally represented by +struct vm_class+ and externally by ++java/lang/VMClass+. + +Objects +~~~~~~~ + +Objects are internally represented by +struct vm_object+ and externally by ++java/lang/VMObject+. Methods ~~~~~~~ -TODO +Methods are internally represented by +struct vm_method+ and externally by ++java/lang/reflect/VMMethod+. Fields ~~~~~~ -TODO - -Objects -~~~~~~~ - -TODO +Fields are internally represented by +struct vm_field+ and externally by ++java/lang/reflect/VMField+. Exceptions ~~~~~~~~~~ -TODO +Exceptions are not handle by the core VM itself. Instead, they are dealt with +by the JIT runtime support code. The Just-in-Time Compiler ------------------------- -Introduction -~~~~~~~~~~~~ - The compiler is divided into the following passes: control-flow graph construction, bytecode parsing, instruction selection, and code emission. The compiler analyzes the given bytecode sequence to find basic blocks for |