Commit Graph

1459 Commits

Author SHA1 Message Date
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
JET
e86acf4543 added separator to String and added IOException to vm.pro 2009-01-02 13:25:05 -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
1dea1d4800 Merge branch 'master' of oss.readytalk.com:/var/local/git/avian 2008-12-18 20:23:21 -07:00
Joel Dice
bd89b8e00a check for null array in HashMapIterator::find 2008-12-18 20:23:08 -07:00
Joel Dice
84258604a5 Merge branch 'master' of oss.readytalk.com:/var/local/git/avian 2008-12-18 20:10:36 -07:00
Joel Dice
368c804bb7 bootimage-object should depend on binaryToMacho 2008-12-18 20:10:25 -07:00
Joel Dice
21df2e9153 update readme.txt to indicate new binaryToMacho arguments 2008-12-18 20:01:18 -07:00
Joel Dice
2622773eb4 support bootimage build on OS X 2008-12-18 19:52:03 -07:00
Joel Dice
e55b59905e Merge branch 'master' of oss.readytalk.com:/var/local/git/avian 2008-12-18 16:32:23 -07:00
Joel Dice
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
Joel Dice
7ce35b212f fix GCC 4.0.1 uninitialized value warning 2008-12-18 10:10:19 -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
c479bccdb4 support cross-platform bootimage build (as long as the build arch matches the target arch 2008-12-04 17:24:38 -07:00
Joel Dice
aa7b47eec4 fix merge confict fallout in heapdump.cpp 2008-12-04 14:35:25 -07:00
Joel Dice
7d68c9b0a5 Merge branch 'bootimage' of oss.readytalk.com:/var/local/git/avian
Conflicts:

	src/heapdump.cpp
2008-12-04 14:29:17 -07:00
Joel Dice
58a90f2b84 fix regressions for non-bootimage case 2008-12-03 19:09:57 -07:00
Rich Scott
db3434001f Use mingw32 'strip' when compiling for Windows.
This fixes the error when using /usr/bin/strip on
Ubuntu 8.10 when it believes the target file is of
an "ambiguous format".
2008-12-03 13:12:49 -07:00
Joel Dice
93d4fbc43d fix platform=windows and process=interpret builds 2008-12-03 08:44:07 -07:00
Joel Dice
457c3d135e return Tenured from MyHeap::status if the object resides in the immortal heap 2008-12-02 19:41:22 -07:00
Joel Dice
4098368cb9 fix non-debug build of compile.cpp 2008-12-02 19:39:56 -07:00
Joel Dice
851efc8d10 handle case of unresolved promise in compareCR and compareCM 2008-12-02 19:39:09 -07:00
Joel Dice
bcfdc03631 fix build breakage in heapdump.cpp 2008-12-02 19:38:32 -07:00
Joel Dice
4ec853d1bc include heapwalk.o in libavian.a if bootimage=true 2008-12-02 19:37:16 -07:00
Joel Dice
d4363d250a mark and fix up absolute addresses in boot image code 2008-12-02 09:45:20 -07:00
Joel Dice
25ade1484a lots of bugfixes and refactoring 2008-12-01 19:38:00 -07:00
Joel Dice
4a1dd3a8f7 specify writable and executable section for boot image 2008-12-01 19:35:52 -07:00
Rich Scott
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
Joel Dice
eaf30eb909 fix static class initialization when using a boot image 2008-11-29 21:58:09 -07:00
Joel Dice
e44f326377 various bugfixes 2008-11-29 18:39:42 -07:00
Joel Dice
0ec5ad3701 update makefile to optionally build and use a boot image; various bugfixes 2008-11-29 16:08:14 -07:00
Joel Dice
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
Joel Dice
702525fd32 support immortal heap area in heap.cpp 2008-11-28 19:31:06 -07:00