android-jsc
android-jsc copied to clipboard
Add x86_64 support
See #5 & https://github.com/facebook/react-native/issues/2814
cc @ide @astreet @kmagiera
This is the build output, but this PR depends on https://github.com/facebook/buck/pull/921
Date Time Attr Size Compressed Name
------------------- ----- ------------ ------------ ------------------------
1985-02-01 00:00:00 ..... 224 152 AndroidManifest.xml
1985-02-01 00:00:00 ..... 0 2 R.txt
1985-02-01 00:00:00 D.... 0 0 assets
1985-02-01 00:00:00 ..... 293 136 classes.jar
1985-02-01 00:00:00 D.... 0 0 jni
1985-02-01 00:00:00 D.... 0 0 jni/arm64-v8a
1985-02-01 00:00:00 ..... 1439272 548379 jni/arm64-v8a/libicu_common.so
1985-02-01 00:00:00 ..... 3185640 1169618 jni/arm64-v8a/libjsc.so
1985-02-01 00:00:00 D.... 0 0 jni/armeabi-v7a
1985-02-01 00:00:00 ..... 931204 440769 jni/armeabi-v7a/libicu_common.so
1985-02-01 00:00:00 ..... 1898652 938992 jni/armeabi-v7a/libjsc.so
1985-02-01 00:00:00 D.... 0 0 jni/x86
1985-02-01 00:00:00 ..... 1414424 580893 jni/x86/libicu_common.so
1985-02-01 00:00:00 ..... 5081248 1828951 jni/x86/libjsc.so
1985-02-01 00:00:00 D.... 0 0 jni/x86_64
1985-02-01 00:00:00 ..... 1374064 542868 jni/x86_64/libicu_common.so
1985-02-01 00:00:00 ..... 4849408 1749414 jni/x86_64/libjsc.so
1985-02-01 00:00:00 D.... 0 0 res
------------------- ----- ------------ ------------ ------------------------
1985-02-01 00:00:00 20174429 7800174 11 files, 7 folders
Is this ever going to get cleaned up and landed?
(buck support for 64bit on Android has been in for months)
This looks good to me. I believe it's fine to bump the target Android version, which is separate from the minimum Android version, so we'll still maintain compatibility with 4.x.
@mkonicek Could you merge this?
I'm trying to understand why React Native doesn't support arm64, and from reading the discussion on the RN issues post it seems this project is one of the dependencies, so until android-jsc officially supports arm64 support I guess RN won't be able to.
What else is blocking this PR from being merged?
It'd be great to see this PR merged. The build scripts are broken on master.
If there is any appetite to get this merged, I can raise a PR. The URL to download jsc sources is now broken, but we can still checkout the svn repo and get the same revision.
If there are other problems, it'd help us. We are seeing massive drop in performance for some use cases. If we are unable to support 64-bit sooner, it might make react-native a no-go for us.
@govi Have you tried the JavaScriptCore from this project? https://github.com/SoftwareMansion/jsc-android-buildscripts We have been using it in a couple of RN apps on Android, and it's great having a modern, ES2015 JavaScript runtime.
@newyankeecodeshop well, expo seemed to have rolled it back in their last release, due to some crashes in date functions. Prolly irrelevant to this ticket, but what is your experience with the new-jsc?
@govi We've been using it for several months on a new app running on Android 4.2-5.1 and haven't had any issues. We don't use the date toLocaleString
function that caused issues. It's been great having the full runtime APIs similar to iOS 10, which is the iOS version we target.
@ide anything we can do to push this foward ?
@gengjiawen The work was happening in this repo: https://github.com/SoftwareMansion/jsc-android-buildscripts. The one thing that comes to mind is testing the new JSC in a lot of conditions (different types of phones, different JS bundles).
But currently android-jsc still use nightly build webkit before 2016-08-26 and have no test. My main concern is that keep javascripcore up to date will give us better performance and better support to modern js features. And also support more cpu will get react native widely adopted.
Work in this repo appears to have stopped -- the most recent work on JSC for RN Android was on this repo: https://github.com/SoftwareMansion/jsc-android-buildscripts. That's where work for new versions of JSC (ES2015, 64-bit) is happening.
That said, it seems fine to me to merge this PR and I'll talk to someone who works on the FB Open Source team to see if they can help.
As far as I know, react native is still use this repo (https://github.com/facebook/react-native/blob/999851a3891b4c6ceffd37fa3a6bdb27c5b6159e/ReactAndroid/build.gradle#L291). And thanks for reaching out.
When is this going to be added? Am I missing something?