Commit Graph

37 Commits

Author SHA1 Message Date
Joel Dice
1d58541c87 generate full memory dump on unhandled exception in windows.cpp 2009-06-11 13:41:13 -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
661b49ea92 Merge branch 'master' into powerpc 2009-03-07 16:41:17 -07:00
Joel Dice
79a1d0451f fix GCC 4.2 -Os uninitialized variable warning in windows.cpp 2009-02-22 17:44:11 -07:00
Joel Dice
8add9db0b2 fix GCC 4.x aliasing warnings in windows.cpp 2009-02-22 17:04:58 -07:00
Joel Dice
17b4c20435 fix windows build 2009-02-16 19:48:29 -07:00
Joel Dice
93d4fbc43d fix platform=windows and process=interpret builds 2008-12-03 08:44:07 -07:00
Joel Dice
88a1faa2a2 set global system pointer to null in MySystem::dispose in windows.cpp 2008-10-28 12:15:27 -06: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
Joel Dice
bd8d1c05d0 commit and reserve pages when calling VirtualAlloc on Windows 2008-04-13 12:25:24 -06:00
Joel Dice
0d3e6b7793 simplify memory allocation interfaces 2008-04-13 12:15:04 -06:00
Joel Dice
aa9cb5c086 fix windows build 2008-04-11 17:01:17 -06:00
Joel Dice
2d6eebf4d1 more progress on general stack tracing 2008-04-09 13:08:13 -06:00
Joel Dice
357bd29460 support building Avian as a self-contained dynamic library 2008-03-30 21:43:43 -06: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
Joel Dice
941ca81e79 fix build breakage in windows.cpp 2008-01-25 17:48:03 -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
Joel Dice
0298865efa refactor memory allocation to allow better detection and handling of low-memory conditions 2008-01-13 15:05:08 -07:00
Eric Scharff
4bce07ea12 Adapt windows code to new memory management system (keep track of length
at time of memory free)
2008-01-10 10:31:13 -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
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
Joel Dice
100fc304ad sketch of windows access violation handling; posix segv handling bugfixes 2007-12-31 16:21:57 -07:00
Joel Dice
edf415102a assert heap count is empty in System::dispose() 2007-12-07 08:30:30 -07:00
Joel Dice
5b6a63cbca avoid uninitialized value warnings 2007-11-27 16:04:15 -07:00
Joel Dice
5fa7b074b4 various threading bugfixes 2007-11-27 15:23:00 -07:00
Joel Dice
f2f453cf75 more system-specific tweaks for windows port (cont.) 2007-10-24 10:27:59 -06:00
Joel Dice
394d80a07a fix use of uninitialized values in JarElement; use system-specific path separator in finder 2007-10-24 09:46:09 -06:00
Joel Dice
c3300948bf fix a few threading bugs in windows port 2007-10-23 16:21:28 -06:00
Joel Dice
eb4cea6291 more work on the windows port; we now have some tests passing 2007-10-23 14:05:59 -06:00
Joel Dice
1381267e70 mork work on the windows port 2007-10-23 11:22:48 -06:00
Joel Dice
58dec050c8 sketch of windows port 2007-10-22 19:00:57 -06:00
Joel Dice
ac4b28ffe6 refactor build system to support cross-compiling 2007-10-22 14:56:27 -06:00