Joel Dice
c56f37197c
marshal values at branches to avoid duplication of effort at junctions
2009-01-04 14:52:46 -07:00
Joel Dice
f4689093ee
try harder to find an acceptable source site in resolveSourceJunctionSites
2009-01-04 13:35:09 -07:00
Joel Dice
ce1e161f52
allocate larger buffer for sitesToString
2009-01-04 12:38:31 -07:00
Joel Dice
095e6d7bc3
prefer unowned resources in resourceCost
2009-01-04 12:34:38 -07:00
Joel Dice
d76b4121ae
fix 64-bit constant case in addCR and subtractCR
2009-01-04 12:32:11 -07:00
Joel Dice
ded2ffe437
more compile.cpp refactoring
2009-01-03 18:17:51 -07:00
Joel Dice
ae24a6c18e
continue refactoring compiler.cpp to simplify register and frame resource allocation
2009-01-03 14:34:45 -07:00
Joel Dice
7b546936d6
snapshot
2009-01-02 17:44:47 -07:00
Joel Dice
c678fb30a4
snapshot
2008-12-24 13:35:43 -07:00
Joel Dice
f96ee3ea73
handle p->value->reads == 0 case in visit
2008-12-22 18:25:00 -07:00
Joel Dice
897586aa76
clobber overlapping locals in storeLocal; move fallback code in trySteal to increase its applicability
2008-12-22 17:55:29 -07:00
Joel Dice
ac37941fa5
fix build error in previous commit
2008-12-21 18:14:24 -07:00
Joel Dice
c9bec0ce96
only steal sites recursively when all else fails in trySteal
2008-12-21 18:14:20 -07:00
Joel Dice
c78e76c747
temporarily reacquire source in releaseRegister
...
This avoids a SEGV when freezing the register.
2008-12-21 14:48:26 -07:00
Joel Dice
055ec4dd9f
various fixes and cleanups concerning 64-bit values on 32-bit systems
2008-12-21 14:41:56 -07:00
Joel Dice
b23f7374e9
don't steal sites in pickJunctionSite
2008-12-20 17:45:52 -07:00
Joel Dice
b9b7ae4003
avoid clobbering first operand in CombineEvent.compile
2008-12-20 16:05:01 -07:00
Joel Dice
cf4e8e7ec2
various fixes for marshalling values among registers and frame sites
2008-12-20 14:55:45 -07:00
Joel Dice
75b3bf98ab
pick only unfrozen frame sites in save
2008-12-20 11:13:58 -07:00
Joel Dice
a40ae85588
clear sites from dead value in removeBuddy
2008-12-15 18:21:01 -07:00
Joel Dice
8819d01522
only set Context::forfeitedSite if value is live
2008-12-15 17:42:32 -07:00
Joel Dice
39358e6652
update junction read based on liveness of local value on first visit to junction, not stub read value
2008-12-15 07:35:19 -07:00
Joel Dice
7f4bd51464
don't use trySteal when moving sites between buddies
2008-12-13 13:54:26 -07:00
Joel Dice
4717e94fa3
remove value buddies after setting sites to junction sites, not after populating junction sites
...
This mirrors how snapshots are captured and restored for branch events.
Also, switch back to resolving junction sites before capturing fork
snapshots so we capture the true state of each value immediately before
the branch.
2008-12-13 12:59:02 -07:00
Joel Dice
d50febe088
various control-flow related bugfixes
2008-12-11 18:09:36 -07:00
Joel Dice
8b2a6f85fc
remove divideCR and remainderCR
...
This forces the compiler to explicitly move the constant operand into
a register, avoiding the possibility that AX or DX might be unavailable
when the assembler needs them.
2008-12-11 18:08:16 -07:00
Joel Dice
264779ed2a
copy site if necessary to avoid chaining to another site in resolveJunctionSite
2008-11-25 19:23:47 -07:00
Joel Dice
f9145528c8
do constant-to-memory movq in one instruction on amd64 when possible
2008-11-25 19:22:21 -07:00
Joel Dice
61ecb56e21
Merge branch 'master' of oss:/var/local/git/avian into powerpc
2008-11-25 16:19:21 -07:00
Joel Dice
fdb9c05ac6
avoid uninitialized value warnings from valgrind when DebugFrameMaps is true
2008-11-25 16:01:30 -07:00
Joel Dice
58a9718d82
clean stack sites more aggressively after function calls to avoid GC bugs
2008-11-25 16:00:40 -07:00
Joel Dice
eea2225176
save locals to memory before executing any instruction which might trigger an exception if that instruction lies within an exception handler
2008-11-25 10:34:48 -07:00
Joel Dice
a3c8a0460d
silence GCC 4.3.2 warning in Java_java_lang_Runtime_exec
2008-11-24 17:03:00 -07:00
Joel Dice
207f093464
never trigger a GC due to an immortal allocation
2008-11-23 11:48:39 -07:00
Joel Dice
fb9b2bf173
avoid creating garbage when iterating over hashmaps
2008-11-22 16:38:41 -07:00
Joel Dice
4392b04fd0
avoid creating unecessary garbage in treeInsertNode and friends
2008-11-22 16:25:35 -07:00
Joel Dice
fccf906349
add minimal java.net.Socket implementation to support Socket.setTcpNoDelay
2008-11-22 15:32:53 -07:00
Joel Dice
6162dfafbb
increase heap pool size and fixed footprint threshold constants based on performance profiling and experimentation (second try)
2008-11-22 14:48:10 -07:00
Joel Dice
8a7852172e
increase heap pool size and fixed footprint threshold constants based on performance profiling and experimentation
2008-11-22 14:47:18 -07:00
Joel Dice
2e2925c321
fix backwards logic in treeMapInsert which prevented correct balancing
2008-11-22 14:14:52 -07:00
Joel Dice
15ea90cd0c
specify -fno-omit-frame-pointer to ease debugging and profiling
2008-11-19 18:10:29 -07:00
Joel Dice
e98da8440e
minor tweak to find function in heapdump.cpp to return 0 where we were returning false (which amounts to the same thing but is less confusing)
2008-11-19 18:09:02 -07:00
Joel Dice
3d9e508e3e
fix regression in last commit
2008-11-17 08:44:35 -07:00
Joel Dice
9aee242408
Merge branch 'powerpc' of oss:/var/local/git/avian into powerpc
...
Conflicts:
src/compiler.cpp
2008-11-17 08:22:07 -07:00
Joel Dice
14e509dfd2
add additional jsr test to Subroutine
2008-11-17 08:21:20 -07:00
Joel Dice
7ea5a4a64f
avoid inifinite recursion in trySteal
2008-11-17 08:20:48 -07:00
Joel Dice
92a8a4d83b
clean up subroutine code in wake of merge from master branch
2008-11-15 18:03:43 -07:00
Joel Dice
9b6d4fdeab
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian into powerpc
...
Conflicts:
src/compile.cpp
2008-11-15 17:49:08 -07:00
Joel Dice
dc2700d913
ensure that the saved exception in a finally block is visited during GC when the jsr instruction is used
2008-11-15 17:28:45 -07:00
Joel Dice
fb770d10fb
implement jsr/ret support
...
The Subroutine test won't pass due to a bug in the stack mapping code
such that objects may be missed during GC.
2008-11-13 17:59:21 -07:00