Commit Graph

3955 Commits

Author SHA1 Message Date
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
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