7f4bd51464
don't use trySteal when moving sites between buddies
2008-12-13 13:54:26 -07:00
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
d50febe088
various control-flow related bugfixes
2008-12-11 18:09:36 -07:00
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
aa7b47eec4
fix merge confict fallout in heapdump.cpp
2008-12-04 14:35:25 -07:00
7d68c9b0a5
Merge branch 'bootimage' of oss.readytalk.com:/var/local/git/avian
...
Conflicts:
src/heapdump.cpp
2008-12-04 14:29:17 -07:00
58a90f2b84
fix regressions for non-bootimage case
2008-12-03 19:09:57 -07:00
93d4fbc43d
fix platform=windows and process=interpret builds
2008-12-03 08:44:07 -07:00
457c3d135e
return Tenured from MyHeap::status if the object resides in the immortal heap
2008-12-02 19:41:22 -07:00
4098368cb9
fix non-debug build of compile.cpp
2008-12-02 19:39:56 -07:00
851efc8d10
handle case of unresolved promise in compareCR and compareCM
2008-12-02 19:39:09 -07:00
bcfdc03631
fix build breakage in heapdump.cpp
2008-12-02 19:38:32 -07:00
d4363d250a
mark and fix up absolute addresses in boot image code
2008-12-02 09:45:20 -07:00
25ade1484a
lots of bugfixes and refactoring
2008-12-01 19:38:00 -07:00
f13bf44e87
Check return value of fwrite() calls.
...
This is to satisfy GCC 4.3.2 (on Ubuntu 8.10), which requires it.
2008-12-01 16:53:34 -07:00
eaf30eb909
fix static class initialization when using a boot image
2008-11-29 21:58:09 -07:00
e44f326377
various bugfixes
2008-11-29 18:39:42 -07:00
0ec5ad3701
update makefile to optionally build and use a boot image; various bugfixes
2008-11-29 16:08:14 -07:00
0ef2ee1d02
refactor Segment::Map to support map data which is not allocated as part of the segment data
2008-11-29 13:37:03 -07:00
702525fd32
support immortal heap area in heap.cpp
2008-11-28 19:31:06 -07:00
b8056d905c
fix bugs in allocating and populating method object pools
2008-11-28 18:23:01 -07:00
80815d35f7
fix fixed object tracking in heap.cpp
2008-11-28 18:22:09 -07:00
4d1af63ed2
initial work on booting from boot image
2008-11-28 15:02:45 -07:00
d22a9ab270
visit constants in visitRoots so they are included in the final heap image
2008-11-28 11:33:11 -07:00
02afbd1fa1
handle unresolved constants in moveCM
2008-11-27 21:58:32 -07:00
6dc181fad5
move allocation zone from makeCodeImage to writeBootImage so it stays in scope until after updateConstants is called
2008-11-27 21:58:04 -07:00
a8a030140c
various bugfixes
2008-11-27 21:44:04 -07:00
f698c24ea6
delay resolving method call offsets until all methods have been compiled when creating a boot image
2008-11-27 13:59:40 -07:00
264779ed2a
copy site if necessary to avoid chaining to another site in resolveJunctionSite
2008-11-25 19:23:47 -07:00
f9145528c8
do constant-to-memory movq in one instruction on amd64 when possible
2008-11-25 19:22:21 -07:00
61ecb56e21
Merge branch 'master' of oss:/var/local/git/avian into powerpc
2008-11-25 16:19:21 -07:00
fdb9c05ac6
avoid uninitialized value warnings from valgrind when DebugFrameMaps is true
2008-11-25 16:01:30 -07:00
58a9718d82
clean stack sites more aggressively after function calls to avoid GC bugs
2008-11-25 16:00:40 -07:00
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
035aa0ecd4
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian into bootimage
...
Conflicts:
src/compile.cpp
src/machine.h
src/util.h
2008-11-23 17:02:34 -07:00
20cf42c5e4
more work on boot image creation
2008-11-23 16:58:01 -07:00
207f093464
never trigger a GC due to an immortal allocation
2008-11-23 11:48:39 -07:00
fb9b2bf173
avoid creating garbage when iterating over hashmaps
2008-11-22 16:38:41 -07:00
4392b04fd0
avoid creating unecessary garbage in treeInsertNode and friends
2008-11-22 16:25:35 -07:00
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
8a7852172e
increase heap pool size and fixed footprint threshold constants based on performance profiling and experimentation
2008-11-22 14:47:18 -07:00
2e2925c321
fix backwards logic in treeMapInsert which prevented correct balancing
2008-11-22 14:14:52 -07:00
6500f1eff6
initial work to support boot image creation and use
2008-11-21 16:20:35 -07:00
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
3d9e508e3e
fix regression in last commit
2008-11-17 08:44:35 -07:00
9aee242408
Merge branch 'powerpc' of oss:/var/local/git/avian into powerpc
...
Conflicts:
src/compiler.cpp
2008-11-17 08:22:07 -07:00
7ea5a4a64f
avoid inifinite recursion in trySteal
2008-11-17 08:20:48 -07:00
92a8a4d83b
clean up subroutine code in wake of merge from master branch
2008-11-15 18:03:43 -07:00
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
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