Commit Graph

25 Commits

Author SHA1 Message Date
Joel Dice
665c4448bd fix PowerPC floating point argument and return value marshalling 2012-08-13 11:16:30 -06:00
Joel Dice
0addd8c814 update copyright years 2012-05-11 17:43:27 -06:00
Joel Dice
51c8d7511a fix OS X PowerPC parameter passing
We were not always placing parameters in the correct stack positions
in the PowerPC implementations of dynamicCall and vmNativeCall.  In
particular, the first stack slot used to hold a parameter depends on
the sizes and types of the preceding parameters which are passed in
registers.
2011-03-15 17:20:44 -06:00
Joel Dice
9e1ee7e974 enable Linux PowerPC build 2011-02-26 12:45:22 -07:00
Joel Dice
00307b9b30 fix Mac OS MySystem::visit and MySystem::Thread::interrupt implementations
On Mac OS, signals sent using pthread_kill are never delivered if the
target thread is blocked (e.g. acquiring a lock or waiting on a
condition), so we can't rely on it and must use the Mach-specific
thread execution API instead to implement Thread.getStackTrace.

For Thread.interrupt, we must not only use pthread_kill but also
pthread_cond_signal to ensure the thread is woken up.
2011-02-19 14:20:02 -07:00
Joel Dice
a63909b818 update VA_LIST definition for various platforms
Apparently, 64-bit Linux and OS X are the only ones where we must
define VA_LIST(x) as (x) instead of (&x).
2011-02-07 16:28:17 -07:00
Joel Dice
1187613ad0 partial fix for PowerPC build 2011-01-29 20:04:29 -07:00
Joel Dice
a5742f5985 update copyright years 2010-12-05 20:21:09 -07:00
Joel Dice
8e23893af0 fix PowerPC builds on OS X 10.5+
The primary change is to ensure we output a Mach-O file of appropriate
endianness when cross-compiling for an opposite-endian architecture.
Earlier versions of XCode's linker accepted files of either
endianness, reguardless of architecture, but later versions don't,
hence the change.
2010-11-14 18:45:37 -07:00
Joel Dice
98275e175e powerpc bugfixes 2009-12-01 09:21:33 -07:00
Joel Dice
75934c8342 provide fast paths for common thread state transitions
These paths reduce contention among threads by using atomic operations
and memory barriers instead of mutexes where possible.  This is
especially important for JNI calls, since each such call involves two
state transitions: from "active" to "idle" and back.
2009-11-28 15:01:54 -07:00
Joel Dice
2276eece0e support atomicCompareAndSwap on powerpc for GCC versions prior to 4.1 2009-11-20 15:14:27 -07:00
Joel Dice
b83314e884 fix powerpc build 2009-11-20 10:42:02 -07:00
Joel Dice
15eada93ed implement atomicCompareAndSwap on x86_32 for GCC versions prior to 4.1 and for MSVC 2009-11-20 10:40:01 -07:00
Joel Dice
d1018bf078 update copyright years 2009-03-15 12:02:36 -06:00
Joel Dice
89a2739165 sync instruction cache after compiling a method 2009-03-09 08:26:23 -06:00
Joel Dice
376941ab35 fix single-precision float marshalling in dynamicCall 2009-03-07 14:32:08 -07:00
Joel Dice
2ca8132d97 implement support for volatile fields 2009-03-02 20:18:15 -07:00
Joel Dice
8c9d625f8f add memory barriers where appropriate in compile.cpp 2009-03-02 18:40:06 -07:00
Joel Dice
773e229112 fix powerpc native call bugs 2009-02-15 14:24:20 -07:00
dicej
04724b657d hello, world! 2008-06-15 14:17:52 -06:00
dicej
a9ae50900a define LinkageArea in powerpc.h and add the latter to makefile 2008-06-15 12:48:53 -06:00
dicej
b1750c0c9a fix powerpc.S syntax errors 2008-06-15 12:28:48 -06:00
Joel Dice
4b67adaa0a sketch vmNativeCall implementation for powerpc 2008-06-08 13:47:37 -06:00
dicej
0ccf8d57ea rough sketch of powerpc support 2008-06-04 16:21:27 -06:00