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
Joshua Warner
fd5bd9d77e
Merge pull request #139 from dicej/master
...
don't throw UnknownHostException from InetAddress.getByName("0.0.0.0")
2013-12-18 11:07:11 -08:00
Joel Dice
fc38f596f1
fix header include order build regression
2013-12-18 11:40:23 -07:00
Joel Dice
38477c113c
fix iOS 7 build using latest Xcode
...
It looks like the iOS 7 SDK doesn't have GCC anymore, so we need to
use clang instead. Also, thread_act.h and thread_status.h have moved,
so I updated arm.h accordingly. That might break the build for older
SDKs, but I don't have one available at the moment. If it does break,
I'll fix it.
2013-12-18 11:10:04 -07:00
Joel Dice
15906ddb12
fix build regression on platforms with no native 64-bit CAS
...
Unsafe.compareAndSwapLong was moved from classpath-openjdk.cpp to
builtin.cpp, but the fieldForOffset helper function was not, which
only caused problems when I tried to build for ARM. This commit moves
said helper function, along with Unsafe.getVolatileLong, which also
uses it.
2013-12-18 11:06:15 -07:00
Joel Dice
59d5bbbb1a
throw UnknownHostException if host is not found in InetAddress.getByName
2013-12-18 10:43:11 -07:00
Joel Dice
5f40c1642e
don't throw UnknownHostException from InetAddress.getByName("0.0.0.0")
...
0.0.0.0 means any local interface, which is commonly used by servers
which wish to listen on all interfaces.
2013-12-18 10:12:10 -07:00
Joel Dice
dae1f81d27
Merge pull request #138 from soc/topic/unsafe-compareAndSwap
...
Move Unsafe.compareAndSwapLong from classpath-openjdk.cpp to builtin.cpp
2013-12-18 08:35:01 -08:00
Simon Ochsenreither
55e9923ee6
Move Unsafe.compareAndSwapLong from ...
...
... classpath-openjdk.cpp to builtin.cpp.
2013-12-18 05:19:45 +01:00
Joel Dice
10d15d23fb
Merge pull request #135 from joshuawarner32/no-busy-block
...
make sure a busy-waiting loop can't block the GC and hence the whole VM
2013-12-13 16:35:20 -08:00
Joshua Warner
0645b0e4cf
prevent busywait loops from blocking the VM in interpret mode
2013-12-13 11:48:26 -07:00
Joshua Warner
0340be23ce
make sure a busy-waiting loop can't block the GC (and hence the whole VM)
2013-12-13 10:39:36 -07:00
Joel Dice
cc2e27a879
Merge pull request #133 from joshuawarner32/consolidate-lists
...
consolidate many implicit list types into one
2013-12-11 11:43:43 -08:00