android-jsc icon indicating copy to clipboard operation
android-jsc copied to clipboard

Add x86_64 support

Open leeight opened this issue 7 years ago • 16 comments

See #5 & https://github.com/facebook/react-native/issues/2814

cc @ide @astreet @kmagiera

leeight avatar Oct 07 '16 01:10 leeight

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

leeight avatar Oct 10 '16 10:10 leeight

Is this ever going to get cleaned up and landed?

LegNeato avatar Feb 01 '17 03:02 LegNeato

(buck support for 64bit on Android has been in for months)

LegNeato avatar Feb 01 '17 03:02 LegNeato

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?

ide avatar Feb 02 '17 23:02 ide

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?

franzks-zz avatar Jun 06 '17 07:06 franzks-zz

It'd be great to see this PR merged. The build scripts are broken on master.

bootstraponline avatar Aug 11 '17 18:08 bootstraponline

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 avatar Dec 04 '17 10:12 govi

@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 avatar Dec 04 '17 14:12 newyankeecodeshop

@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 avatar Jan 03 '18 18:01 govi

@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.

newyankeecodeshop avatar Jan 03 '18 20:01 newyankeecodeshop

@ide anything we can do to push this foward ?

gengjiawen avatar Jan 17 '18 04:01 gengjiawen

@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).

ide avatar Jan 17 '18 05:01 ide

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.

gengjiawen avatar Jan 17 '18 06:01 gengjiawen

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.

ide avatar Jan 17 '18 06:01 ide

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.

gengjiawen avatar Jan 17 '18 06:01 gengjiawen

When is this going to be added? Am I missing something?

AustinHunt avatar Mar 08 '19 21:03 AustinHunt