Commit Graph

3966 Commits

Author SHA1 Message Date
Joshua Warner
a807966143 use Slice<uint8_t> in FixedAllocator 2014-02-25 20:34:03 -07:00
Joshua Warner
b083f3df04 move fixed allocator out of machine.h 2014-02-25 20:34:03 -07:00
Joshua Warner
f69f86b487 move Slice out of object-writer, to be more general 2014-02-25 20:34:03 -07:00
Joshua Warner
52b23b8a6a move Allocator to include, properly namespaced 2014-02-25 19:13:41 -07:00
Vasily Litvinov
e217a4faf8 Removing workaround for Enum.java, fixing the root cause of the issue 2014-02-26 03:35:05 +04:00
Vasily Litvinov
a2ff617f1e Adding a workaround for read-only Enum.java during build 2014-02-26 03:24:10 +04:00
Vasily Litvinov
4184c8313a Adding Eclipse workspace to .gitignore 2014-02-26 02:35:54 +04:00
Ilya Mizus
2eaeaa2b12 Merge remote-tracking branch 'refs/remotes/ReadyTalk/master' into avian-droid 2014-02-26 01:27:32 +03:00
Joshua Warner
d95a8a9626 Merge pull request #179 from dicej/android-thread-join
fix Thread.join when using Android class library
2014-02-25 15:20:21 -07:00
Joel Dice
1445835c4f fix Thread.join when using Android class library
Android's Thread.join expects the VM to null-out Thread.vmThread when
the thread exits.  Otherwise, it will block forever.
2014-02-25 14:58:32 -07:00
Joel Dice
3912f2c0e4 Merge pull request #171 from joshuawarner32/master
Flatten "vm" dir and split signal handling out of vm::System
2014-02-25 14:11:09 -07:00
Joshua Warner
2b17ba7766 Merge pull request #177 from dicej/VMSupportsCS8
add Avian_java_util_concurrent_atomic_AtomicLong_VMSupportsCS8
2014-02-24 14:21:51 -07:00
Joel Dice
c021329d0d add Avian_java_util_concurrent_atomic_AtomicLong_VMSupportsCS8
Android's class library uses this to find out whether the VM supports
compareAndSwapLong natively.  Avian does on all platforms, so we just
return true.
2014-02-24 14:16:40 -07:00
Joel Dice
3ce78cf8c1 Merge pull request #176 from joshuawarner32/shift-32-bit-regression
fix #172, regression in compiling shift operations
2014-02-24 13:55:26 -07:00
Joshua Warner
f1806ce90e fix #172, regression in compiling shift operations 2014-02-24 13:24:14 -07:00
Joshua Warner
aec8bfc308 Merge pull request #174 from dicej/lIphlpapi
add "-lIphlpapi" to embedding example link command
2014-02-24 12:00:13 -07:00
Joel Dice
2689ec79a3 add "-lIphlpapi" to embedding example link command
This is needed to allow the link to succeed when doing an openjdk-src
build on Windows.
2014-02-24 08:37:42 -07:00
Joshua Warner
3bd00f19bc fix remote-test functionality for windows 2014-02-22 15:35:12 -07:00
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
Ilya Mizus
66f25193df OsConstants removed from blacklist 2014-02-21 23:14:07 +03:00
Ilya Mizus
a1d98280ab Merge remote-tracking branch 'refs/remotes/ReadyTalk/master' into avian-droid 2014-02-21 03:53:12 +03:00
Ilya Mizus
ff4c07f05b Changes to build on my libcore version 2014-02-21 03:50:06 +03: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