Commit Graph

1324 Commits

Author SHA1 Message Date
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