Commit Graph

4514 Commits

Author SHA1 Message Date
Ilya Mizus
89ab73c7e2 Merge branch 'master' of https://github.com/ReadyTalk/avian into avian-pack 2015-01-17 18:34:21 +03:00
Joshua Warner
5a87455e64 Merge pull request #397 from dicej/master
fix broken interpreter build due to out-of-order class initialization
2015-01-15 18:19:44 -07:00
Joel Dice
8ee7e8124a fix broken interpreter build due to out-of-order class initialization
When we initialize the vtables for bootstrap Java classes such as
java.lang.NullPointerException (i.e. classes which the VM has built-in
knowledge of), we assign the superclass's vtable to any class which
has no declared virtual methods of its own.  However, that vtable will
be null if we haven't initialized the superclass yet.  Therefore, we
must order this process such that no class is initialized until after
all its superclasses.
2015-01-15 17:13:46 -07:00
Joshua Warner
5f59529286 Merge pull request #394 from dicej/master
fix method interception bug
2015-01-12 10:33:11 -07:00
Joel Dice
4509e29abb fix method interception bug
When we intercept a method (i.e. when the VM wants to run its own code
instead of whatever the classpath provides for that method), we make a
clone of the original method so we can later call it from the
intercepting code if appropriate.  We also set the ACC_NATIVE flag on
the original method to ensure that our intercepting code is always
used in preference to the classpath version.  However, we need to set
that flag *after* we make the clone, or else the clone will also have
the ACC_NATIVE flag set, which is not what we want.

We never noticed this before because classpath versions of all the
methods we intercept as of Java 7 are either native or are never
called from their VM-specified replacements.  However, some of those
native methods are non-native in later versions of Java, so the bug
has become apparent.
2015-01-12 09:54:11 -07:00
Joshua Warner
f6e7a29f09 Merge pull request #392 from lostdj/patch-10
classpath-openjdk: Fix freeZipFileEntry()
2015-01-11 13:05:32 -07:00
Timofey Lagutin
da01d20c19 classpath-openjdk: Fix freeZipFileEntry()
Those ZipFile::Entries are part of ZipFile instance itself and will fail to free(). See :1504 and :1520 in openZipFile().
2015-01-11 22:49:15 +03:00
Joshua Warner
5186f1486a Merge pull request #390 from lostdj/patch-9
classpath-openjdk: Fix getZipFileEntry()
2015-01-11 12:08:06 -07:00
Timofey Lagutin
97734af72d classpath-openjdk: Fix getZipFileEntry()
'addSlash' argument was incorrectly understood: it is supposed to add slash only on retry (see ZIP_GetEntry2() zip_util.c in OpenJDK).
2015-01-11 21:44:41 +03:00
Seth Goings
394c5cacce Adjust publish logic to adhere to Travis spec
See the specifics here: http://docs.travis-ci.com/user/ci-environment/#Environment-variables
2015-01-10 16:53:52 -07:00
Joshua Warner
610f3a62ae Merge pull request #389 from ReadyTalk/mac-publishing
Add mac publishing + testing
2015-01-06 11:39:38 -07:00
Seth Goings
bf23f58aae Exclude osx test runs for now (only publish) 2015-01-06 09:58:48 -07:00
Seth Goings
eafec7e850 Add mac publishing + testing
- Move apt calls to ci script
2015-01-05 12:01:56 -07:00
Seth Goings
83f40a832a Merge pull request #386 from ReadyTalk/travis-publishing
Add artifact publishing to oss.jfrog.org with TravisCI
2015-01-05 10:50:16 -07:00
Seth Goings
d62d0aa916 Make sure not to publish if we are a pull request too... 2015-01-02 17:33:13 -07:00
Seth Goings
ab83e852ff Remove Travis CI matrix for now (best utilized when/if we have other platforms/arches) 2015-01-02 16:52:15 -07:00
Seth Goings
022efafbcc Only publish to oss.jfrog.org if TRAVIS_BRANCH is master 2015-01-02 16:48:43 -07:00
Seth Goings
7e5bcbea07 Add matrix build for all tests 2015-01-02 16:38:43 -07:00
Seth Goings
f717d87e8c Add better publishing intended for Travis + establish packages for windows/linux builds 2015-01-02 16:37:22 -07:00
Joshua Warner
fa0c62c4ff Merge pull request #385 from dicej/master
update README.md to indicate ARM64 support
2015-01-01 12:25:38 -07:00
Joel Dice
7df56328d9 update README.md to indicate ARM64 support 2014-12-31 10:22:35 -07:00
Joshua Warner
38d2146d6f Merge pull request #384 from dicej/master
fix iOS ARM64 build
2014-12-30 19:42:28 -07:00
Joel Dice
80ce92a999 fix iOS ARM64 build 2014-12-30 17:03:58 -07:00
Joshua Warner
7b1bdf127e Merge pull request #383 from dicej/master
add ARM64 JIT support
2014-12-30 15:56:26 -07:00
Joel Dice
c9026a6053 add continuations support for ARM64
Also, replace some preprocessor conditionals with C++ conditionals and
add some todo comments and sample code for future work towards better
ABI compatibility in the JIT compiled code.
2014-12-30 15:31:52 -07:00
Joel Dice
e3ea60fc31 fix ARM64 tails=true build 2014-12-30 09:37:26 -07:00
Joel Dice
76bfcaa8c0 fix ARM64 bootimage=true build
This fixes a problem with atomically updating JIT-compiled static
calls to AOT-compiled code.  It turns out there was also a problem
with the 32-bit ARM code as well, but we never hit it because it is
extremely unlikely that a code address can be loaded with a single
immediate load instruction on 32-bit ARM since it can only handle
numbers with 8 significant bits.  I've fixed that as well.
2014-12-29 18:17:24 -07:00
Joel Dice
8c277e2af8 conditionally compile ARM operations based on TARGET_BYTES_PER_WORD
This fixes the codegen-targets=all build regression.
2014-12-29 14:47:31 -07:00
Joel Dice
d8b32f2c67 update CMakeLists.txt to fix CMake build 2014-12-29 12:25:56 -07:00
Joel Dice
ea0a108cd2 add todo comment regarding integer division 2014-12-29 12:16:55 -07:00
Joel Dice
cdcf173601 format recent changes using clang-format 2014-12-29 12:09:53 -07:00
Joel Dice
e3f50e6d67 fix ARM64 OffsetPromise::value
I must have done a search-and-replace from 4 to TargetBytesPerWord
earlier, but in this case it should have been the instruction size
(4), not the word size.
2014-12-29 11:07:26 -07:00
Joel Dice
98a1fefefc fix offset encoding for strhi instruction 2014-12-29 10:02:30 -07:00
Joel Dice
d37cb93d50 remove redundant class qualifiers from Classes.java 2014-12-29 10:00:51 -07:00
Joel Dice
3e2545e5a7 more ARM64 bugfixes 2014-12-29 08:02:37 -07:00
Joel Dice
67f5461d82 more ARM64 bugfixes 2014-12-24 10:05:20 -07:00
Joel Dice
85fcbb82b3 more ARM64 bugfixes 2014-12-24 08:12:36 -07:00
Joel Dice
78735b35a8 more ARM64 bugfixes, more passing tests 2014-12-23 21:09:43 -07:00
Joel Dice
cbea966d1d various ARM64 JIT bugfixes
Three of the tests now pass.  Yay!
2014-12-23 16:59:04 -07:00
Joel Dice
9158ee39c0 remove 64-bit code from compile-arm.S since it's moved to compile-arm64.S 2014-12-23 16:57:40 -07:00
Joel Dice
b519e245e2 finish implementing operations64.cpp for ARM64 support
This is totally untested so far.
2014-12-22 12:59:27 -07:00
Joshua Warner
a6e88a8faa fix some merge-introduced problems 2014-12-22 12:59:27 -07:00
Joel Dice
123570515f snapshot of ARM64 instruction encoding work
Still not building, but more progress.
2014-12-22 12:59:26 -07:00
Joshua Warner
b3bd58aeff work in progress towards 64-bit ARM JIT support
This won't build, it's just a snapshot of what I have so far.

Conflicts:
	include/avian/codegen/architecture.h
	include/avian/codegen/registers.h
	src/codegen/compiler.cpp
	src/codegen/compiler/event.cpp
	src/codegen/compiler/site.cpp
	src/codegen/compiler/site.h
	src/codegen/registers.cpp
	src/codegen/target/arm/assembler.cpp
	src/codegen/target/arm/registers.h
2014-12-22 12:59:26 -07:00
Joel Dice
4d9c649676 Merge pull request #382 from jentfoo/master
Some small classpath tweaks to be compatible with openJDK's api
2014-12-15 17:34:15 -07:00
Mike Jensen
ee0ad22415 Undo my collections changes, as I was wrong here 2014-12-15 17:15:00 -07:00
Mike Jensen
32a1fb21f2 Some small classpath tweaks to be compatible with openJDK's api 2014-12-15 16:26:41 -07:00
Joel Dice
a53ffc1792 Merge pull request #380 from jentfoo/synchronizedList
Add Collections.synchronizedList to classpath
2014-12-12 20:44:15 -07:00
Mike Jensen
7baa5243b0 Add Collections.synchronizedList to classpath 2014-12-12 11:35:39 -07:00
Joel Dice
980c3025fc Merge pull request #379 from joshuawarner32/master
ASM refactoring
2014-12-10 16:38:49 -07:00