1996 Commits

Author SHA1 Message Date
Joel Dice
3686d2131d fix jsr/ret code generation bug
We were generating code to marshal values into place prior to a jump,
but placing it after the jump instruction, which made it useless.
2010-01-04 17:17:16 -07:00
Joel Dice
20f92bbd05 specify java.home system property in GNU Classpath build
Currently, we just set this to /tmp (or the equivalent) since Avian
doesn't really have a home.  This avoids a NullPointerException from
javax/xml/parsers/SAXParserFactory.
2010-01-04 17:14:00 -07:00
jet
8c8020811a Merge branch 'wip' of oss.readytalk.com:/var/local/git/avian into wip 2009-12-28 11:14:26 -07:00
Joel Dice
664cb3cd39 don't try to parse annotation tables more than once; use defining classloader when loading array classes during linking 2009-12-24 17:58:48 -07:00
Joel Dice
805d1d13d8 mark system classloader initialized when using GNU Classpath to avoid security exceptions; only look for field in interfaces after looking in class and superclasses 2009-12-24 17:57:07 -07:00
Joel Dice
40c65f66bf add (commented-out) debug logging to gnu.cpp 2009-12-24 17:54:02 -07:00
Joel Dice
7b2322e7f7 accept any source site in resolveTargetSites, whether it matches the next read or not 2009-12-24 17:47:58 -07:00
jet
77990b9489 Merge branch 'wip' of oss.readytalk.com:/var/local/git/avian into wip 2009-12-23 09:26:17 -07:00
Joel Dice
f588a62ae3 fix Classpath 0.98 compatibility issues 2009-12-22 21:34:04 -07:00
Joel Dice
30db38ebd6 replace calls to ExceptionOccurred with calls to ExceptionCheck
The latter is cheaper (avoids a state transition and possible memory
allocation) when we just want to know if an exception is thrown
without needing a handle to that exception.
2009-12-16 19:25:03 -07:00
Joel Dice
4c0ede8b9a reuse JNI references when possible
Before allocating a new reference in NewGlobalReference or when
creating a local reference, we look for a previously-allocated
reference pointing to the same object.  This is a linear search, but
usually the number of elements in the reference list is small, whereas
the memory, locking, and allocation overhead of creating duplicate
references can be large.
2009-12-16 19:16:51 -07:00
Joel Dice
7cf25a0fc3 fix process=interpret build 2009-12-14 18:01:28 -07:00
Joel Dice
d5f5c2351b use _ReadWriteBarrier intrinsic for MSVC build 2009-12-12 18:50:59 -07:00
Joel Dice
2b4361c060 fix GNU Classpath build 2009-12-05 19:40:46 -07:00
Joel Dice
b6ac05ba9d remove unecessary code from resolveSourceSites and resolveTargetSites 2009-12-05 15:49:53 -07:00
jent
4cf9e16897 Merge branch 'master' of oss.readytalk.com:/var/local/git/avian 2009-12-04 12:02:06 -07:00
jent
99a1c12682 Files to add Deflater and DeflaterOutputStream to java.util.zip for
avian
2009-12-04 12:01:31 -07:00
Joel Dice
0e4fabffb7 fix incorrect parameter to maybeRex call in sseMoveRR 2009-12-03 17:57:28 -07:00
Joel Dice
60333c88f5 fix continuations=true build for Windows x86_64 2009-12-03 12:46:29 -07:00
Joel Dice
7cdf63c045 fix continuations=true build for Darwin 2009-12-02 23:15:27 -07:00
Joel Dice
f0e66eea37 remove extra semicolon 2009-12-02 23:09:05 -07:00
Joel Dice
7a3bf85caf fix bootimage=true build for Windows 2009-12-02 20:08:07 -07:00
Joel Dice
b218117881 fix continuations=true build for Cygwin 2009-12-02 19:37:22 -07:00
Joel Dice
8b11f0c271 fix continuations=true build for Windows 2009-12-02 19:29:57 -07:00
Joel Dice
6118792ffd update copyright years 2009-12-02 19:08:29 -07:00
jet
e516f3ce1c Merge branch 'wip' of oss.readytalk.com:/var/local/git/avian into wip 2009-12-02 13:45:21 -07:00
Joel Dice
3777c9b429 fix MSVC build 2009-12-02 08:49:10 -07:00
Joel Dice
5a0e00ca39 GC safety bugfix 2009-12-01 22:41:12 -07:00
Joel Dice
80d3a286d1 check bootThunkTable as well as thunkTable in MyProcessor::getStackTrace
We need to check to see if we caught the thread somewhere in the thunk
code (i.e. about to call a helper function), in which case the stack
and base pointers are valid and may be used to create an accurate
trace.
2009-12-01 18:17:33 -07:00
Joel Dice
168e206812 fix GCC 3.4 build 2009-12-01 17:33:30 -07:00
Joel Dice
f216fe37ff fix regression which led to register exhaustion 2009-12-01 11:14:57 -07:00
Joel Dice
98275e175e powerpc bugfixes 2009-12-01 09:21:33 -07:00
Joel Dice
9ba71cf508 fix Darwin build 2009-12-01 08:23:11 -07:00
Joel Dice
0bdf1d8e82 use thunks for floating point ops if SSE is not available 2009-11-30 22:02:26 -07:00
Joel Dice
175cb8e89b more floating point bugfixes 2009-12-01 02:06:01 +00:00
Joel Dice
7fa10909f4 more bugfixes for handling 64-bit floats on 32-bit systems 2009-11-30 22:08:59 +00:00
jet
69c9bf5ff9 Merge branch 'wip' of oss.readytalk.com:/var/local/git/avian into wip 2009-11-30 14:00:51 -07:00
Joel Dice
851187f0ce refine memory barrier implementation and usage 2009-11-30 15:38:16 +00:00
Joel Dice
04454960ec various bugfixes for handling 64-bit floating point values on 32-bit systems 2009-11-30 15:10:34 +00:00
Joel Dice
d9de4c607c allow source operand of any type for move operations 2009-11-30 15:09:43 +00:00
Joel Dice
ec701b9994 whitespace tweaks 2009-11-30 15:08:45 +00:00
Joel Dice
79d281f7fa encourage loads from memory directly into SSE registers where appropriate 2009-11-30 02:17:08 +00:00
Joel Dice
1c61c1f421 fix x86 memoryBarrier implementation 2009-11-29 16:53:46 -07:00
Joel Dice
0b09c6aa30 avoid busy wait when entering "exclusive" state 2009-11-29 16:53:05 -07:00
Joel Dice
6d9e1270ca fix race conditions in atomic operations 2009-11-29 09:08:07 -07:00
Joel Dice
1558b85acf second attempt to fix "idle to active" fast path
If another thread succeeds in entering the "exclusive" state while we
use the fast path to transition the current thread to "active", we
must switch back to "idle" temporarily to allow the exclusive thread a
chance to continue, and then retry the transition to "active" via the
slow path.
2009-11-28 15:35:15 -07:00
Joel Dice
3418a8bcbe fix race condition introduced in previous commit 2009-11-28 15:24:02 -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
f5490b800a Merge branch 'master' of oss.readytalk.com:/var/local/git/avian 2009-11-28 11:18:13 -07:00
Joel Dice
c615db31fb refine move cost calculation to avoid indirect moves (e.g. memory to memory) 2009-11-28 18:17:17 +00:00