Commit Graph

605 Commits

Author SHA1 Message Date
730dade53e break out signal handling from System 2014-02-21 23:36:40 -07:00
5ffdfecdc2 remove vm from code paths, to match namespacing 2014-02-21 13:32:28 -07:00
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
65f6431de0 use ';' instead of ':' as path separator on windows when running tests 2014-01-08 16:08:15 -07:00
be549ecae3 Merge pull request #142 from joshuawarner32/compiler-boilerplate
Remove boilerplate in Compiler interface
2013-12-20 13:33:30 -08:00
fa65c67fbf Extract independent runtime thunks into their own file 2013-12-18 22:46:58 -07:00
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
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
d2c3d771d7 fix java 1.6 compatibility, and make sure it's maintained in the future 2013-12-10 20:26:29 -07:00
94f5888f97 prevent openjdk-src build from trying to load the installed 'JavaRuntimeSupport' (fixes #128) 2013-12-07 18:49:23 -07:00
773417ab2b fix openjdk-src build failures on osx 10.9 2013-12-07 16:43:18 -07:00
0a4eff33b2 fix jdk-test failures 2013-12-06 19:30:04 -07:00
47a7732a81 add jdk-test target, and fix failures
The intent of this target is to run our test suite against the installed jre.
This should help prevent our VM from diverging in implementation from the jdk.

The remainder of this commit fixes the problems that this exposes.
2013-12-06 15:00:02 -07:00
a2e1e1eec9 Merge pull request #102 from dscho/proxy-annotations
This looks good to me, good work.
2013-12-02 09:13:01 -08:00
1960081d1a Compile the annotation tests with the annotations in the class path
Earlier, if the annotations were already up-to-date (but
Annotations.class not), the compilation would fail.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-11-26 15:27:07 -06:00
39214d860f Automatically generate and commit Javadoc.
This will only generate on pushes to master, and not pull requests.
2013-11-20 17:02:33 -07:00
80d49dada7 Merge pull request #101 from getlantern/lantern
Fixed problem picking up policy jars in OpenJDK embedded build
2013-11-11 08:34:46 -08:00
cfe041c7ac Fixed problem picking up policy jars in OpenJDK embedded build 2013-11-08 09:11:46 -06:00
a54be0a381 fix openjdk build (add InnerClassReference to classpath-sources) 2013-11-07 18:52:11 -07:00
790fcff73e Merge pull request #89 from dscho/get-resources
Support ClassLoader#getResources with multiple class path elements
2013-11-04 16:29:40 -08:00
9080b462b6 fix jni_md.h not found 10.9 problem 2013-11-04 17:26:57 -07:00
a2feec0bab Add a pseudo-integration test for getResources()
This adds an extra class path element to the VM running the unit tests,
writes files with identical file names into both directories and then
verifies that SystemClassLoader#getResources can find them.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-11-04 16:53:02 -06:00
69ea1f5721 Bugfixes for Mac OS X, etc. 2013-10-31 01:35:56 -07:00
699ca75c54 fix sdk detection logic 2013-09-03 21:03:29 -06:00
c06dd28ea0 fix Android classpath build for iOS
This mainly involved reworking the makefile to avoid conflating
Darwin/ARM builds with iOS, since we may also want to build for the
iOS Simulator, which is i386.

Note that I was only able to test this on the Simulator, since I don't
have a real iOS device to test with.  Sorry if I broke something; if
so, please fix it :)
2013-07-31 15:20:32 -07:00
3058e4254d only use librt on Linux; OS X doesn't have or need it 2013-07-07 11:35:20 -06:00
82577d742f fix Android classpath build
Hopefully it will stay fixed this time, since we now specify commit
hashes for each dependency which are known to work.
2013-07-05 14:36:16 -06:00
c5d2cb007c tweaks to prepare for 0.7 release 2013-07-02 14:39:20 -06:00
de21913d13 fix linux->darwin cross-compile
There were two issues: the linux->darwin cross compiler is more stringent
about unused variables, and the makefile specified flags for building ON
darwin that were actually applicable whenever we are building FOR darwin.
2013-06-04 13:32:22 -06:00
64002319c5 use Android directory layout when accessing class library code
Per https://github.com/ReadyTalk/avian/issues/53, Avian should build
against a standard AOSP checkout, which means we should look for
subprojects in the directories the repo utility would place them.
2013-04-22 17:10:23 -06:00
43f41f6e73 Fixed embed.exe loader 2013-04-03 11:46:17 +02:00
e8a1900c2b fix openjdk-src build regression 2013-03-26 08:30:26 -06:00
1630739849 fix Windows x86_64 build regression due to unspecified AVIAN_TARGET_FORMAT 2013-03-15 17:47:15 -06:00
651145bd61 remove -static-libstdc++ -static-libgcc from bootimage-generator-lflags
MinGW-w64's GCC doesn't understand those flags, and we shouldn't be
linking statically or dynamically with either of those libraries.
2013-03-15 13:57:44 -06:00
9f2e0f6c4f rebuild bootimage-generator when vm-objects have changed 2013-03-15 13:16:20 -06:00
8ac1f68a79 fix Android library build regression for non-Windows platforms 2013-03-15 13:15:48 -06:00
d5504d8f58 first step towards supporting Android class library on Windows
A majority of the tests are passing, but more work is needed to get
them all to pass.
2013-03-14 15:33:05 -06:00
ff19ab6c13 add avian.trace.port property
Setting this property (e.g. -Davian.trace.port=5555) will cause the VM
to start an extra daemon thread which listens on the specified TCP
port for incoming connections and dumps stack traces for all running
threads to that socket.  You can retrieve that dump using e.g. netcat:

  nc localhost 5555
2013-03-08 14:47:27 -07:00
caa632d601 fix build when let expressions aren't available 2013-03-04 14:42:18 -07:00
5d730fe8fa various tweaks to get hello-ios working with the Android library 2013-03-04 14:24:41 -07:00
b3978c0a0a fix msvc build 2013-03-04 11:09:59 -07:00
06bc978d33 Merge branch 'wip' 2013-03-01 15:44:02 -07:00
df23c379bf fix windows embed-loader build 2013-03-01 14:52:27 -07:00
625c04e786 a few tweaks to fix the OS X Android class library build
With corresponding changes to libcore, all the tests are passing
except Datagrams, which fails with a NPE in
NetworkInterface.getNetworkInterfacesList due to OS X not having
/sys/class/net.  Porting that class to OS X looks like a non-trivial
task.
2013-02-28 10:15:10 -07:00
9327043bc5 Merge branch 'master' into wip
Conflicts:
	makefile
	src/codegen/arm/assembler.cpp
	src/codegen/powerpc/assembler.cpp
	src/codegen/x86/assembler.cpp
2013-02-27 19:27:07 -07:00
c261e1c283 fix OpenJDK tests on OS X 2013-02-27 12:05:57 -07:00
726cdb645b support iOS SDK 6.1 2013-02-27 12:05:57 -07:00
22ecf27aa5 use -I$(src) instead of -idirafter $(src)
This fixes the iOS build, where the wrong version of util.h was being
used.  The change to use -idirafter happened way back in 2007, and I
can't remember what its intention was.  We'll have to watch for
regressions on other platforms.
2013-02-27 12:05:57 -07:00
3eda6ab0a2 Merge remote-tracking branch 'github/master' into dicej
Conflicts:
	makefile
2013-02-27 10:09:38 -07:00
d4a42c7a26 add Android class library instructions to README.md 2013-02-27 10:03:17 -07:00