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
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