Jan Vrany <jan.vrany@fit.cvut.cz> [Sun, 07 Aug 2016 21:52:39 +0100] rev 38
Added support for JavaContext's in code generator
In Smalltalk/X, for Java a special context class - JavaContext - is
used. This commit adds support to backend so when compiling for a
Java class, a JavaContext is created.
Jan Vrany <jan.vrany@fit.cvut.cz> [Wed, 10 Aug 2016 22:35:23 +0100] rev 37
Initial shot on Java method compilation. Introduction of C1Value hierarchy.
Jan Vrany <jan.vrany@fit.cvut.cz> [Sat, 30 Jul 2016 17:06:00 +0100] rev 36
Tests and few fixes for basic Java compilation
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 25 Jul 2016 07:47:27 +0100] rev 35
Compiler splitted into two parts
* A compiler frontend - the one that compiles bytecode (Smalltalk or Java or ...)
into lower-level instructions using backend
* A compiler backend that provides / will provide low-level API for frontend,
hiding all the details of architecture differences and LLVM interfacing.
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 24 Jun 2016 15:43:42 +0100] rev 34
C1: Fixed context setup for non-tradstack machines (such as x86_64)
Jan Vrany <jan.vrany@fit.cvut.cz> [Sat, 09 Jul 2016 12:02:31 +0100] rev 33
Fixed typo in VMConstants (concatenated pool variable names)
Jan Vrany <jan.vrany@fit.cvut.cz> [Sat, 09 Jul 2016 12:01:39 +0100] rev 32
C1: Added C1CompilerDebugFlags pool with (for now few) debug flags
These can be used by the compiler to produce detailed log and/or
insert debug code to into generated code.
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 24 Jun 2016 00:08:57 +0100] rev 31
C1: Changed method naming convention
All (helper) methods that generate code (LLVM IR) are either
* "loadXYZ" for loading from memory into value,
* "storeXYZ" for storing a value into memory
* or "emitXYZ" for all the rest of codegen helpers
Jan Vrany <jan.vrany@fit.cvut.cz> [Thu, 23 Jun 2016 22:50:10 +0100] rev 30
C1: Added #emitReturn: helper
Jan Vrany <jan.vrany@fit.cvut.cz> [Thu, 23 Jun 2016 22:26:37 +0100] rev 29
Initial support for message sends.
For now, the C1 compiler uses simple `__SSENDx`s so no need to bother with
inline caches. This can (and will) be addressed in a future.