Commit Graph

1470 Commits

Author SHA1 Message Date
Joel Dice
0832c740fc implement a few conditional and branch instructions 2009-02-24 18:29:04 -07:00
Joel Dice
571615a79f fix stack space calculation in compile-powerpc.S 2009-02-24 18:28:05 -07:00
Joel Dice
299f8542b7 rename fooCRR and fooRRR to fooC and fooR, respectively; add entries to ternary operation table in populateTables 2009-02-24 09:13:11 -07:00
Joel Dice
b292cbb7f4 mask displacement in instruction format D; fix MyArchitecture::frameIp to look for return address at an 8-byte offset from the stack pointer 2009-02-24 08:04:55 -07:00
Joel Dice
eef5047a52 various bugfixes in powerpc.cpp 2009-02-23 21:25:15 -07:00
J. Treadwell
ee90d7bd2c merged ppc changes 2009-02-23 20:57:25 -07:00
JET
2d09f57cbd added instructions 2009-02-23 19:16:42 -07:00
Joel Dice
da8520754d progress towards compiling and running simple methods on powerpc 2009-02-23 19:11:32 -07:00
Joel Dice
9a9b2c611a sketch of new powerpc.cpp implementation 2009-02-21 12:30:25 -07:00
Joel Dice
a9e85e5de8 fix compare instruction syntax in compile-powerpc.S 2009-02-18 17:46:07 -07:00
Joel Dice
324caaf98b add size parameter to Assembler::returnLow since the register used depends on the return value size on PowerPC 2009-02-17 18:19:31 -07:00
Joel Dice
c88e3fa230 ensure stack alignment in compile-x86.S and update vmInvoke to accept frame size parameter 2009-02-16 19:49:28 -07:00
Joel Dice
17b4c20435 fix windows build 2009-02-16 19:48:29 -07:00
Joel Dice
ba4e2a6582 rename compile.S to compile-x86.S and add compile-powerpc.S 2009-02-16 08:21:12 -07:00
Joel Dice
773e229112 fix powerpc native call bugs 2009-02-15 14:24:20 -07:00
Joel Dice
de6388a719 fix powerpc/interpret build 2009-02-15 12:51:39 -07:00
Joel Dice
cea5a9315d fix block delimiting code in compile.cpp to avoid cycles and nested blocks 2009-02-15 11:11:00 -07:00
Joel Dice
7803663fc9 fix block delimiting code in compiler.cpp to minimize the number of blocks needed
This exposed bugs in x86.cpp concerning alignment padding which are now
fixed.
2009-02-14 17:52:44 -07:00
Joel Dice
4b2d74f656 fix merge conflict bug preventing the bootimage code from seeing, marking, and fixing jsr addresses 2009-02-14 14:23:23 -07:00
Joel Dice
f58f7b3bdf fix bugs pertaining to tracking reads and and value sites across subroutines (jsr and ret instructions) 2009-02-14 13:26:39 -07:00
Joel Dice
71ccac1ef7 default to specified build mode when building the bootimage generator instead of hard-coding it to 'fast' 2009-02-14 13:25:07 -07:00
Joel Dice
93142bb952 support filtering based on class name, method name, and method spec in
bootimage.cpp

This is useful for debugging the compiler, since it allows you to
compile one method in particular if that's where a bug manifests itself.
2009-02-14 13:23:31 -07:00
Joel Dice
e3257134c9 fix merge-related regression affecting bootimage build 2009-02-09 19:00:53 -07:00
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
a1fc8a4dac add site to result in MemoryEvent::compile regardless of whether the result is live, since the memory location may be used as the target of a move and we need to keep the reference count of the base and index registers nonzero 2009-02-08 19:08:56 -07:00
Joel Dice
29616c4abc freeze target site when using temporary in maybeMove 2009-02-08 18:58:33 -07:00
Joel Dice
4ca45ffa41 fix two bugs concerning tracking available registers and reserving them when necessary 2009-02-08 16:20:28 -07:00
Joel Dice
0fbe89c147 set Value::high when appropriate in MyCompiler::initLocalsFromLogicalIp 2009-02-08 15:13:49 -07:00
Joel Dice
175ec1ff48 remove debug logging 2009-02-08 13:22:28 -07:00
Joel Dice
5066bfdabf tweak register and frame site allocation code to avoid failure in corner cases 2009-02-08 13:21:35 -07:00
Ryan Forbes
46e19f9c80 Fixed bug where seconds were always zero because % was misspelled as / 2009-02-03 15:30:03 -07:00
Ryan Forbes
277278b331 Fixed off by one in list method. 2009-02-03 15:28:39 -07:00
Joel Dice
55d2ee1823 avoid clobbering values in sign-extension case of MoveEvent.compile 2009-02-02 19:13:02 -07:00
Joel Dice
6297c8a906 add tests to Arrays.java and Longs.java 2009-02-02 19:12:07 -07:00
Joel Dice
123e22322c turn off debug logging 2009-02-01 16:21:55 -07:00
Joel Dice
2e3fd111d4 fix regressions on x86_64 2009-02-01 16:19:11 -07:00
Joel Dice
8b1801c465 various bugfixes involving multiword values 2009-02-01 16:10:56 -07:00
Joel Dice
d0676d0303 add *~ to .gitignore 2009-02-01 16:10:00 -07:00
Joel Dice
11408dc2cd fix popIndex calculation in CallEvent ctor 2009-01-31 12:35:45 -07:00
Joel Dice
8b6319fbc8 assume stack grows towards negative addresses when loading and storing multiword locals 2009-01-31 12:05:06 -07:00
Joel Dice
a11d018dc2 fix assertion in MyCompiler::peek 2009-01-29 18:43:46 -07:00
Joel Dice
8dca14af74 remove obsolete assertion from negateRR 2009-01-29 18:43:18 -07:00
Joel Dice
1c3504b62a fix various stack bugs 2009-01-29 18:36:19 -07:00
Joel Dice
565ece136b begin refactoring compiler.cpp to treat each word of a multiword value seperately 2009-01-25 15:03:38 -07:00
Joel Dice
034444db57 fix a couple of bugs handling multi-word values 2009-01-12 09:26:43 -07:00
Joel Dice
582e975a8a remove temporary debug code 2009-01-11 16:46:36 -07:00
Joel Dice
85ac9b9c71 revert overflow code in sitesToString since we now prune dead buddies from values 2009-01-11 16:46:22 -07:00
Joel Dice
05bd86e2ed use upper 32 bits of mask in pickRegisterTarget when picking register for high word; set Target::Impossible to 5 since 4 is a valid cost 2009-01-11 16:42:41 -07:00
Joel Dice
04bc58fd95 reorder code in MemorySite::release so we can use low->size before it is overwritten 2009-01-11 16:24:25 -07:00