Commit Graph

60 Commits

Author SHA1 Message Date
jet
d901653979 Merge branch 'master' into wip
Conflicts:

	src/compile.cpp
2009-10-29 14:23:20 -06:00
jet
e00fc5d91a ARM port work 2009-10-29 10:12:30 -06:00
Joel Dice
e06f0407cb fix powerpc bootimage build (second try) 2009-10-20 09:06:52 -06:00
Joel Dice
984f3106fd fix powerpc build 2009-10-19 10:31:34 -06:00
Joel Dice
963bfb3e3f avoid array bounds warnings from GCC 4.3
These warnings are due to GCC being smart enough to do interprocedural
constant propagation but not smart enough to avoid false positives in
all cases when looking for array bounds errors.
2009-10-17 18:09:54 -06:00
Joel Dice
7b0378c180 support darwin/x86_64 2009-10-14 10:01:37 -06:00
Joel Dice
1a0eef7e2d add support for building with MSVC on Windows 2009-08-26 18:26:44 -06:00
Joel Dice
0eba1eeaf2 leave thread in JoinedState instead of ZombieState in DetachCurrentThread 2009-08-18 15:29:25 -06:00
Joel Dice
c4edabdc02 implement ClassLoader.resolveClass and ensure class is linked in e.g. Class.getMethods; minor bugfixes 2009-08-18 14:26:28 -06:00
Joel Dice
f869e5be21 Merge branch 'master' into gnu
Conflicts:

	classpath/java/util/TreeSet.java
2009-07-25 18:38:57 -06:00
Joel Dice
08e9a99cb5 don't abort if pthread_kill fails in MySystem::visit 2009-07-24 19:03:33 -06:00
Joel Dice
cc3289d88a call pthread_kill unconditionally in Thread::interrupt() to ensure system calls such as epoll_wait are interrupted 2009-07-23 16:17:52 -06:00
Joel Dice
eb3bd25aa1 code cleanup and build fixes 2009-05-04 19:04:17 -06:00
Joel Dice
35d1c6e068 add SingleRead::successor; fix build errors
The SingleRead::successor field is used (when non-null) to further
constrain the SiteMask in SingleRead::intersect based on reads of
successor values (as in the cases of moves and condensed-addressing
combine and translate instructions).
2009-04-06 18:34:12 -06:00
Joel Dice
fea92ed995 more work on tail recursion
We now create a unique thunk for each vtable position so as to avoid
relying on using the return address to determine what method is to be
compiled and invoked, since we will not have the correct return address
in the case of a tail call.  This required refactoring how executable
memory is allocated in order to keep AOT compilation working.  Also, we
must always use the same register to hold the class pointer when
compiling virtual calls, and ensure that the pointer stays there until
the call instruction is executed so we know where to find it in the
thunk.
2009-04-05 15:42:10 -06:00
Joel Dice
d1018bf078 update copyright years 2009-03-15 12:02:36 -06:00
Joel Dice
0aaee96479 allocate executable memory area all at once to ensure it is contiguous, since immediate relative jumps on PowerPC can only cross 2^26 bytes of memory 2009-03-07 12:03:27 -07:00
Joel Dice
8c9d625f8f add memory barriers where appropriate in compile.cpp 2009-03-02 18:40:06 -07:00
Joel Dice
a1ec71423e Merge branch 'master' into powerpc
Conflicts:

	makefile
	src/assembler.h
	src/binaryToMacho.cpp
	src/compile.cpp
	src/compiler.cpp
	src/x86.cpp
2009-02-09 16:22:01 -07:00
Joel Dice
6500f1eff6 initial work to support boot image creation and use 2008-11-21 16:20:35 -07:00
Joel Dice
c80eb51c17 Merge branch 'master' into powerpc
Conflicts:

	makefile
	src/assembler.h
	src/compile.cpp
	src/compiler.cpp
	src/compiler.h
	src/finder.cpp
2008-11-11 08:21:48 -07:00
Joel Dice
4d613f404f use dbghelp.dll to generate crash dump file on Windows XP and later
The dump is written to the directory specified via the avian.crash.dir
system property if that property is set and is not written otherwise.
2008-10-27 15:13:27 -06:00
dain
c9e0aa824d Initialized variables to appease gcc 4.2 2008-10-02 13:20:30 -06:00
Joel Dice
9908bbcf50 sketch new version of x86.cpp to conform to new assembler.h APIs 2008-08-19 17:38:37 -06:00
dicej
0ccf8d57ea rough sketch of powerpc support 2008-06-04 16:21:27 -06:00
Joel Dice
ecfb853f17 use relative branches where possible on amd64 2008-06-02 07:49:09 -06:00
Joel Dice
df5258d1d8 various bugfixes concerning Thread.getStackTrace 2008-04-21 16:36:13 -06:00
Joel Dice
0d3e6b7793 simplify memory allocation interfaces 2008-04-13 12:15:04 -06:00
Joel Dice
2d6eebf4d1 more progress on general stack tracing 2008-04-09 13:08:13 -06:00
Joel Dice
9bcc4dd4ed fix build for OSX 10.4 and below 2008-03-31 11:58:40 -06:00
Joel Dice
357bd29460 support building Avian as a self-contained dynamic library 2008-03-30 21:43:43 -06:00
Eric Scharff
1f48d39a8a Reset debugging flag 2008-02-20 10:14:42 -07:00
Eric Scharff
8f4cb3315a do not call dlclose on the main executable (to avoid crashes) 2008-02-20 09:41:30 -07:00
Joel Dice
2edaa82801 prepend copyright notice and license to all source files; add license.txt and readme.txt 2008-02-19 11:06:52 -07:00
Eric Scharff
2363d6e8eb Fix debug build for Mac OS X 2008-01-28 16:35:23 -07:00
Eric Scharff
e5f95ae89d Fix pesky compiler warning on unused variable in linux. 2008-01-28 16:22:16 -07:00
Eric Scharff
c1f3d28d24 Fixes dynamic symbol loading bug on Mac OS X.
On OS X, when you call dlopen() on a null library, and then call dlsym(),
the most recently loaded symbols are always used, no matter what flags
we seem to pass to dlopen().  The solution is to explicitly find the name
of the running executable, and open that as a library.
2008-01-28 16:17:22 -07:00
Joel Dice
e403a625d1 second try to fix library symbol lookup 2008-01-25 16:38:26 -07:00
Joel Dice
35ada0ea65 search libraries for symbols in the order they are loaded 2008-01-25 16:25:30 -07:00
Joel Dice
7a7c36f8e0 another attempt to whip Monitor::wait into shape 2008-01-16 15:17:28 -07:00
Joel Dice
bb85f5c94d fix wait/notify regression introduced in last commit 2008-01-16 14:58:27 -07:00
Joel Dice
6ba7852a62 tweak System::Monitor::wait to avoid notify deadlock 2008-01-16 13:46:39 -07:00
Eric Scharff
fbec4bec83 Use non-standard MAP_ANON for memory mapping 2008-01-14 10:58:11 -07:00
Dain
faa3052b28 set MAP_32BIT for 32bit machines 2008-01-14 09:33:54 -07:00
Joel Dice
0298865efa refactor memory allocation to allow better detection and handling of low-memory conditions 2008-01-13 15:05:08 -07:00
Joel Dice
8e5ce11047 refactor memory management code
We now support immortal objects, which the GC will scan for references
but not consider for collection.  On x86_64, we allocate JIT code memory
via mmap, which lets us map memory into the bottom 2GB of the address
space, ensuring that 32-bit relative jumps and calls work.
2008-01-09 18:20:36 -07:00
Eric Scharff
466c3bb06e Changes for signal contexts in Mac OS X 10.5 (Leopard) 2008-01-07 16:20:48 -07:00
Joel Dice
4378110506 avoid type aliasing warnings 2008-01-01 15:36:26 -07:00
Joel Dice
3a87011190 handle SIGBUS on OSX; this isn't working on OSX 10.4, but it might on 10.5 2008-01-01 11:19:55 -07:00
Joel Dice
bdd62011eb fix up access violation handling on windows; refactor posix segv handling to match API change needed for windows 2008-01-01 10:08:47 -07:00