Commit Graph

122 Commits

Author SHA1 Message Date
Joel Dice
e2b24263a2 various bugfixes 2008-04-30 09:44:17 -06:00
Joel Dice
3909e3f032 fix thinko concerning stack resets in compile() 2008-04-29 17:18:28 -06:00
Joel Dice
3fa3fd0796 fix stack index calculation when pushing operands 2008-04-29 14:24:08 -06:00
Joel Dice
9dafe37ff3 fix code ordering bug in MyCompiler::peek 2008-04-29 10:55:56 -06:00
Joel Dice
377e2864d9 fix argument marshalling for floating point helper functions on 32-bit systems 2008-04-29 10:40:44 -06:00
Joel Dice
d50e3aaee0 preserve operands to CombineEvent and TranslateEvent when necessary 2008-04-29 10:25:20 -06:00
Joel Dice
22382a5c8b fix amd64 regression in PushEvent::skipMove 2008-04-29 09:30:41 -06:00
Joel Dice
c96f44d77d don't skip move when MoveEvent is followed by a PushEvent which is not active; use existing register site in ValueSite when possible 2008-04-29 08:59:12 -06:00
Joel Dice
8738bddcb9 bugfixes, mainly concerning 32-bit machines 2008-04-28 16:08:31 -06:00
Joel Dice
1b5f14d847 re-enable tests in Misc and get them working 2008-04-28 09:53:48 -06:00
Joel Dice
8be4cf8fa6 fix pushState and popState to work as intended 2008-04-27 15:58:29 -06:00
Joel Dice
5b7372a3bb various bugfixes; majority of tests now pass 2008-04-27 14:15:18 -06:00
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