Joshua Warner
bc9f7d2f87
refactor SignalRegistrar interface
2014-02-21 23:37:32 -07:00
Joshua Warner
ca7d51edb3
add crash function to match the semantics of System::abort
2014-02-21 23:37:28 -07:00
Joshua Warner
730dade53e
break out signal handling from System
2014-02-21 23:36:40 -07:00
Joshua Warner
5ffdfecdc2
remove vm from code paths, to match namespacing
2014-02-21 13:32:28 -07:00
Joshua Warner
4a436bad80
Merge pull request #170 from l1m5/master
...
Change ConcurrentLinkedQueue.poll(boolean remove) to private.
2014-02-11 15:30:13 -07:00
Ben Limmer
d9ce351a24
Change ConcurrentLinkedQueue.poll(boolean remove) to private.
...
Since it's not available in the Oracle classpath.
Closes #169 .
2014-02-11 14:55:29 -07:00
Joshua Warner
295ed07d05
Merge pull request #167 from dicej/master
...
do not omit calls to empty methods which may trigger class initializatio...
2014-02-10 18:37:07 -07:00
Joel Dice
1735a7976a
do not omit calls to empty methods which may trigger class initialization
...
There's a small optimization in compileDirectInvoke which tries to
avoid generating calls to empty methods. However, this causes
problems for code which uses such a call to ensure a class is
initialized -- if we omit that call, the class may not be
initialized and any side effects of that initialization may not
happen when the program expects them to.
This commit ensures that the compiler only omits empty method calls
when the target class does not need initialization. It also removes
commented-out code in classpath-openjdk.cpp which was responsible for
loading libmawt proactively; that was a hack to get JogAmp to work
before we understood what the real problem was.
2014-02-10 08:40:14 -07:00
Joel Dice
07abed9c65
Merge pull request #166 from joshuawarner32/master
...
Improve c++ unit test harness
2014-02-09 15:16:38 -07:00
Joshua Warner
68bb65cb91
improve c++ test harness
2014-02-09 14:02:44 -07:00
Joshua Warner
0dbe225049
add sublimetext files to gitignore
2014-02-09 13:58:40 -07:00
Joel Dice
15d9128d2d
Merge pull request #164 from joshuawarner32/master
...
implement Arrays.deepEquals and Objects.deepEquals
2014-02-05 11:30:03 -07:00
Joshua Warner
02becdb5bf
implement Arrays.deepEquals and Objects.deepEquals
2014-01-30 17:12:34 -07:00
Joshua Warner
9f505f8522
Merge pull request #163 from soc/topic/java-util-objects
...
Implement java.util.Objects
2014-01-30 15:43:50 -08:00
Simon Ochsenreither
57d34808c3
Implement java.util.Objects
2014-01-29 02:10:22 +01:00
Joel Dice
a26081b0e5
Merge pull request #162 from joshuawarner32/master
...
Implement single quotes in MessageFormat
2014-01-28 13:22:43 -08:00
Joshua Warner
65ca5752da
Implement single quotes in MessageFormat
2014-01-28 09:56:25 -07:00
Joel Dice
ed119938b0
Merge pull request #161 from soc/topic/SIOOBE
...
Add StringIndexOutOfBoundsException and use it in String
2014-01-22 12:50:46 -08:00
Simon Ochsenreither
4b54b30439
Add StringIndexOutOfBoundsException and use it in String
2014-01-22 21:06:54 +01:00
Joshua Warner
d2cc630736
implement java/util/Observ*
2014-01-20 10:17:22 -07:00
Joshua Warner
c4112db0b9
Merge pull request #160 from dicej/master
...
fix ProGuarded OpenJDK build and LZMA-compressed jar support
2014-01-19 09:17:14 -08:00
Joel Dice
7ec7fe7e4d
preserve ThreadGroup.threadTerminated in openjdk.pro
...
We call this cleanup method from within the VM for every thread, so we
need to preserve it.
2014-01-18 19:45:10 -07:00
Joel Dice
66bd7e0814
use "lzma." prefix for LZMA-compressed embedded jars
...
Previously, we used "lzma:", which worked fine on Windows (where the
path separator is ";") but not on Unix-style OSes (where the path
separator is ":"). In the latter case, the VM would parse
"[lzma:bootJar]" as a path containing two elements, "[lzma" and
"bootJar]", which is not what was intended. So now we use "lzma." as
the prefix, which works on all OSes.
2014-01-18 19:41:43 -07:00
Joshua Warner
c730a932e9
Merge pull request #159 from dicej/no-more-gestalt
...
stop using Gestalt on OS X
2014-01-16 21:06:35 -08:00
Joel Dice
ce1d59aac7
stop using Gestalt on OS X
...
This function has been deprecated for a while and is not even part of
the latest SDK, so it's time to say goodbye.
2014-01-16 17:00:52 -07:00
Joshua Warner
2ac66cb48c
Merge pull request #158 from dicej/armv7
...
use armv7 memory barriers by default
2014-01-10 17:19:43 -08:00
Joel Dice
2b1177039e
use armv7 memory barriers by default
...
armv7 and later provide weaker cache coherency models than armv6 and
earlier, so we cannot just implement memory barriers as no-ops. This
patch uses the DMB instruction (or the equivalent OS-provided barrier
function) to implement barriers. This should fix concurrency issues
on newer chips such as the Apple A6 and A7.
If you still need to support ARMv6 devices, you should pass
"armv6=true" to make when building Avian. Ideally, the VM would
detect what kind of CPU it was executing on at runtime and direct the
JIT compiler accordingly, but I don't know how to do that on ARM.
Patches are welcome, though!
2014-01-10 17:32:54 -07:00
Mike Jensen
3916e35e71
Merge pull request #157 from dicej/thread-run-android-proguard
...
add Thread.run() to vm.pro
2014-01-10 10:56:07 -08:00
Joel Dice
43af2bf260
add Thread.run() to vm.pro
...
This is necessary to ensure multithreaded Android-classpath-based
ProGuarded builds do not fail with NoSuchMethodErrors.
2014-01-10 11:29:59 -07:00
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