Closed Bug 1709803 Opened 4 years ago Closed 4 years ago

Enable asm.js on ARM64

Categories

(Core :: JavaScript: WebAssembly, enhancement, P2)

ARM64
All
enhancement

Tracking

()

RESOLVED FIXED
90 Branch
Tracking Status
firefox90 --- fixed

People

(Reporter: lth, Assigned: lth)

References

Details

Attachments

(1 file)

Asm.JS is disabled on ARM64 in AsmJS.cpp:

static bool IsAsmJSCompilerAvailable(JSContext* cx) {
#ifdef JS_CODEGEN_ARM64
  // Disable asm.js-via-Ion on arm64 until such time as that pathway, along
  // with the associated compiler-option logic, is better tested.  asm.js will
  // still be available on arm64, but will be forced along the JS pathway,
  // with the associated performance lossage.  See bugs 1699379 and 1697560.
  return false;
#endif
  return HasPlatformSupport(cx) && IonAvailable(cx);
}

Now that we have Ion on ARM64, we should try to reenable this. It may be that we should consider leaving it off for Cranelift; need to investigate this.

Depends on: 1697560

This simply removes the arm64 ifdef in IsAsmJSCompilerAvailable that would cause the
asm.js compiler to be unavailable on that platform.

The decision is thus delegated to WasmCompilerForAsmJSAvailable(cx), and that
predicate amounts to IonAvailable(cx), since the status of Cranelift for asm.js
is that it's not supported yet. When we have a chance to test Cranelift we
can enable asm.js support.

Depends on D114479

Pushed by lhansen@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/15c327320950 Remove asm.js blocker for arm64. r=jseward
Flags: needinfo?(lhansen)
Pushed by lhansen@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/f0a781b6d1cc Remove asm.js blocker for arm64. r=jseward
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 90 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: