Joel Dice
9b0d6854ec
fix merge conflicts
2009-02-09 16:22:51 -07:00
Joel Dice
a1ec71423e
Merge branch 'master' into powerpc
...
Conflicts:
makefile
src/assembler.h
src/binaryToMacho.cpp
src/compile.cpp
src/compiler.cpp
src/x86.cpp
2009-02-09 16:22:01 -07:00
Joel Dice
8b1801c465
various bugfixes involving multiword values
2009-02-01 16:10:56 -07:00
Joel Dice
d4363d250a
mark and fix up absolute addresses in boot image code
2008-12-02 09:45:20 -07:00
Joel Dice
25ade1484a
lots of bugfixes and refactoring
2008-12-01 19:38:00 -07:00
Joel Dice
0ec5ad3701
update makefile to optionally build and use a boot image; various bugfixes
2008-11-29 16:08:14 -07:00
Joel Dice
f698c24ea6
delay resolving method call offsets until all methods have been compiled when creating a boot image
2008-11-27 13:59:40 -07:00
Joel Dice
20cf42c5e4
more work on boot image creation
2008-11-23 16:58:01 -07:00
Joel Dice
c80eb51c17
Merge branch 'master' into powerpc
...
Conflicts:
makefile
src/assembler.h
src/compile.cpp
src/compiler.cpp
src/compiler.h
src/finder.cpp
2008-11-11 08:21:48 -07:00
Joel Dice
00d8142de9
various bugfixes; all but one test are passing on amd64
2008-11-09 16:56:37 -07:00
Joel Dice
61539bae31
fix stack mapping bugs which broke GC
2008-11-08 15:36:38 -07:00
Joel Dice
6f1d02dae7
remove the libstdc++ dependency once and for all
...
The trick is to make all destructors non-virtual. This is safe because
we never use the delete operator, which is the only case where virtual
destructors are relevant. This is a better solution than implementing
our own delete operator, because we want libraries loaded at runtime to
use the libstdc++ version, not ours.
2008-10-28 15:40:50 -06:00
Joel Dice
d409f89d5d
ensure that only one value holds a given frame site at at time
2008-09-28 15:56:12 -06:00
Joel Dice
392a1417e5
lots of bugfixes and a few instructions added
2008-09-08 18:31:19 -06:00
Joel Dice
af9758a6d3
got a simple arithmetic test working
2008-09-07 14:12:11 -06:00
Joel Dice
e13b755048
more progress towards new JIT code - this compiles but won't run properly
2008-09-05 09:00:38 -06:00
Joel Dice
5f7d68b404
snapshot
2008-08-30 14:12:27 -06:00
Joel Dice
a062d8c975
progress towards refactored JIT compiler to support PowerPC and data flow analysis across control flow boundaries
2008-08-23 12:04:36 -06:00
Joel Dice
9908bbcf50
sketch new version of x86.cpp to conform to new assembler.h APIs
2008-08-19 17:38:37 -06:00
Joel Dice
9654e3445d
refactor stack walking and visiting code to abstract away certain details of stack layout which are architecture-specific
2008-08-18 09:23:01 -06:00
Joel Dice
4a3be37c67
snapshot
2008-08-17 13:32:40 -06:00
Joel Dice
5dc0959294
snapshot
2008-08-16 12:46:14 -06:00
Joel Dice
9efe6f1f05
snapshot
2008-08-16 11:45:36 -06:00
Joel Dice
2343483d8e
Merge branch 'master' of oss:/var/local/git/avian into powerpc
2008-07-13 12:47:49 -06:00
Joel Dice
23043d140f
snapshot
2008-07-05 14:21:13 -06:00
Joel Dice
9bea21dec7
add copyright header to files which don't already have them
2008-06-25 14:53:48 -06:00
Joel Dice
eabb37e6eb
add lcmp instruction to Compiler and corresponding LongCompare instruction to Assembler, since that's the only efficient way to implement the lcmp bytecode on x86
2008-06-12 10:56:48 -06:00
Joel Dice
ecfb853f17
use relative branches where possible on amd64
2008-06-02 07:49:09 -06:00
Joel Dice
65830a76c5
improve efficiency of array bounds checks and generate a thunk table for native functions called indirectly
2008-05-31 16:14:27 -06:00
Joel Dice
a40635fdba
rework register allocation to be more flexible
2008-05-12 07:54:47 -06:00
Joel Dice
f1809897bd
fix build
2008-05-06 15:13:02 -06:00
Joel Dice
2e108861da
remove operand marshalling from the assembler in favor of doing it in the compiler
2008-05-04 13:09:12 -06:00
Joel Dice
8738bddcb9
bugfixes, mainly concerning 32-bit machines
2008-04-28 16:08:31 -06:00
Joel Dice
5b7372a3bb
various bugfixes; majority of tests now pass
2008-04-27 14:15:18 -06:00
Joel Dice
a259beccdc
implement xorRR, remove unused Assembler::stackSyncRegister
2008-04-20 16:19:11 -06:00
Joel Dice
329009ae97
bugfixes involving stack operations
2008-04-17 21:47:42 -06:00
Joel Dice
a7134a2cd7
fix build
2008-04-17 16:07:32 -06:00
Joel Dice
3f45d39582
more compiler work
2008-04-16 20:55:38 -06:00
Joel Dice
525f733171
Merge branch 'master' into compiler
...
Conflicts:
src/compile.cpp
src/compiler.cpp
src/compiler.h
2008-04-13 13:48:20 -06:00
Joel Dice
420a054fd8
support 1- and 2-byte moves to memory
2008-03-15 15:02:19 -06:00
Joel Dice
6a9fbc0c17
allow assembler to acquire and release temporary registers; new machine instruction implementations; bugfixes
2008-03-13 17:43:11 -06:00
Joel Dice
e8ed2a4749
various bugfixes in new compiler
2008-02-17 15:29:04 -07:00
Joel Dice
6271f878e8
include function prologue and epilogue when compiling
2008-02-12 08:21:51 -07:00
Joel Dice
fa513beb2f
rework compiler interface to explicitly accept a size parameter for each operation where relevant
2008-02-11 19:06:12 -07:00
Joel Dice
b9fa7179d9
more work on new compiler; addition now works
2008-02-11 17:20:32 -07:00
Joel Dice
5b2f351f01
adapt compile.cpp to new compiler
2008-02-11 10:21:41 -07:00