Commit Graph

368 Commits

Author SHA1 Message Date
Joel Dice
d819a75f36 more work towards OpenJDK classpath support
The biggest change in this commit is to split the system classloader
into two: one for boot classes (e.g. java.lang.*) and another for
application classes.  This is necessary to make OpenJDK's security
checks happy.

The rest of the changes include bugfixes and additional JVM method
implementations in classpath-openjdk.cpp.
2010-09-14 10:49:41 -06:00
Joel Dice
b62d07996f avoid including path name of libjvm.so in avian-dynamic 2010-09-10 17:44:53 -06:00
Joel Dice
cddea7187d preliminary support for using OpenJDK's class library
Whereas the GNU Classpath port used the strategy of patching Classpath
with core classes from Avian so as to minimize changes to the VM, this
port uses the opposite strategy: abstract and isolate
classpath-specific features in the VM similar to how we abstract away
platform-specific features in system.h.  This allows us to use an
unmodified copy of OpenJDK's class library, including its core classes
and augmented by a few VM-specific classes in the "avian" package.
2010-09-10 15:05:29 -06:00
Matt Klich
686f1ba983 Revert "win32 i386 build should use mingw64 if available"
This reverts commit 74e282a3d3.
2010-06-09 16:03:48 -06:00
Matt Klich
74e282a3d3 win32 i386 build should use mingw64 if available 2010-05-17 12:36:39 -06:00
Matt Klich
62c741d969 Specify -m flag on windows x86_64 gcc/g++ compilers. 2010-05-13 17:01:55 -06:00
JET
3aac50555b fixed ARM interpreted-mode regression 2010-04-20 15:51:35 -06:00
Joel Dice
e5fad03632 fix MSVC build rot 2010-04-15 11:11:10 -06:00
Hudson Build Application account
48cc14f8ed fixed linux build because darwin fix broke it 2010-02-05 17:15:12 -07:00
Matt Klich
d4cae8f15e Fixed darwin build. 2010-02-05 16:40:48 -07:00
Matt Klich
9d5e0bb154 Updated to always specify bitness of target. cc and cxx will always have -m32 or -m64 appended based on the arch that is being built. 2010-02-04 11:15:16 -07:00
Joel Dice
67cdac3a36 tweak MSVC compiler flags
We now use -O2 for the "fast" build and always pass -debug to the linker so we get a PDB file.
2009-12-14 08:43:07 -07:00
Joel Dice
2b4361c060 fix GNU Classpath build 2009-12-05 19:40:46 -07:00
Joel Dice
028fd42f5e detect and prohibit unsupported bootimage cross-builds in makefile 2009-12-03 10:47:50 -07:00
Joel Dice
2bb5ccebd3 update version number 2009-12-02 19:09:28 -07:00
Eric Scharff
398f861768 Support 64-bit Mac builds 2009-12-01 14:24:33 -07:00
Joel Dice
f75868b394 don't specify -march=i486 on Darwin because a later generation is assumed by default 2009-11-20 11:40:55 -07:00
Joel Dice
15eada93ed implement atomicCompareAndSwap on x86_32 for GCC versions prior to 4.1 and for MSVC 2009-11-20 10:40:01 -07:00
Joel Dice
07f40a07e1 specify -march=i486 for x86_32 to support __sync_bool_compare_and_swap 2009-11-19 18:51:43 -07:00
Joel Dice
ef9c1ee32c specify -arch explicitly to compiler and liner on OS X
On 10.6 the compiler generates x86_64 code by default, even though uname -m reports "i386", so we have to be explicit
2009-11-03 16:07:13 -07:00
Joel Dice
e825da60aa update continuation constants to reflect new field offsets 2009-10-30 00:45:46 +00:00
jet
d901653979 Merge branch 'master' into wip
Conflicts:

	src/compile.cpp
2009-10-29 14:23:20 -06:00
jet
e00fc5d91a ARM port work 2009-10-29 10:12:30 -06:00
Joel Dice
a0952b89ed use new x86_64-w64 tool prefix for 64-bit Windows build 2009-10-20 13:39:09 -06:00
Joel Dice
cec6444911 fix bootimage build for case where the JIT code area is too far from the AOT code area to do immediate-offset jumps between them 2009-10-17 18:18:03 -06:00
Joel Dice
7b0378c180 support darwin/x86_64 2009-10-14 10:01:37 -06:00
Joel Dice
0ae02511c6 remove unused definition from makefile 2009-10-13 19:40:39 -06:00
Joel Dice
c3824b0108 specify segment __RWX in bootimage-lflags on Darwin to match new name used in binaryToObject 2009-10-13 19:14:03 -06:00
Joel Dice
ef4a8430ad add binaryToObject utility
We use this utility instead of objcopy to embed data into object files
because it offers more control over e.g. section alignment, which is
important for bootimage builds.
2009-10-13 19:00:16 -06:00
Joel Dice
9fcdfaf7ff implement binaryToElf utility and use it instead of objcopy on Linux
This is necessary because objcopy does not currently allow us to
specify the alignment requirement for the .boot section used to store
the boot image for AOT builds.  This may be a problem for Windows as
well, in which case we'll need to add a binaryToPE utility.
2009-10-11 16:09:23 -06:00
jet
bf84d91bad Merge branch 'master' of oss.readytalk.com:/var/local/git/avian 2009-09-17 14:07:16 -06:00
Joel Dice
a2a33c259e fix test class build when boot classes change 2009-09-17 11:50:35 -06:00
jet
7733433483 Merge branch 'master' of oss.readytalk.com:/var/local/git/avian 2009-09-14 14:30:33 -06:00
Joel Dice
49d113f43f fix parallel bootimage build 2009-09-05 18:40:37 -06:00
Joel Dice
44ae6a02c2 fix parallel (make -jN) build 2009-09-05 16:04:43 -06:00
Joel Dice
8956b98604 speed up build (especially on Windows) by avoiding redundant shell command execution in makefile 2009-09-05 15:21:45 -06:00
jet
68355b17cd Merge branch 'master' of oss.readytalk.com:/var/local/git/avian 2009-09-03 14:12:44 -06:00
Joel Dice
9550eca866 uncomment MAKEFLAGS definition in makefile 2009-09-01 12:15:19 -06:00
jet
abd4f6aeef Merge branch 'master' of oss.readytalk.com:/var/local/git/avian 2009-09-01 09:05:54 -06:00
Joel Dice
9c52fb434c add manifest to executables and DLLs when building with MSVC 2009-09-01 08:42:33 -06:00
jet
ae377e8fc6 Merge branch 'master' of oss.readytalk.com:/var/local/git/avian 2009-08-27 15:32:11 -06:00
Joel Dice
4df81911fe fix OSX build regression 2009-08-27 09:30:34 -06:00
Joel Dice
ca271e5ab9 specify name of pdb file when compiling with MSVC 2009-08-26 18:38:47 -06:00
Joel Dice
1a0eef7e2d add support for building with MSVC on Windows 2009-08-26 18:26:44 -06:00
Joel Dice
3b30dccaac strip binaries if and only if optimizing 2009-08-24 16:38:00 -06:00
jet
1528a9dddf Merge branch 'master' of oss.readytalk.com:/var/local/git/avian 2009-08-18 15:17:34 -06:00
jet
bf75e73aa9 Merge branch 'master' of oss.readytalk.com:/var/local/git/avian 2009-08-13 09:57:40 -06:00
Joel Dice
d983e8883c use our version of SoftReference when using GNU Classpath 2009-08-13 09:18:01 -06:00
Joel Dice
001000364d add classloader parameter to functions which may directly or indirectly load classes; include methods inherited from interfaces (but not explicitly declared) in method tables and virtual tables of abstract classes 2009-08-10 07:56:16 -06:00
jet
0be90bc769 added ARM modifications to makefile 2009-08-06 13:25:20 -06:00
Joel Dice
3e0c0c8116 revert recent accidental makefile changes 2009-08-06 12:10:44 -06:00
jet
1ffe46a545 added ARM interpreted mode supported 2009-08-06 11:52:36 -06:00
Joel Dice
b6e49d8a4c refine gnu-overrides definition in makefile 2009-08-04 18:31:33 -06:00
Joel Dice
27d863790c Merge branch 'win64' into gnu
Conflicts:

	makefile
	src/compile-x86.S
	src/x86.S
	src/x86.cpp
2009-07-25 20:48:36 -06:00
Joel Dice
e72ff8db0b Merge branch 'master' into gnu
Conflicts:

	src/compile.cpp
2009-07-11 12:11:59 -06:00
Joel Dice
ab5ba9c954 Merge branch 'master' of oss.readytalk.com:/var/local/git/avian 2009-07-10 09:57:29 -06:00
jent
8335dc4297 Now using the CoreServices instead of the Carbon framework....this
allows for cocoa and future compatability
2009-07-02 03:30:05 -06:00
jent
3367ac88e3 Added in code to support os.version for Windows/Linux/OSX
The make file had to be modified to include the carbon framework in OSX
2009-07-01 09:13:01 -06:00
Josh warner
a80d30b4ce added windows-x86_64 build target 2009-06-11 09:36:53 -06:00
Joel Dice
f239424930 implement NewDirectByteBuffer etc. properly when building against Classpath; call JNI_OnLoad if found in newly-loaded libraries 2009-06-10 18:15:00 -06:00
Joel Dice
20ea82ec2e various tweaks for Classpath compatibility 2009-06-06 20:32:44 -06:00
Joel Dice
402fef9ae8 include native Classpath code in dynamic library
Note that this requires building Classpath with -fPIC on platforms where
it is not the default.
2009-06-06 14:25:05 -06:00
Joel Dice
6efeee49f8 include native Classpath code in libavian.a and the avian executable 2009-06-06 14:18:33 -06:00
Joel Dice
c14ae4d2f7 fix rebuild when using GNU Classpath 2009-06-04 17:54:06 -06:00
Joel Dice
0857f53651 more progress on GNU Classpath compatibility 2009-06-04 17:21:42 -06:00
Joel Dice
98be5c509e more progress towards GNU Classpath compatibility 2009-06-03 16:17:55 -06:00
Joel Dice
0f6dbe35a7 add build option for using GNU Classpath 2009-06-02 18:55:49 -06:00
Joel Dice
a4d4db8eb4 fix cygwin/msys bootimage build 2009-06-01 12:12:29 -06:00
Joel Dice
b5cb1692fb document avian.Continuations 2009-05-29 18:32:16 -06:00
Joel Dice
ca4e62cdb7 pass -DAVIAN_CONTINUATIONS to assembler when continuations enabled 2009-05-28 18:51:53 -06:00
Joel Dice
4eeabbeec3 point javac to the right output directory when building extra tests 2009-05-25 23:27:47 -06:00
Joel Dice
31eb75a736 support tail calls and continuations as build options 2009-05-25 23:27:10 -06:00
Joel Dice
e35047b056 build but don't run extra tests in makefile 2009-05-18 09:17:09 -06:00
Joel Dice
6dc6f01359 move extra tests (not run as part of "make test") into "extra" package 2009-05-16 02:01:32 -06:00
Joel Dice
d11195165f add tarball target to makefile 2009-04-11 11:54:43 -06:00
Joel Dice
7311fdab02 fix bootimage build 2009-03-15 13:47:07 -06:00
Joel Dice
c485613e26 update version to 0.2 in makefile 2009-03-15 12:01:56 -06:00
Joel Dice
9abc25e134 refine build directory naming system to avoid needing to 'make clean' upon changing build parameters 2009-03-14 15:16:05 -06:00
Joel Dice
6c271ac994 fix powerpc bootimage build 2009-03-09 18:52:09 -06:00
Joel Dice
661b49ea92 Merge branch 'master' into powerpc 2009-03-07 16:41:17 -07:00
Joel Dice
abe6ada0c2 Merge branch 'master' of oss.readytalk.com:/var/local/git/avian 2009-03-07 16:40:56 -07:00
Joel Dice
ea4764c924 Merge branch 'master' into powerpc 2009-03-07 16:40:23 -07:00
Joel Dice
8c1c861a58 search ../win32/include before $JAVA_HOME/include for windows builds, since we don't want to accidentally use the jni_md.h for the host system 2009-02-22 17:04:14 -07:00
Joel Dice
ba4e2a6582 rename compile.S to compile-x86.S and add compile-powerpc.S 2009-02-16 08:21:12 -07:00
Joel Dice
de6388a719 fix powerpc/interpret build 2009-02-15 12:51:39 -07:00
Joel Dice
bec13838c1 Merge branch 'powerpc' of oss.readytalk.com:/var/local/git/avian 2009-02-15 12:34:01 -07:00
Joel Dice
71ccac1ef7 default to specified build mode when building the bootimage generator instead of hard-coding it to 'fast' 2009-02-14 13:25:07 -07:00
U-JOELDICEXPVM\Joel Dice
ec5c64d472 fix Cygwin build 2009-02-13 17:03:46 -07:00
Joel Dice
9b0d6854ec fix merge conflicts 2009-02-09 16:22:51 -07:00
Joel Dice
a1ec71423e Merge branch 'master' into powerpc
Conflicts:

	makefile
	src/assembler.h
	src/binaryToMacho.cpp
	src/compile.cpp
	src/compiler.cpp
	src/x86.cpp
2009-02-09 16:22:01 -07:00
Joel Dice
368c804bb7 bootimage-object should depend on binaryToMacho 2008-12-18 20:10:25 -07:00
Joel Dice
2622773eb4 support bootimage build on OS X 2008-12-18 19:52:03 -07:00
Joel Dice
c479bccdb4 support cross-platform bootimage build (as long as the build arch matches the target arch 2008-12-04 17:24:38 -07:00
Joel Dice
7d68c9b0a5 Merge branch 'bootimage' of oss.readytalk.com:/var/local/git/avian
Conflicts:

	src/heapdump.cpp
2008-12-04 14:29:17 -07:00
Rich Scott
db3434001f Use mingw32 'strip' when compiling for Windows.
This fixes the error when using /usr/bin/strip on
Ubuntu 8.10 when it believes the target file is of
an "ambiguous format".
2008-12-03 13:12:49 -07:00
Joel Dice
4ec853d1bc include heapwalk.o in libavian.a if bootimage=true 2008-12-02 19:37:16 -07:00
Joel Dice
4a1dd3a8f7 specify writable and executable section for boot image 2008-12-01 19:35:52 -07:00
Joel Dice
0ec5ad3701 update makefile to optionally build and use a boot image; various bugfixes 2008-11-29 16:08:14 -07:00
Joel Dice
61ecb56e21 Merge branch 'master' of oss:/var/local/git/avian into powerpc 2008-11-25 16:19:21 -07:00
Joel Dice
6500f1eff6 initial work to support boot image creation and use 2008-11-21 16:20:35 -07:00