Commit Graph

1310 Commits

Author SHA1 Message Date
c78e76c747 temporarily reacquire source in releaseRegister
This avoids a SEGV when freezing the register.
2008-12-21 14:48:26 -07:00
055ec4dd9f various fixes and cleanups concerning 64-bit values on 32-bit systems 2008-12-21 14:41:56 -07:00
b23f7374e9 don't steal sites in pickJunctionSite 2008-12-20 17:45:52 -07:00
b9b7ae4003 avoid clobbering first operand in CombineEvent.compile 2008-12-20 16:05:01 -07:00
cf4e8e7ec2 various fixes for marshalling values among registers and frame sites 2008-12-20 14:55:45 -07:00
75b3bf98ab pick only unfrozen frame sites in save 2008-12-20 11:13:58 -07:00
bd89b8e00a check for null array in HashMapIterator::find 2008-12-18 20:23:08 -07:00
2622773eb4 support bootimage build on OS X 2008-12-18 19:52:03 -07:00
e55b59905e Merge branch 'master' of oss.readytalk.com:/var/local/git/avian 2008-12-18 16:32:23 -07:00
5e727c8c5d throw an error if a volatile field is encountered, since we don't yet support them properly 2008-12-18 16:32:18 -07:00
7ce35b212f fix GCC 4.0.1 uninitialized value warning 2008-12-18 10:10:19 -07:00
a40ae85588 clear sites from dead value in removeBuddy 2008-12-15 18:21:01 -07:00
8819d01522 only set Context::forfeitedSite if value is live 2008-12-15 17:42:32 -07:00
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
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