5f0b40e531
restore call to Client::releaseTemporary in moveCM
2009-03-01 23:07:28 +00:00
6eacf7b804
fix bounds checks in MyCompiler::initLocalsFromLogicalIp
2009-03-01 22:47:07 +00:00
97961ecdde
pick a temporary register which is valid as both a destination and a source for the required moves in maybeMove
2009-03-01 15:41:03 -07:00
1192ef939e
fix stack offset calculation for multianewarray on x86
2009-03-01 15:39:52 -07:00
7a2bf9b855
fix x86.cpp build
2009-03-01 15:14:51 -07:00
28d4409b0a
implement negateRR
2009-03-01 12:57:07 -07:00
36196910ed
implement xorR and xorC
2009-03-01 12:40:49 -07:00
97e698d806
fix MyCompiler::peak for big-endian architectures
2009-03-01 12:36:30 -07:00
696282631a
fix endianness issues with 64-bit locals
2009-03-01 12:28:17 -07:00
412348d938
fix stack offset calulation for multianewarray
2009-03-01 10:49:37 -07:00
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
93ebb571b3
only add site to result if result is live in CombineEvent::compile and TranslateEvent::compile
2009-02-28 19:08:14 -07:00
5adcfa3341
fix 32-bit indexed loads
2009-02-28 17:31:09 -07:00
750f4d51da
fix extsb/extsh operand order in moveRR
2009-02-28 17:17:12 -07:00
f01a78699f
fix opcode for lbzx
2009-02-28 16:58:54 -07:00
b0422b32e6
implement orR and orC; add shift operations to ternary operation table
2009-02-28 16:28:10 -07:00
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
10c75f4783
add longCompareC to ternary operation table
2009-02-28 15:04:04 -07:00
5a8ffcd79b
implement moveZRR and moveZMR
2009-02-28 15:00:12 -07:00
60c4bede39
fix undefined-order-of-operations bug in Frame::dupped
2009-02-28 14:41:05 -07:00
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
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
a2d2564d83
restore changes clobbered by commit 5a08062
2009-02-28 12:58:34 -07:00
1249b11080
fix build breakage
2009-02-28 12:47:47 -07:00
46a6744050
Merge commit 'origin/powerpc' into powerpc
2009-02-28 12:44:31 -07:00
f8d7bea7e8
implement various compare and branch instructions
2009-02-28 12:36:02 -07:00
f22ce3f996
fix parameter offset calculation in invokeNative2
2009-02-28 12:33:26 -07:00
5a08062190
prelim 64-bit mult and shift support
2009-02-27 16:54:20 -07:00
8ecd6a0394
fix and optimize andC
2009-02-26 18:56:57 -07:00
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
73aa499371
clean up offsetToFrameIndex code
2009-02-26 18:53:35 -07:00
d7d3dd5055
various bugfixes, especially concerning frame allocation and offset calculation
2009-02-25 20:49:42 -07:00
6957492c7a
ignore base argument in powerpc version of vmJump and move thread argument into correct register
2009-02-25 20:47:38 -07:00
b539d7b1e0
Merge commit 'origin/powerpc' into powerpc
...
Conflicts:
src/powerpc.cpp
2009-02-25 18:31:21 -07:00
08af5deb36
implement andC and moveAR; fix MyArchitecture::nextFrame
2009-02-25 18:16:38 -07:00
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
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
c148369d57
added multiply and divide instructions and intermediates
2009-02-25 09:37:44 -07:00
0832c740fc
implement a few conditional and branch instructions
2009-02-24 18:29:04 -07:00
571615a79f
fix stack space calculation in compile-powerpc.S
2009-02-24 18:28:05 -07:00
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
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
eef5047a52
various bugfixes in powerpc.cpp
2009-02-23 21:25:15 -07:00
ee90d7bd2c
merged ppc changes
2009-02-23 20:57:25 -07:00
2d09f57cbd
added instructions
2009-02-23 19:16:42 -07:00
da8520754d
progress towards compiling and running simple methods on powerpc
2009-02-23 19:11:32 -07:00
79a1d0451f
fix GCC 4.2 -Os uninitialized variable warning in windows.cpp
2009-02-22 17:44:11 -07:00
8add9db0b2
fix GCC 4.x aliasing warnings in windows.cpp
2009-02-22 17:04:58 -07:00
8c1c861a58
search ../win32/include before $JAVA_HOME/include for windows builds, since we don't want to accidentally use the jni_md.h for the host system
2009-02-22 17:04:14 -07:00
9a9b2c611a
sketch of new powerpc.cpp implementation
2009-02-21 12:30:25 -07:00