Joel Dice
3e08a2f875
Merge commit 'origin/powerpc' into powerpc
2009-03-09 18:53:39 -06:00
Joel Dice
6c271ac994
fix powerpc bootimage build
2009-03-09 18:52:09 -06:00
J. Treadwell
8150d4a3b6
added toHexString() to java.lang.Long
2009-03-09 14:54:31 -06:00
Joel Dice
c11203b401
pass srcSelectSize instead of srcSize to Architecture::plan in appendMove
2009-03-09 12:31:41 -06:00
Joel Dice
8ac6fb9d75
fix x86_64 build
2009-03-09 15:29:37 +00:00
Joel Dice
89a2739165
sync instruction cache after compiling a method
2009-03-09 08:26:23 -06:00
Joel Dice
4347228585
fix thinko in addC for zero constant case
2009-03-08 20:55:54 -06:00
Joel Dice
68ed5e6cb5
fix addC for case where bit 15 of constant is set
2009-03-08 20:09:06 -06:00
Joel Dice
8b0f7d790f
don't assume sizeof(bool) == 8
2009-03-07 18:23:28 -07:00
Joel Dice
e1395f300a
fix warnings for optimized build
2009-03-07 17:52:18 -07:00
Joel Dice
14c6deb710
do two passes in MyCompiler::initLocalsFromLogicalIp in order to properly link multiword values together
2009-03-07 17:39:55 -07:00
Joel Dice
661b49ea92
Merge branch 'master' into powerpc
2009-03-07 16:41:17 -07:00
Joel Dice
abe6ada0c2
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian
2009-03-07 16:40:56 -07:00
Joel Dice
ea4764c924
Merge branch 'master' into powerpc
2009-03-07 16:40:23 -07:00
Joel Dice
7add34944b
protect source site from being used as a temporary for move operations
2009-03-07 16:32:05 -07:00
Joel Dice
376941ab35
fix single-precision float marshalling in dynamicCall
2009-03-07 14:32:08 -07:00
Joel Dice
0aaee96479
allocate executable memory area all at once to ensure it is contiguous, since immediate relative jumps on PowerPC can only cross 2^26 bytes of memory
2009-03-07 12:03:27 -07:00
Joel Dice
fd7bef7db3
only accept sites conforming to specified SiteMask in getTarget
2009-03-06 17:37:54 -07:00
Joel Dice
9b9ae62541
defer to moveCR when adding or subtracting zero
2009-03-06 17:11:51 -07:00
Joel Dice
33ba8d084d
avoid unecessary subtraction in tableswitch
2009-03-06 17:11:14 -07:00
Joel Dice
b5f76d96dc
handle exception case in makeCodeImage
2009-03-06 17:10:31 -07:00
Joel Dice
e61d05f00b
undo temporary big endian offset correction before leaving maybeMove
2009-03-06 12:14:37 -07:00
Joel Dice
7388da6282
fix endianness issues when loading values smaller than BytesPerWord from the stack
2009-03-06 10:56:11 -07:00
Joel Dice
ca0d4b44c1
defer moveZCR to moveCR
2009-03-06 10:54:43 -07:00
Joel Dice
762df17aa7
use Architecture::plan in BranchEvent ctor to determine acceptable types for address
2009-03-05 20:27:59 -07:00
Joel Dice
a0e503ad0a
optimize moveRR and fix andC
2009-03-05 20:21:15 -07:00
Joel Dice
75e28e81c9
fix operand ordering in remainderR
2009-03-05 19:35:49 -07:00
Joel Dice
ec610a5521
handle shift counts greater than 31 properly
2009-03-05 19:05:39 -07:00
Joel Dice
16e81bcc07
fix orC
2009-03-05 18:33:00 -07:00
Joel Dice
7d48547f0e
fix compareUnsignedCR, which relied on sign extension in cmplwi, which actually does zero extension; fix use of li argument to instruction format I
2009-03-05 18:02:03 -07:00
Joel Dice
3e495b8ca5
use mulhwu and eliminate temporary in 64-bit multiplyRR
2009-03-04 19:50:03 -07:00
Joel Dice
77195713b8
fix xorR regression introduced in last commit
2009-03-04 19:22:47 -07:00
Joel Dice
cca3e72318
fix 64-bit xorC
2009-03-04 19:20:15 -07:00
Joel Dice
acfa1ee2ff
fix 64-bit negateRR
2009-03-04 18:59:04 -07:00
Joel Dice
d48e5377fe
add missing instruction to multiplyR
2009-03-04 18:43:53 -07:00
Joel Dice
a8da9ecb05
fix use of displacement parameter in instruction format B; use correct opcode in slw instruction
2009-03-04 18:20:54 -07:00
Joel Dice
296c93a04c
fix backwards logic in longCompare; correct unsupported use of JumpIfLessOrEqualC in shiftRightR; add multiply, divide, and remainder operations to table
2009-03-04 17:54:47 -07:00
Joel Dice
8cc1f6def8
remove dead code from MyCompiler::call
2009-03-04 17:52:55 -07:00
Joel Dice
ed9e54bca1
add a few more tests to Floats.java
2009-03-04 17:52:06 -07:00
JET
dbcd42e70c
added 64-bit shifts and mul/div
2009-03-04 10:11:42 -07:00
Joel Dice
1d04fed6de
implement Collections.shuffle
2009-03-04 08:18:18 -07:00
Joel Dice
6e6035505c
zero heap space ahead of time when allocating raw storage and garbage collecting, not when allocating individual objects
...
This helps us support the Java Memory Model without adding a memory
barrier to every object allocation. It's also potentially more
efficient, since we zero out each heap segment all at once instead of
bit-by-bit with each object allocation.
2009-03-03 20:05:48 -07:00
Joel Dice
8410e1d683
ensure reads and writes of volatile 64-bit fields are atomic
2009-03-03 18:02:11 -07:00
Joel Dice
2ca8132d97
implement support for volatile fields
2009-03-02 20:18:15 -07:00
Joel Dice
8c9d625f8f
add memory barriers where appropriate in compile.cpp
2009-03-02 18:40:06 -07:00
Joel Dice
8659c709b7
avoid passing null arguments to native methods in SocketChannel
2009-03-02 15:22:17 -07:00
Joel Dice
5f0b40e531
restore call to Client::releaseTemporary in moveCM
2009-03-01 23:07:28 +00:00
Joel Dice
6eacf7b804
fix bounds checks in MyCompiler::initLocalsFromLogicalIp
2009-03-01 22:47:07 +00:00
Joel Dice
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
Joel Dice
1192ef939e
fix stack offset calculation for multianewarray on x86
2009-03-01 15:39:52 -07:00