Joel Dice
|
d5137a7cdf
|
use stack instead of registers to save data across jumps and branches; bugfixes
|
2008-04-26 14:56:03 -06:00 |
|
Joel Dice
|
571bffde09
|
fix some issues with 64-bit moves on 32-bit machines
|
2008-04-20 20:50:46 -06:00 |
|
Joel Dice
|
6b4cafd962
|
fix argument marshalling on amd64
|
2008-04-20 18:21:48 -06:00 |
|
Joel Dice
|
d6c3b2327f
|
bugfixes; enums test now succeeds
|
2008-04-20 13:35:36 -06:00 |
|
Joel Dice
|
8ebff705d6
|
various fixes
|
2008-04-19 23:23:08 -06:00 |
|
Joel Dice
|
281bdb1fab
|
avoid inserting redundant stack sync events
|
2008-04-19 20:05:17 -06:00 |
|
Joel Dice
|
fb06f7634c
|
fix thinko in MyCompiler::pushed
|
2008-04-19 19:08:26 -06:00 |
|
Joel Dice
|
8baa2bbd87
|
insert stack sync events before each instruction with more than one predecessor
|
2008-04-19 18:43:12 -06:00 |
|
Joel Dice
|
eb77687a57
|
hello, world
|
2008-04-19 15:52:45 -06:00 |
|
Joel Dice
|
7b8b7a7b11
|
snapshot
|
2008-04-19 14:41:31 -06:00 |
|
Joel Dice
|
b19c52b501
|
control flow bugfixes
|
2008-04-19 01:03:59 -06:00 |
|
Joel Dice
|
ab7314e526
|
more bugfixes
|
2008-04-18 18:19:45 -06:00 |
|
Joel Dice
|
8fd1290d02
|
various data flow bugfixes
|
2008-04-18 12:36:57 -06:00 |
|
Joel Dice
|
a053a228f0
|
optimize move,op sequences where op doesn't care where its source operand comes from
|
2008-04-18 11:30:54 -06:00 |
|
Joel Dice
|
c1ba7a7d58
|
optimize op,move sequences where op can place its result directly into the move's destination
|
2008-04-18 11:00:55 -06:00 |
|
Joel Dice
|
44b3a7c36d
|
various bugfixes
|
2008-04-17 22:16:20 -06:00 |
|
Joel Dice
|
329009ae97
|
bugfixes involving stack operations
|
2008-04-17 21:47:42 -06:00 |
|
Joel Dice
|
af2c2e019c
|
various bugfixes
|
2008-04-17 18:39:41 -06:00 |
|
Joel Dice
|
a7134a2cd7
|
fix build
|
2008-04-17 16:07:32 -06:00 |
|
Joel Dice
|
f8a5d02f67
|
more compiler work
|
2008-04-17 14:48:26 -06:00 |
|
Joel Dice
|
3f45d39582
|
more compiler work
|
2008-04-16 20:55:38 -06:00 |
|
Joel Dice
|
f85510c4c4
|
more work on design sketch of new compiler
|
2008-04-16 14:58:21 -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
|
b7ea937708
|
rough sketch of refined compiler design
|
2008-04-13 12:54:50 -06:00 |
|
Joel Dice
|
d77ffa8e21
|
convert relative calls to absolute indirect calls on x86_64, in case we need to jump further than a 32-bit displacement will allow
|
2008-04-13 11:16:27 -06:00 |
|
Joel Dice
|
2d6eebf4d1
|
more progress on general stack tracing
|
2008-04-09 13:08:13 -06:00 |
|
Joel Dice
|
a51c4cef39
|
bugfixes
|
2008-03-16 13:38:43 -06:00 |
|
Joel Dice
|
684b402e82
|
bugfixes and new instructions
|
2008-03-15 17:54:20 -06:00 |
|
Joel Dice
|
420a054fd8
|
support 1- and 2-byte moves to memory
|
2008-03-15 15:02:19 -06:00 |
|
Joel Dice
|
8141fc21b4
|
release base and index values of AbstractMemoryValue if necessary; bugfixes
|
2008-03-15 14:44:14 -06:00 |
|
Joel Dice
|
6bf0ca5bd9
|
various bugfixes and new instructions
|
2008-03-15 14:24:04 -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
|
406f173982
|
handle constant array lengths and indexes properly; various bugfixes
|
2008-03-13 14:50:56 -06:00 |
|
Joel Dice
|
c5b8b83cc7
|
clean up code for optimizing stack operations
|
2008-03-11 10:40:28 -06:00 |
|
Joel Dice
|
9e2e614a15
|
various fixes to get invokevirtual working
|
2008-03-10 16:37:21 -06:00 |
|
Joel Dice
|
0fe748c3a1
|
avoid unecessary mov instructions
|
2008-03-10 07:29:42 -06:00 |
|
Joel Dice
|
888836f8cd
|
use push and pop for stack operations instead of mov
|
2008-03-09 15:27:51 -06:00 |
|
Joel Dice
|
3317149cd2
|
Merge branch 'master' into compiler
Conflicts:
src/x86.cpp
|
2008-02-26 17:56:35 -07:00 |
|
Joel Dice
|
2edaa82801
|
prepend copyright notice and license to all source files; add license.txt and readme.txt
|
2008-02-19 11:06:52 -07:00 |
|
Joel Dice
|
e8ed2a4749
|
various bugfixes in new compiler
|
2008-02-17 15:29:04 -07:00 |
|
Joel Dice
|
d654c943f3
|
various bugfixes and tweaks in new compiler, primarily related to duplicating stack operands
|
2008-02-17 13:57:40 -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 |
|
Joel Dice
|
88a8e74a53
|
fix register to memory mov1 implementation
|
2008-01-18 15:01:50 -07:00 |
|
Joel Dice
|
2f83468b80
|
remove context argument from Allocator::tryAllocate and Allocator::allocate, since we aren't using it after all
|
2008-01-14 16:37:24 -07:00 |
|
Joel Dice
|
0298865efa
|
refactor memory allocation to allow better detection and handling of low-memory conditions
|
2008-01-13 15:05:08 -07:00 |
|
Joel Dice
|
a56c0ad2ef
|
fix predicate used to determine whether to resolve address operands
|
2008-01-11 11:11:31 -07:00 |
|
Joel Dice
|
13fae991fd
|
resolve address operands only when writing the final output
|
2008-01-11 09:44:16 -07:00 |
|