Joshua Warner
290d7a9fc0
Merge pull request #154 from dicej/getModifiers-crash
...
fix Method.getModifiers crash due to bootimage miscompile
2014-01-10 09:15:42 -08:00
Joel Dice
c3638b7d10
Merge pull request #156 from jentfoo/concurrency_classpath_extension
...
Adding more java.util.concurrent interfaces that were missed previously.
2014-01-10 07:58:00 -08:00
Mike Jensen
2aa9de3dfb
More interfaces that were missed previously.
2014-01-09 09:50:15 -07:00
Joshua Warner
522e8caeef
Merge pull request #155 from dicej/windows-fixes
...
Windows fixes
2014-01-08 15:47:44 -08:00
Joel Dice
d1eb8c5d11
define ENOTCONN if necessary on Windows
2014-01-08 16:08:32 -07:00
Joel Dice
65f6431de0
use ';' instead of ':' as path separator on windows when running tests
2014-01-08 16:08:15 -07:00
Joel Dice
bb86500155
fix Method.getModifiers crash due to bootimage miscompile
...
When calculating field offsets in the bootimage generator, we failed
to consider alignment at inheritence boundaries (i.e. the last field
inherited by from a superclass should be followed by enough padding to
align the first non-inherited field at a machine word boundary). This
led to a mismatch between native code and Java code in terms of class
layouts, including that of java.lang.reflect.Method.
2014-01-07 09:04:13 -07:00
Joel Dice
1f6051bcbc
Merge pull request #149 from jentfoo/concurrency_classpath_extension
...
Concurrency classpath extension (part of the atomic package implementation)
2014-01-03 16:06:04 -08:00
Mike Jensen
ac27ebd995
Reduced code duplication by combining these three very similar tests into a single file.
2014-01-03 16:24:11 -07:00
Mike Jensen
2760252a13
Avoid doing a Thread.sleep() and instead do a wait and notify.
2014-01-03 15:39:40 -07:00
Mike Jensen
9809898470
Moved the waitTillReady to before the doOperation call in order to have the threads synchronized.
2014-01-03 15:27:11 -07:00
Joshua Warner
ade2e8ef2b
Merge pull request #152 from dicej/getMethod-aioobe
...
add test for d1bdf2f
(Class.getMethod bug)
2014-01-03 14:17:28 -08:00
Joel Dice
abdbf6f47a
Merge pull request #150 from joshuawarner32/master
...
fix silly error in recent compiler refactor
2014-01-03 13:45:34 -08:00
Joel Dice
4ce545c4fd
add test for d1bdf2f
(Class.getMethod bug)
...
I meant to include this in the original commit, but forgot.
2014-01-03 14:40:47 -07:00
Joshua Warner
38c6951991
Merge pull request #151 from dicej/getMethod-aioobe
...
fix dumb mistake leading to AIOOBEs in Class.getMethod
2014-01-03 13:34:52 -08:00
Mike Jensen
3fdf29a670
Small simplfication on this if/else statement
2014-01-03 14:23:48 -07:00
Joshua Warner
233a12bf2b
remove unnecessary variable initialization
2014-01-03 14:04:57 -07:00
Joel Dice
d1bdf2f8ef
fix dumb mistake leading to AIOOBEs in Class.getMethod
2014-01-03 13:58:37 -07:00
Joshua Warner
6d5f511d04
fix silly error in recent compiler refactor
2014-01-03 12:23:36 -07:00
Mike Jensen
d8b0db9354
Merge branch 'concurrency_classpath_extension' of github.com:jentfoo/avian into concurrency_classpath_extension
2014-01-03 11:23:08 -07:00
Mike Jensen
735921cd6f
Renamed these tests to a shorter name so the test output still looks clean
2014-01-03 11:22:33 -07:00
Mike Jensen
6ebc89d03a
Merge branch 'master' into concurrency_classpath_extension
2014-01-03 11:19:27 -07:00
Mike Jensen
56253e3123
Merge pull request #148 from dicej/objectFieldOffset
...
implement Unsafe.objectFieldOffset for the Avian class library
2014-01-03 10:18:30 -08:00
Joel Dice
708519d812
implement Unsafe.objectFieldOffset for the Avian class library
2014-01-03 11:13:21 -07:00
Mike Jensen
f4f4b8a26b
Fix for unit test failure when threads are created too slowly.
2014-01-03 10:08:36 -07:00
Mike Jensen
f7341732fc
Added some tests which would fail with a simple volatile, but should work for the atomic implementations.
2014-01-03 09:36:27 -07:00
Mike Jensen
f7d77473a4
Merge branch 'master' of github.com:ReadyTalk/avian into concurrency_classpath_extension
2014-01-03 08:49:40 -07:00
Mike Jensen
1275bdfd35
Merge pull request #145 from dicej/putOrderedLong
...
implement Unsafe.putOrderedLong and putVolatileLong, plus a build fix and cleanup
2014-01-03 07:31:23 -08:00
Joel Dice
789c36a459
move Unsafe.putObjectVolatile and putOrderedObject implementations
...
This makes them available to all class libraries, not just OpenJDK.
2014-01-02 18:00:53 -07:00
Joel Dice
cc5b58725a
implement Unsafe.putOrderedLong and putVolatileLong
...
The former just defers to the latter for now, since it provides
strictly weaker guarantees. Thus it's correct to use full
volatile-style barriers, though not as efficient as it could be on
some architectures.
2014-01-02 17:49:56 -07:00
Joel Dice
ab4adef373
remove obsolete idle statement from Unsafe.getLongVolatile
...
Now that Josh has fixed the busy block bug (see commit 10d15d2
), we
don't need this anymore.
2014-01-02 17:47:42 -07:00
Joel Dice
e19bdda13e
fix uninitialized value warning in compile.cpp
...
Clang was complaining that newIp might be used uninitialized at the
bottom of our giant, unstructured compile loop, so I initialized it
with a bogus value, which means it will at least fail consistently if
Clang is right and there really is a path by which that code is
reached without otherwise initializing newIp.
2014-01-02 17:44:33 -07:00
Mike Jensen
99c59cfe94
Start for a basic atomic implementation for avian. Still need to figure out how to do the Array versions of these. But I wanted to wait till we have the needed Unsafe implementation and add testing for these before we go further.
2014-01-02 13:01:13 -07:00
Joel Dice
ef3e3d749b
Merge pull request #143 from jentfoo/concurrency_classpath_extension
...
Expanding avian's classpath for java.util.concurrent
2013-12-24 10:50:30 -08:00
Mike Jensen
996e52170f
Fix for spelling error joel pointed out, as well as a simple unit test around the TimeUnit conversions
2013-12-24 11:30:50 -07:00
Mike Jensen
8b7f689e1a
Added the easy to add interfaces and implementations for java.util.concurrent to pave the way for future expansion of avians java.util.concurrent classpath implementation.
2013-12-23 14:19:41 -07:00
Joel Dice
4570195a9b
Merge pull request #141 from joshuawarner32/clang-format
...
Specify formatting style via .clang-format config file
2013-12-20 13:36:11 -08:00
Joel Dice
be549ecae3
Merge pull request #142 from joshuawarner32/compiler-boilerplate
...
Remove boilerplate in Compiler interface
2013-12-20 13:33:30 -08:00
Joshua Warner
fa65c67fbf
Extract independent runtime thunks into their own file
2013-12-18 22:46:58 -07:00
Joshua Warner
f1c6b97373
Reformat a few extra-long lines
2013-12-18 22:25:23 -07:00
Joshua Warner
b3d6f5d94d
Remove redundancy in compiling jump operations
2013-12-18 22:20:18 -07:00
Joshua Warner
ac984775a5
Remove redundancy in compiling arithmetic operations
2013-12-18 22:03:42 -07:00
Joshua Warner
eab36b3a23
Remove boilerplate code (nullaryOp methods in Compiler)
2013-12-18 16:51:20 -07:00
Joshua Warner
bd7b66a898
Remove boilerplate code (unaryOp methods in Compiler)
2013-12-18 16:43:15 -07:00
Joshua Warner
23633d1f3b
Merge pull request #140 from dicej/master
...
only enable LTO if use-lto is true
2013-12-18 15:00:38 -08:00
Joshua Warner
7f8f010b61
Specify formatting style via .clang-format config file
2013-12-18 15:37:47 -07:00
Joel Dice
8bd1c8de0e
only enable LTO if use-lto is true
...
When using clang, as with GCC, we shouldn't use LTO if the developer
has specified use-lto=false.
2013-12-18 15:26:43 -07:00
Joshua Warner
07d0f1172f
Remove boilerplate code (float binaryOp methods in Compiler)
2013-12-18 15:22:38 -07:00
Joshua Warner
d5c1a094ca
Remove boilerplate code (general binaryOp methods in Compiler)
2013-12-18 15:11:30 -07:00
Joshua Warner
b66a8549fd
Remove boilerplate code (jump* methods in Compiler)
2013-12-18 14:38:05 -07:00