Commit Graph

129 Commits

Author SHA1 Message Date
Joel Dice
505d6df7ae reorder code in CallEvent ctor to ensure we don't clobber argument registers when it comes time to marshal values for reading 2008-05-14 18:04:25 -06:00
Joel Dice
73b8cc5595 fix unused variable warnings 2008-05-14 17:19:41 -06:00
Joel Dice
482065f91a fix code ordering bug in popNow() 2008-05-14 16:36:22 -06:00
Joel Dice
08beaad1b6 various bugfixes related to new register allocation code 2008-05-13 11:27:57 -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
efb30b2256 progress towards more flexible register allocation in compiler 2008-05-04 14:55:34 -06:00
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