Commit Graph

4621 Commits

Author SHA1 Message Date
Joel Dice
be91d792e4 fix Class.getInterfaces to return only declared interfaces
Previously, we returned all interfaces implemented directly or
indirectly, which did not match the JDK behavior.
2014-10-05 16:28:36 -06:00
Ilya Mizus
270bbc66f9 Added getGenericInterfaces() and fixed SignatureParser to work for everything except TypeVariable-s 2014-10-04 22:17:49 +04:00
Ilya Mizus
67cafb118c Added isAnonymousClass(), isLocalClass(), isMemberClass() functions to Class class 2014-10-02 23:51:25 +04:00
Joel Dice
6918517c0b Merge remote-tracking branch 'dicej/android-upgrade' into android-upgrade 2014-09-29 11:11:37 -06:00
Joel Dice
dec3d39d2e Merge remote-tracking branch 'origin/master' into android-upgrade 2014-09-29 11:11:06 -06:00
Joel Dice
ffb0f9b345 provide slightly more complete Thread.nativeGetStatus implementation
This fixes SimpleFramework (which depends on Thread.getState returning
Thread.State.NEW for unstarted threads) when using the Android class
library.
2014-09-29 11:08:41 -06:00
Joel Dice
3cb5f88e83 Merge pull request #341 from joshuawarner32/master
Classpath native sources to depend on vm-depends in makefile (fixes #340)
2014-09-24 14:24:02 -06:00
Joshua Warner
2b4f1bad5d make classpath native sources depend on vm-depends in makefile (fixes #340) 2014-09-24 13:15:41 -06:00
Joel Dice
b406e9c2ed Merge remote-tracking branch 'origin/master' into android-upgrade 2014-09-24 10:59:39 -06:00
Joshua Warner
15226aa3cc Merge pull request #339 from dicej/aotonly
abort if JIT triggered when AVIAN_AOT_ONLY is defined
2014-09-24 08:49:14 -06:00
Joel Dice
f347414675 abort if JIT triggered when AVIAN_AOT_ONLY is defined
If AVIAN_AOT_ONLY is defined and the VM is asked to compile a method
anyway, we should abort immediately rather than let it crash later
(e.g. due to an access violation on a non-jailbroken iPhone).  This
makes debugging such issues a bit easier since the failure will come
earlier and with a more obvious cause.
2014-09-22 16:35:53 -06:00
Joshua Warner
53491b7c38 Merge pull request #337 from dicej/master
implement JVM_isNaN
2014-09-21 18:00:36 -06:00
Joel Dice
69d9ab004a implement JVM_isNaN
This method was previously unimplemented and untested.  However, the
JMH benchmark suite requires it, so now it's time to implement it.
2014-09-21 17:31:45 -06:00
Joel Dice
5119c81d7d update README.md to reflect conscrypt fork 2014-09-18 11:53:53 -06:00
Joshua Warner
fa2ab168ce Merge pull request #336 from dicej/builtinelement-dispose
fix segfault in BuiltinElement::dispose
2014-09-15 09:33:55 -06:00
Joel Dice
ce91905b33 fix segfault in BuiltinElement::dispose
If a BuiltinElement is never used (i.e. we never try to load anything
from it), its init method will never be called, and thus its backing
library will never be loaded.  In that case, we should not try to call
library->disposeAll() in the destructor.
2014-09-15 09:03:02 -06:00
Joel Dice
1ca3e9a549 add Avian_java_lang_Thread_nativeSetName stub 2014-09-15 08:57:30 -06:00
Joshua Warner
a020105225 Merge pull request #334 from dicej/get-method-parameter-types
make Class.getMethod (and getConstructor) more strict about parameter ty...
2014-09-04 17:16:05 -06:00
Joel Dice
a81879129a add a TODO comment about class comparison 2014-09-03 16:24:15 -06:00
Joel Dice
6e209e2925 a couple of tweaks to get Mac/Android tests passing 2014-09-02 10:14:04 -06:00
Vasily Litvinov
5e08230ff2 Makefile fix for new ICU4C on Windows 2014-09-02 01:09:29 +04:00
Vasily Litvinov
e83ed4b454 Fixed CFLAGS for Android classpath under MinGW 2014-09-02 00:20:38 +04:00
Vasily Litvinov
62dc65e0e4 Fixed missing __BEGIN_DECLS / __END_DECLS on MinGW 2014-09-01 02:35:06 +04:00
Vasily Litvinov
33680dd676 Fixed jar tool usage - we should call "$(jar)" instead of simply "jar" 2014-09-01 01:13:14 +04:00
Ilya Mizus
f2493650d5 Small fix for Android Classpath on MacOS 2014-09-01 00:53:09 +04:00
Joel Dice
831c529a98 make Class.getMethod (and getConstructor) more strict about parameter types
This matches the JDK behavior.
2014-08-28 17:00:33 -06:00
Joel Dice
70d2ce429c Merge pull request #333 from sgoings/master
Add win32/win64 resolution in Gradle build
2014-08-28 16:09:45 -06:00
Seth Goings
1be50ba412 Clean up win32/64 extraction 2014-08-28 15:51:02 -06:00
Seth Goings
214cecfbc5 Merge branch 'master' of github.com:ReadyTalk/avian
* 'master' of github.com:ReadyTalk/avian:
  publish vm.pro as part of the classpath artifact
  fix gradle macosx OperatingSystem naming
  adjust gradle publish coordinates
  automagically detect java_home in gradle
  move binaryToObject to a 'tools' artifact
  change classpath artifact name to 'classpath-avian' and remove c++ sources from it

Conflicts:
	build.gradle
2014-08-28 15:34:34 -06:00
Joshua Warner
8bd28937df Merge pull request #331 from joshuawarner32/gradle-artifact-update
Gradle artifact update
2014-08-28 15:18:46 -06:00
Seth Goings
35c677ba0b Add snapshot/release repo 2014-08-28 14:58:35 -06:00
Seth Goings
c9dc5b1a9c Update wrapper to http (not https) for squeeze purposes 2014-08-28 14:48:21 -06:00
Seth Goings
72d9c8e191 Uncomment artifactoryPublish section 2014-08-28 14:41:31 -06:00
Seth Goings
4302602b63 Add win32/win64 dependencies 2014-08-28 14:25:58 -06:00
Joel Dice
58cbf5face fix Android thread enumeration 2014-08-22 16:07:44 -06:00
Joel Dice
7f4c0b3118 fix SSL stack and Android JAR resource loading 2014-08-22 07:20:19 -06:00
Joshua Warner
ea10178a55 publish vm.pro as part of the classpath artifact 2014-08-21 22:03:41 -06:00
Joshua Warner
38d67216b5 fix gradle macosx OperatingSystem naming 2014-08-21 22:00:12 -06:00
Joel Dice
b96cc3c575 update to more recent version of Android class library
Lots has changed since we forked Android's libcore, so merging the
latest upstream code has required extensive changes to the
Avian/Android port.

One big change is that we now use Avian's versions of
java.lang.Object, java.lang.Class, java.lang.ClassLoader, some
java.lang.reflect.* classes, etc. instead of the Android versions.
The main reason is that the Android versions have become very
Dex/Dalvik-specific, and since Avian is based on Java class files, not
dex archives, that code doesn't make sense here.  This has the side
benefit that we can share more native code with classpath-avian.cpp
and reduce the amount of Java/C++ code duplication.
2014-08-21 13:42:49 -06:00
Joshua Warner
d2809f2c4d adjust gradle publish coordinates 2014-08-21 11:06:56 -06:00
Joshua Warner
978f86b25c automagically detect java_home in gradle 2014-08-21 10:43:58 -06:00
Joshua Warner
282ebf9d84 move binaryToObject to a 'tools' artifact 2014-08-21 10:39:36 -06:00
Joshua Warner
4b4259be87 change classpath artifact name to 'classpath-avian' and remove c++ sources from it 2014-08-21 09:13:14 -06:00
Joshua Warner
ba808a8589 Merge pull request #330 from sgoings/master
Enable individual platform/arch builds by watching for platform/arch
2014-08-20 18:27:06 -06:00
Seth Goings
525a350853 Enable individual platform/arch builds by watching for platform/arch 2014-08-20 16:17:39 -06:00
Joshua Warner
c758da3fa5 Merge pull request #329 from dicej/atomic-flags
ensure Thread::flags is always updated atomically
2014-08-20 10:30:25 -06:00
Joel Dice
32aefaf421 ensure Thread::flags is always updated atomically
Since this field is sometimes updated from other threads, it is
essential that we always update it atomically.
2014-08-20 09:49:00 -06:00
Joshua Warner
e1074c026c Merge pull request #327 from dicej/tryNative
add avian.Machine.tryNative
2014-08-19 16:32:37 -06:00
Joel Dice
8b83de8985 add avian.Machine.tryNative
This function allows you to call native code such that any
SIGSEGV/SIGBUS/SIGFPE/EXC_ACCESS_VIOLATION/etc. raised by that code is
transformed into a Java exception and thrown by tryNative.  Note that
this effectively results in a longjmp out of whatever function raised
the exception, so any C++ destructors or other cleanup code will not
be run.
2014-08-19 14:03:46 -06:00
Joshua Warner
0c464f3f84 Merge pull request #328 from dicej/windows
Windows
2014-08-19 12:53:59 -06:00