Commit Graph

605 Commits

Author SHA1 Message Date
Joel Dice
e6a46fc014 various fixes to get avian-swt-examples working with the Android class library 2013-02-26 16:24:02 -07:00
Joel Dice
8a976fafa7 fix avian-unittest openjdk-src build 2013-02-25 16:55:44 -07:00
Joel Dice
0bb0b1ec0e enable use of Android class library on 64-bit systems
This involved patching libcore.git to make it 64-bit safe.
2013-02-25 16:41:46 -07:00
Joshua Warner
56625b89d8 group x86, arm, and powerpc target directories into 'target' 2013-02-23 22:47:52 -07:00
Joel Dice
686c2352c1 all tests now pass for Android class library build 2013-02-22 17:23:59 -07:00
Joel Dice
0a4a04cc09 Merge remote-tracking branch 'github/master' into dicej 2013-02-22 17:13:10 -07:00
Joshua Warner
dbbd4e7d40 attempt fix for openjdk tests 2013-02-22 15:13:25 -07:00
Joel Dice
9060a31348 Merge remote-tracking branch 'github/master' into dicej
Conflicts:
	src/classpath-openjdk.cpp
2013-02-22 14:43:20 -07:00
Joshua Warner
494f773bc9 remove redundency in vm-depends 2013-02-21 19:42:29 -07:00
Joshua Warner
fe7bb5e640 Merge branch 'master' into wip
Conflicts:
	makefile
2013-02-21 19:33:38 -07:00
Joshua Warner
af0e7767eb Merge branch 'master' of github.com:ReadyTalk/avian
Conflicts:
	makefile
2013-02-21 16:23:22 -07:00
Joshua Warner
ab9f9550cf move tokenizer.h to include/avian/util/string.h, merge in the String declaration from object-writer/tools.h 2013-02-21 16:18:20 -07:00
Joel Dice
42d39b1af1 more Android class library work 2013-02-21 15:37:17 -07:00
Joshua Warner
32044637cd move bootimage generator to src/tools 2013-02-21 13:15:58 -07:00
Joshua Warner
186a3993b5 move system implementations to src/vm/system/ 2013-02-21 13:11:29 -07:00
Joshua Warner
48691bb50a move stream.h to include, and type-generator to src/tools 2013-02-20 21:26:34 -07:00
Joel Dice
fd047bd6e9 find headers regardless of directory layout in vm-depends definition 2013-02-20 17:20:10 -07:00
Joshua Warner
1f0833252d Merge branch 'master' into wip
Conflicts:
	src/codegen/compiler/event.cpp
	src/codegen/x86/assembler.cpp
	src/common.h
2013-02-20 11:27:39 -07:00
Joel Dice
d414fd4c7b more progress on Android class library port
Hello.java works.  Yay.
2013-02-20 10:22:40 -07:00
Joshua Warner
77365dfcc1 move binary-to-object to new tree structure 2013-02-19 20:23:11 -07:00
Joel Dice
f45b95e1b5 progress towards Android classpath support
It now builds and links, but fails at runtime because
register_libcore_icu_ICU can't find the file it wants.  We'll probably need to replace register_libcore_icu_ICU with a better-behaved version.
2013-02-19 16:48:33 -07:00
Joel Dice
0f524fcf16 first pass at Android classpath support
Stuff compiles, but linking breaks spectacularly.  Next step is to
figure out how to build the dependencies without checking out and
building the entire Android platform.
2013-02-19 09:36:19 -07:00
Joshua Warner
46029939d3 begin work on audit-codegen 2013-02-19 09:06:25 -07:00
Joshua Warner
24c0fab9bf add unit tests for arg parser 2013-02-19 09:06:25 -07:00
Joshua Warner
e9be3c4e07 move arg parser out of bootimage.cpp 2013-02-19 09:06:21 -07:00
Joshua Warner
61f03643e0 begin splitting up x86 assembler 2013-02-19 09:05:31 -07:00
Joshua Warner
5a5b9248e6 fix unittests for process=interpret build 2013-02-15 20:44:55 -07:00
Joshua Warner
9a91c1dd2d set remote-test variable based on the presence of remote-test-host or remote-test-port
The new way to run a remote test is:

make arch=<arch> remote-test-host=<host_to_test_on> test
2013-02-15 17:43:21 -07:00
Joshua Warner
a3fb540ec3 add ArchitecturePlanTest 2013-02-15 07:35:17 -07:00
Joshua Warner
33d245d0f7 add unittest framework 2013-02-14 20:54:20 -07:00
Joshua Warner
1258b23ea1 add remote-test capability
To execute tests on a remote host (for instance, because you're cross-compiling),
simply do:

make remote-test=true remote-test-host=<host_to_test_on> test

You can set several variables to control the functionality of remote-test.
See them below, along with their default values:

remote-test-host = localhost # host to ssh to
remote-test-port = 22
remote-test-user = ${USER} # user to execute tests as
remote-test-dir = /tmp/avian-test-${USER} # dir to rsync build output to
2013-02-14 18:47:48 -07:00
Joshua Warner
2db0303e2f further compiler cleanup / organization 2013-02-13 23:23:07 -07:00
Joel Dice
a7ab59f1f6 switch clean target back to deleting all generated files 2013-02-13 22:13:56 -07:00
Joshua Warner
d00950458f move JumpEvent out of compiler.cpp 2013-02-13 22:13:56 -07:00
Joshua Warner
0f6e098b69 move CallEvent out of compiler.cpp 2013-02-13 22:13:55 -07:00
Joshua Warner
6d265374ec move Reads out of compile.cpp 2013-02-13 22:13:55 -07:00
Joshua Warner
b0abc4e1e5 further split up compiler.cpp 2013-02-13 22:13:55 -07:00
Joshua Warner
952cad2360 move site out of compiler.cpp 2013-02-13 22:13:55 -07:00
Joshua Warner
740886d58e begin splitting up compiler.cpp 2013-02-13 22:13:55 -07:00
Joshua Warner
ef5e534e1e begin moving register allocator out of compiler.cpp 2013-02-13 22:13:55 -07:00
Joshua Warner
3589d5c205 Merge branch 'master' of git://github.com/ReadyTalk/avian
Conflicts:
	src/codegen/arm/assembler.cpp
	src/common.h
	src/machine.cpp
2013-02-12 17:37:19 -07:00
Joshua Warner
f7b49ddb06 allow codegen targets (Architectures and Assemblers) to co-exist
The primary motivation behind this is to allow all the different Assemblers
to be built at once, on a single machine. This should dramatically reduce
the time required to make sure that a particular change doesn't break
the build for one of the not-so-common architectures (arm, powerpc)

Simply pass "codegen-targets=all" to make to compile all
src/codegen/<arch>/assembler.cpp.

Note that while these architectures are built, they will not be fully-
functional.  Certain stuff is assumed to be the same across the entire
build (such as TargetBytesPerWord), but this isn't the case anymore.
2013-02-12 17:16:40 -07:00
Joel Dice
86c92e26cb Merge commit '752d02e7786b807185e3f4cd254ee988c01f830f' into HEAD
Conflicts:
	classpath/java-io.cpp
	makefile
	src/bootimage.cpp
	src/interpret.cpp
	src/machine.cpp
	src/windows.cpp
2013-02-12 10:47:28 -07:00
Joel Dice
937343d0d3 don't specify -Wl,-rpath argument on Darwin or Windows (take 2) 2013-02-12 09:27:47 -07:00
Joel Dice
8a7b6488d4 Merge remote branch 'osmandapp/upstream' 2013-02-12 09:26:01 -07:00
Joel Dice
752d02e778 make bootimage-object depend on openjdk-jar-dep
This ensures that the OpenJDK classes have been extracted prior to
bootimage creation.
2013-02-12 09:23:43 -07:00
Joel Dice
d1a7b66085 don't specify -Wl,-rpath argument on Darwin or Windows
It remains to be seen what form that argument should take on those
operating systems; for now, it only causes trouble, so we'll just
leave it out.
2013-02-12 08:22:21 -07:00
Joshua Warner
68776e5d73 move all codegen source in to codegen/ dir 2013-02-10 18:55:38 -07:00
Alexey Pelykh
dd14b10d8d Lost assignment 2013-02-09 13:18:39 +02:00
Alexey Pelykh
837e2847ec WP8 target refine 2013-02-09 13:09:58 +02:00
Alexey Pelykh
197d4f7f89 Make clean target more robust
Conflicts:

	.gitignore
2013-02-09 09:42:48 +02:00
Alexey Pelykh
362f4aaa89 Support new WinRT interop 2013-02-09 09:42:43 +02:00
Alexey Pelykh
71052fa50c Fix WP8/WinRT ARM build 2013-02-09 09:42:30 +02:00
Alexey Pelykh
c6694287e9 Finally, proper jvm.dll linking for WP8 2013-02-09 09:42:29 +02:00
Alexey Pelykh
d51db00136 Allow output of exceptions to debugger. Generate WinMD file 2013-02-09 09:42:28 +02:00
Alexey Pelykh
aaa60aebff Makefile changes, added additional compiler flags 2013-02-09 09:42:27 +02:00
Alexey Pelykh
acdd297fb2 Fixes to WP8/WinRT support 2013-02-09 09:42:25 +02:00
Alexey Pelykh
5e0b073eff Fix library overwriting ; proper assembler flags 2013-02-09 09:42:24 +02:00
Alexey Pelykh
dca12d3cd0 WinRT/WP8 process=compile 2013-02-09 09:42:22 +02:00
Alexey Pelykh
4d03650544 Replaced TODO comments with messages ; More correct AVIAN_AOT_ONLY usage 2013-02-09 09:42:21 +02:00
Alexey Pelykh
1b43caf815 Makefile fix 2013-02-09 09:42:20 +02:00
Alexey Pelykh
2f2cac556c Windows Phone 8 / Windows RT initial support
Conflicts:

	makefile
2013-02-09 09:42:19 +02:00
Victor Shcherb
c368a8b74a Fix android makefile 2013-02-09 09:42:16 +02:00
Alexey Pelykh
1f77d15040 Path fix 2013-02-09 09:42:15 +02:00
Alexey Pelykh
b1990ba55f Android toolchain 2013-02-09 09:42:14 +02:00
Victor Shcherb
3a42db9f6f Add android platform 2013-02-09 09:42:13 +02:00
Joel Dice
07e3294937 use rpath=$ORIGIN instead of LD_LIBRARY_PATH
Hi

If libjvm.so is in the same directory as avian-dynamic, then there's
no need for LD_LIBRARY_PATH to include that directory, we can just set
the rpath in avian-dynamic to $ORIGIN when linking it. Working patch
attached.

Regards
Damjan
2013-02-08 09:34:26 -07:00
Joel Dice
ef11cd1d8d rename clean to clean-current, and clean-all back to clean
This way, the clean target continues to do what it always did: delete
the whole build directory.  You can use clean-current to just delete
the currently-configured build directory.
2013-02-07 09:33:21 -07:00
Joel Dice
82d4ced160 specify UTF-8 encoding to javac
This fixes "illegal character" errors when compiling e.g. Misc.java on
systems where the default encoding is not UTF-8.
2013-02-07 09:33:21 -07:00
Alexey Pelykh
18cb5ba379 Make clean target more robust
Conflicts:

	.gitignore
2013-02-07 11:39:26 +02:00
Alexey Pelykh
41c7269896 Support new WinRT interop 2013-02-07 11:39:20 +02:00
Alexey Pelykh
d468d7eaba Fix WP8/WinRT ARM build 2013-02-07 11:39:08 +02:00
Alexey Pelykh
7cd194b5de Finally, proper jvm.dll linking for WP8 2013-02-07 11:39:07 +02:00
Alexey Pelykh
5a1b478b89 Allow output of exceptions to debugger. Generate WinMD file 2013-02-07 11:39:06 +02:00
Alexey Pelykh
d6ba068b4b Makefile changes, added additional compiler flags 2013-02-07 11:39:05 +02:00
Alexey Pelykh
4840f4a019 Fixes to WP8/WinRT support 2013-02-07 11:39:03 +02:00
Alexey Pelykh
1590bd0554 Fix library overwriting ; proper assembler flags 2013-02-07 11:39:02 +02:00
Alexey Pelykh
9c67acfaf1 WinRT/WP8 process=compile 2013-02-07 11:39:00 +02:00
Alexey Pelykh
a78959a480 Replaced TODO comments with messages ; More correct AVIAN_AOT_ONLY usage 2013-02-07 11:38:59 +02:00
Alexey Pelykh
c5adad9dce Makefile fix 2013-02-07 11:38:58 +02:00
Alexey Pelykh
0cbaad6495 Windows Phone 8 / Windows RT initial support
Conflicts:

	makefile
2013-02-07 11:38:57 +02:00
Victor Shcherb
8da990f593 Fix android makefile 2013-02-07 11:38:54 +02:00
Alexey Pelykh
62104e843c Path fix 2013-02-07 11:38:53 +02:00
Alexey Pelykh
b0cae77b2a Android toolchain 2013-02-07 11:38:53 +02:00
Victor Shcherb
4cd8ab5910 Add android platform 2013-02-07 11:38:52 +02:00
Joel Dice
75f5921b3e revert accidental makefile change 2013-01-26 20:07:18 -07:00
Joel Dice
dec2095c63 fix openjdk bootimage cross builds
We need to extract the OpenJDK classes into the build classpath
directory for the target platform before running the
bootimage-generator, or else it won't be able to find the classes.
2013-01-26 18:01:34 -07:00
Joel Dice
f79f320859 fix MSVC build regression 2012-12-05 17:17:29 -07:00
Joel Dice
36aa74316a fix Windows cross-compile build 2012-12-04 17:37:02 -07:00
Carsten Elton Sorensen
571cc6a85e Added new embed utility for Windows 2012-11-13 09:11:49 +01:00
Joel Dice
a3c4b60f43 rename package avian.avian_vm_resource to avian.avianvmresource
This package name must match the URL protocol we use for loading
embedded resources, but OpenJDK's URL class won't tolerate underscores
in a protocol name.  Also, I had not updated the names of the native
methods in avian.avianvmresource.Handler, leading to
UnsatisfiedLinkErrors when they were called.
2012-10-06 15:33:24 -06:00
Joel Dice
16c526b775 fix OS X 10.8 and iOS 6.0 builds
This also adds support for Clang ARM builds, which involved removing
unused functions from arm.cpp to avoid link-time warnings.
2012-10-03 13:36:51 -06:00
Joel Dice
d3b32ecffd Merge branch 'openjdk-version' of https://github.com/xranby/avian 2012-09-05 12:38:42 -06:00
Xerxes Rånby
db0c14d742 Set java.vm.info based on makefile info= and
set java.vm.version based on makefile version=
in order to display relevant OpenJDK -version information.

Signed-off-by: Matthias Klose <doko@ubuntu.com>
Signed-off-by: Xerxes Rånby <xerxes@zafena.se>
2012-09-05 15:30:49 +02:00
Xerxes Rånby
d88a33329a Add a non-versioned SONAME to Avian libjvm.so that
matches the Hotspot Server/Client libjvm.so SONAME,
this allow libjava.so in OpenJDK 7 to find the Avian libjvm.so during ldopen.
2012-09-05 10:29:12 +02:00
Joel Dice
38454ce7d4 fix MSVC build of test JNI library 2012-08-15 17:43:45 -06:00
Joel Dice
b325221579 rename "resource" URL protocol to "avian_vm_resource"
This fixes a problem with JOSM, which attaches its own meaning to the
"resource" protocol.  The new name is less likely to cause such
conflicts.
2012-08-11 19:01:32 -06:00
Joel Dice
021590af05 fix JNI test for openjdk-src build 2012-08-04 18:50:43 -06:00
Joel Dice
2fb2fd9bb0 put test library in same directory as avian executable
This is a workaround for the fact that there's no precise equivalent
to LD_LIBRARY_PATH available on Windows.
2012-08-02 13:00:00 -06:00
Joel Dice
296a1e5bab use so-prefix and so-suffix to generate test library name
This fixes the JNI test for Windows and OS X.
2012-08-02 12:47:48 -06:00