Closed Bug 1357874 Opened 3 years ago Closed 3 years ago

Add more JS support for AArch64 Android

Categories

(Core :: JavaScript Engine, enhancement)

Other
Android
enhancement
Not set

Tracking

()

RESOLVED FIXED
mozilla55
Tracking Status
firefox55 --- fixed

People

(Reporter: jchen, Assigned: jchen)

References

(Blocks 1 open bug)

Details

Attachments

(2 files, 1 obsolete file)

No description provided.
Attached patch Fix errors/warnings in vixl (v1) (obsolete) — Splinter Review
* Fix unused-result warnings when compiling vixl for android-aarch64.

* Fix an unused-variable warning when compiling in non-DEBUG builds.

* Fix the unreachable macro in non-DEBUG builds to avoid no-return
  errors in some functions using the unreachable macro.
Attachment #8859714 - Flags: review?(nicolas.b.pierron)
* Fix a parentheses warning when compiling testGCAllocator.cpp.

* Define GETRANDOM_NR macro for AArch64.

* Disable Android workarounds in jsnativestack.cpp and
  WasmSignalHandlers.cpp for AArch64, because AArch64 is only supported
  on API 21+, in which case those workarounds don't apply.

* Enable trace logging in TraceLogging.cpp.
Attachment #8859715 - Flags: review?(luke)
I encountered crashes in jitted regexp code in my AArch64 Fennec build.
This patch disables that for now, but obviously we want to look into the
crashes and eventually turn this back on.
Attachment #8859716 - Flags: review?(snorp)
Attachment #8859715 - Flags: review?(luke) → review+
Comment on attachment 8859714 [details] [diff] [review]
Fix errors/warnings in vixl (v1)

Review of attachment 8859714 [details] [diff] [review]:
-----------------------------------------------------------------

::: js/src/jit/arm64/MacroAssembler-arm64.cpp
@@ +683,5 @@
>      stackForCall += ComputeByteAlignment(stackForCall, StackAlignment);
>      *stackAdjust = stackForCall;
>      reserveStack(*stackAdjust);
>      {
> +        mozilla::Unused << moveResolver_.resolve();

"MOZ_MUST_USE bool" is made to be used and not ignored, follow the same logic as done on x64.
Ignoring any of these errors can easily lead to exploitable security issue.

http://searchfox.org/mozilla-central/source/js/src/jit/x64/MacroAssembler-x64.cpp#488-490
Attachment #8859714 - Flags: review?(nicolas.b.pierron) → review-
This patch has some overlap with the patch in Bug 1356709.
Attachment #8859716 - Flags: review?(snorp) → review+
(In reply to Sean Stangl [:sstangl] from comment #5)
> This patch has some overlap with the patch in Bug 1356709.

Ok I'll wait for that to land.
Duplicate of this bug: 1307655
Attachment #8859714 - Attachment is obsolete: true
Pushed by nchen@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/042d975f9355
Add more AArch64 support to JS code; r=luke
https://hg.mozilla.org/integration/mozilla-inbound/rev/c2f3dec3544d
Disable RegExp JIT for AArch64; r=snorp
https://hg.mozilla.org/mozilla-central/rev/042d975f9355
https://hg.mozilla.org/mozilla-central/rev/c2f3dec3544d
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
Duplicate of this bug: 1359215
Duplicate of this bug: 1357434
Depends on: 1458662
You need to log in before you can comment on or make changes to this bug.