Commit Graph

1455 Commits

Author SHA1 Message Date
Joel Dice
1192ef939e fix stack offset calculation for multianewarray on x86 2009-03-01 15:39:52 -07:00
Joel Dice
7a2bf9b855 fix x86.cpp build 2009-03-01 15:14:51 -07:00
Joel Dice
28d4409b0a implement negateRR 2009-03-01 12:57:07 -07:00
Joel Dice
36196910ed implement xorR and xorC 2009-03-01 12:40:49 -07:00
Joel Dice
97e698d806 fix MyCompiler::peak for big-endian architectures 2009-03-01 12:36:30 -07:00
Joel Dice
696282631a fix endianness issues with 64-bit locals 2009-03-01 12:28:17 -07:00
Joel Dice
412348d938 fix stack offset calulation for multianewarray 2009-03-01 10:49:37 -07:00
Joel Dice
117c89b9ee change == to <= in moveCR2 since we only need to ensure dstSize is no more than the word size 2009-02-28 19:10:31 -07:00
Joel Dice
93ebb571b3 only add site to result if result is live in CombineEvent::compile and TranslateEvent::compile 2009-02-28 19:08:14 -07:00
Joel Dice
5adcfa3341 fix 32-bit indexed loads 2009-02-28 17:31:09 -07:00
Joel Dice
750f4d51da fix extsb/extsh operand order in moveRR 2009-02-28 17:17:12 -07:00
Joel Dice
f01a78699f fix opcode for lbzx 2009-02-28 16:58:54 -07:00
Joel Dice
b0422b32e6 implement orR and orC; add shift operations to ternary operation table 2009-02-28 16:28:10 -07:00
Joel Dice
d6bd2e7308 make Compiler::store take both a source size and a destination size to avoid endianness issues; change order of Compiler::load parameters to match 2009-02-28 16:17:24 -07:00
Joel Dice
10c75f4783 add longCompareC to ternary operation table 2009-02-28 15:04:04 -07:00
Joel Dice
5a8ffcd79b implement moveZRR and moveZMR 2009-02-28 15:00:12 -07:00
Joel Dice
60c4bede39 fix undefined-order-of-operations bug in Frame::dupped 2009-02-28 14:41:05 -07:00
Joel Dice
3e6c30a4b5 always return an 8-byte value (or void) from native functions called from Java
This is important on the 32-bit OS X PowerPC ABI, since the location
of the low 32-bits of a return value change depending on whether the
entire value is 64-bits or not.
2009-02-28 14:20:43 -07:00
Joel Dice
c5dd97ffea ensure that we release temporaries back to the compiler in powerpc.cpp; allow the first operand of a comparison to be a constant 2009-02-28 13:41:37 -07:00
Joel Dice
a2d2564d83 restore changes clobbered by commit 5a08062 2009-02-28 12:58:34 -07:00
Joel Dice
1249b11080 fix build breakage 2009-02-28 12:47:47 -07:00
Joel Dice
46a6744050 Merge commit 'origin/powerpc' into powerpc 2009-02-28 12:44:31 -07:00
Joel Dice
f8d7bea7e8 implement various compare and branch instructions 2009-02-28 12:36:02 -07:00
Joel Dice
f22ce3f996 fix parameter offset calculation in invokeNative2 2009-02-28 12:33:26 -07:00
JET
5a08062190 prelim 64-bit mult and shift support 2009-02-27 16:54:20 -07:00
Joel Dice
8ecd6a0394 fix and optimize andC 2009-02-26 18:56:57 -07:00
Joel Dice
4999c08e32 fix stack offset calculation for powerpc
This may break x86, in which case we'll iterate until they both work.
2009-02-26 18:54:25 -07:00
Joel Dice
73aa499371 clean up offsetToFrameIndex code 2009-02-26 18:53:35 -07:00
Joel Dice
d7d3dd5055 various bugfixes, especially concerning frame allocation and offset calculation 2009-02-25 20:49:42 -07:00
Joel Dice
6957492c7a ignore base argument in powerpc version of vmJump and move thread argument into correct register 2009-02-25 20:47:38 -07:00
Joel Dice
b539d7b1e0 Merge commit 'origin/powerpc' into powerpc
Conflicts:
	src/powerpc.cpp
2009-02-25 18:31:21 -07:00
Joel Dice
08af5deb36 implement andC and moveAR; fix MyArchitecture::nextFrame 2009-02-25 18:16:38 -07:00
Joel Dice
09c96a3063 simplify longCompare in x86.cpp such that the move function pointer parameter is eliminated and moveCR is called directly 2009-02-25 18:13:18 -07:00
Joel Dice
2554673dda call c->arch->plan in CallEvent ctor to ensure the address operand is placed into the proper operand type for the call instruction 2009-02-25 18:11:41 -07:00
J. Treadwell
c148369d57 added multiply and divide instructions and intermediates 2009-02-25 09:37:44 -07:00
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