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