Commit Graph

605 Commits

Author SHA1 Message Date
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
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
Joel Dice
65f6431de0 use ';' instead of ':' as path separator on windows when running tests 2014-01-08 16:08:15 -07: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
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
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
Joshua Warner
d2c3d771d7 fix java 1.6 compatibility, and make sure it's maintained in the future 2013-12-10 20:26:29 -07:00
Joshua Warner
94f5888f97 prevent openjdk-src build from trying to load the installed 'JavaRuntimeSupport' (fixes #128) 2013-12-07 18:49:23 -07:00
Joshua Warner
773417ab2b fix openjdk-src build failures on osx 10.9 2013-12-07 16:43:18 -07:00
Joshua Warner
0a4eff33b2 fix jdk-test failures 2013-12-06 19:30:04 -07:00
Joshua Warner
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
Mike Jensen
a2e1e1eec9 Merge pull request #102 from dscho/proxy-annotations
This looks good to me, good work.
2013-12-02 09:13:01 -08:00
Johannes Schindelin
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
Ben Limmer
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
Joshua Warner
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
Ox To A Cart
cfe041c7ac Fixed problem picking up policy jars in OpenJDK embedded build 2013-11-08 09:11:46 -06:00
Joshua Warner
a54be0a381 fix openjdk build (add InnerClassReference to classpath-sources) 2013-11-07 18:52:11 -07:00
Joshua Warner
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
Joshua Warner
9080b462b6 fix jni_md.h not found 10.9 problem 2013-11-04 17:26:57 -07:00
Johannes Schindelin
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
Geoff Nixon
69ea1f5721 Bugfixes for Mac OS X, etc. 2013-10-31 01:35:56 -07:00
Joshua Warner
699ca75c54 fix sdk detection logic 2013-09-03 21:03:29 -06:00
Joel Dice
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
Joel Dice
3058e4254d only use librt on Linux; OS X doesn't have or need it 2013-07-07 11:35:20 -06:00
Joel Dice
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
Joel Dice
c5d2cb007c tweaks to prepare for 0.7 release 2013-07-02 14:39:20 -06:00
Joshua Warner
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
Joel Dice
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
Carsten Elton Sorensen
43f41f6e73 Fixed embed.exe loader 2013-04-03 11:46:17 +02:00
Joel Dice
e8a1900c2b fix openjdk-src build regression 2013-03-26 08:30:26 -06:00
Joel Dice
1630739849 fix Windows x86_64 build regression due to unspecified AVIAN_TARGET_FORMAT 2013-03-15 17:47:15 -06:00
Joel Dice
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
Joel Dice
9f2e0f6c4f rebuild bootimage-generator when vm-objects have changed 2013-03-15 13:16:20 -06:00
Joel Dice
8ac1f68a79 fix Android library build regression for non-Windows platforms 2013-03-15 13:15:48 -06:00
Joel Dice
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
Joel Dice
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
Joel Dice
caa632d601 fix build when let expressions aren't available 2013-03-04 14:42:18 -07:00
Joel Dice
5d730fe8fa various tweaks to get hello-ios working with the Android library 2013-03-04 14:24:41 -07:00
Joel Dice
b3978c0a0a fix msvc build 2013-03-04 11:09:59 -07:00
Joshua Warner
06bc978d33 Merge branch 'wip' 2013-03-01 15:44:02 -07:00
Joshua Warner
df23c379bf fix windows embed-loader build 2013-03-01 14:52:27 -07:00
Joel Dice
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
Joshua Warner
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
Joel Dice
c261e1c283 fix OpenJDK tests on OS X 2013-02-27 12:05:57 -07:00
Joel Dice
726cdb645b support iOS SDK 6.1 2013-02-27 12:05:57 -07:00
Joel Dice
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
Joel Dice
3eda6ab0a2 Merge remote-tracking branch 'github/master' into dicej
Conflicts:
	makefile
2013-02-27 10:09:38 -07:00
Joel Dice
d4a42c7a26 add Android class library instructions to README.md 2013-02-27 10:03:17 -07:00