Joel Dice
0245a94ab8
generate code in ReturnEvent if and only if the event is preceded by at least one non-tail-call
2009-04-25 19:51:33 -06:00
Joel Dice
89221bfcfa
fix handling of virtual calls to native methods
2009-04-25 17:52:08 -06:00
Joel Dice
141862470b
fix stack pointer adjustment in invokeNative2; pad frame size using Architecture::frameFootprint in MyProcessor::invoke to conform to new calling convention
2009-04-25 17:33:42 -06:00
Joel Dice
5354e36530
fix unsafe stack pointer adjustment in vmInvoke
2009-04-25 17:31:24 -06:00
Joel Dice
1ed7c0d94c
adapt native method call code to new calling convention
2009-04-25 11:49:56 -06:00
Joel Dice
de84afe2fe
adjust stack if necessary after non-tail-call in case where callee pops arguments
2009-04-25 11:47:41 -06:00
Joel Dice
34167cf63c
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian
2009-04-23 13:35:21 -06:00
Eric Scharff
ed4c24c7f6
Removed temp files
2009-04-22 16:27:58 -06:00
mweaver
6b89ecd0ee
Like a noob, I missed some things... broke the compilation.
2009-04-22 15:24:26 -06:00
Joel Dice
0070446740
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian
2009-04-22 13:01:29 -06:00
mweaver
f68f1e5888
should be fixed
2009-04-22 11:43:22 -06:00
mweaver
d6fb1e0c7c
Adding changes to fix Map/Collections
...
Merge branch 'master' of ssh://oss.readytalk.com/var/local/git/avian
Conflicts:
classpath/java/util/HashMap.java
classpath/java/util/Map.java
2009-04-22 11:34:32 -06:00
mweaver
34da6da3db
brought in line with Sun's SDK, should no longer break on values call
2009-04-22 10:04:38 -06:00
mweaver
c5dd57f74c
Brought more in line with Sun's SDK
2009-04-22 10:04:23 -06:00
mweaver
9023899c81
Brought interface in line with Sun
2009-04-22 10:03:53 -06:00
Joel Dice
3113ae74eb
various bugfixes
2009-04-22 01:39:25 +00:00
Joel Dice
717f359666
implement "callee pops arguments" calling convention and refactor tail call code accordingly
2009-04-19 16:36:11 -06:00
Joel Dice
3165920fb5
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian
2009-04-17 09:50:43 -06:00
Eric Scharff
af784f4cbc
"Fix" Map.containsKey() and Map.containsValue()
...
java.util.Map.containsKey() and java.util.Map.containsValue() take
Object parameters, not K and V. Changed to improve classpath
compatibility.
2009-04-17 08:57:49 -06:00
Joel Dice
296512de70
fix misleading statement in readme.txt
2009-04-14 09:02:13 -06:00
Joel Dice
d11195165f
add tarball target to makefile
2009-04-11 11:54:43 -06:00
Joel Dice
dba72409aa
move use of SingleRead::successor; fix build errors
...
We now use SingleRead::successor in pickTarget, where we use it to
determine the prefered target site for the successor without requiring
the target to conform to that preference. The previous code made the
preference a hard requirement, which is not desirable or even possible
in general.
2009-04-07 18:55:43 -06:00
Joel Dice
35d1c6e068
add SingleRead::successor; fix build errors
...
The SingleRead::successor field is used (when non-null) to further
constrain the SiteMask in SingleRead::intersect based on reads of
successor values (as in the cases of moves and condensed-addressing
combine and translate instructions).
2009-04-06 18:34:12 -06:00
Joel Dice
fea92ed995
more work on tail recursion
...
We now create a unique thunk for each vtable position so as to avoid
relying on using the return address to determine what method is to be
compiled and invoked, since we will not have the correct return address
in the case of a tail call. This required refactoring how executable
memory is allocated in order to keep AOT compilation working. Also, we
must always use the same register to hold the class pointer when
compiling virtual calls, and ensure that the pointer stays there until
the call instruction is executed so we know where to find it in the
thunk.
2009-04-05 15:42:10 -06:00
Joel Dice
5e740170f2
initial sketch of tail call optimization (non-virtual calls only, so far)
2009-03-31 14:15:08 -06:00
Joel Dice
b871f430d0
avoid reading below the stack pointer in vmInvoke, since it upsets valgrind
2009-03-19 08:44:08 -06:00
Joel Dice
538e23c642
fix order-of-operations bugs in compile.cpp which led to creation of incorrect stack maps
2009-03-18 16:24:13 -06:00
Joel Dice
c9400316fd
try harder to find a suitable stack frame site in pickTarget when there are no free registers left
2009-03-16 20:03:59 -06:00
Joel Dice
7433abd402
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian
2009-03-16 18:00:58 -06:00
Joel Dice
f5c79355f2
set StealRegisterReserveCount to 2 to avoid running out of registers in when shuffling values around on the stack
2009-03-16 18:00:51 -06:00
Joel Dice
fc6c11fadb
fix cut-and-paste artifacts in readme.txt
2009-03-15 17:34:48 -06:00
Joel Dice
482055b7d4
refine estimate of bootimage overhead in readme.txt
2009-03-15 17:29:45 -06:00
Joel Dice
6fef9f2464
whitespace tweaks in readme.txt
2009-03-15 16:19:48 -06:00
Joel Dice
90cbfc12cb
update readme.txt to document powerpc support and bootimage builds
2009-03-15 13:49:13 -06:00
Joel Dice
7311fdab02
fix bootimage build
2009-03-15 13:47:07 -06:00
Joel Dice
d1018bf078
update copyright years
2009-03-15 12:02:36 -06:00
Joel Dice
c485613e26
update version to 0.2 in makefile
2009-03-15 12:01:56 -06:00
Joel Dice
0ce644cca2
put new thread into active state in AttachCurrentThread
2009-03-14 18:07:38 -06:00
Joel Dice
073b829c79
avoid running out of eligable source registers for writing a single byte to memory on x86
2009-03-14 16:47:26 -06:00
Joel Dice
9abc25e134
refine build directory naming system to avoid needing to 'make clean' upon changing build parameters
2009-03-14 15:16:05 -06:00
Joel Dice
12640219e6
handle b == dst case in andC
2009-03-14 14:34:44 -06:00
Joel Dice
8d9409112c
reuse source site as destination site if appropriate in getTarget
2009-03-14 14:17:32 -06:00
Joel Dice
54b691f4de
handle b == t case in multiplyR and remainderR
2009-03-14 14:14:49 -06:00
Joel Dice
ee2d105f6c
freeze move operand sites prior to calling the assembler so the assembler won't steal them
2009-03-13 20:55:41 -06:00
J. Treadwell
21fa23d84b
fixed multiplyC bug (all multiplies now delegated to multiplyR)
2009-03-13 18:37:40 -06:00
Joel Dice
ef12477670
more work on Integers.java
2009-03-13 18:36:11 -06:00
Joel Dice
1f35e5efb4
fix cut-and-paste foolishness in Integers.java
2009-03-13 18:29:11 -06:00
Joel Dice
eb45ec7611
add some tests to Integers.java
2009-03-13 18:22:34 -06:00
Joel Dice
4c27755a53
fix endianness issue storing and loading longs
2009-03-11 21:07:30 -06:00
Joel Dice
49cd2dd9bf
fix powerpc bootimage build (second try)
2009-03-10 19:08:16 -06:00