Upgrade VIXL Utils and Globals to the latest version

RESOLVED FIXED in Firefox 69

Status

()

enhancement
P2
normal
RESOLVED FIXED
Last month
27 days ago

People

(Reporter: sstangl, Assigned: sstangl)

Tracking

(Blocks 1 bug)

67 Branch
mozilla69
ARM64
All
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox69 fixed)

Details

Attachments

(1 attachment)

Assignee

Description

Last month

This bug upgrades js/src/jit/arm64/vixl/Utils-vixl.h and js/src/jit/arm64/vixl/Globals-vixl.h to the most recent variants from the upstream repository.

This is preliminary work to allowing encoding of JSCVTFP, the instruction that exists on new AArch64 devices that greatly speeds up websites that use floating-point math.

This patch upgrades just the Utils and Globals files because that alone touches many parts of the codebase.

Assignee

Comment 1

Last month

This is preliminary work to allowing encoding of JSCVTFP, the instruction that exists on new AArch64 devices that greatly speeds up websites that use floating-point math.

(In reply to Sean Stangl [:sstangl] from comment #1)

This is preliminary work to allowing encoding of JSCVTFP, the instruction that exists on new AArch64 devices that greatly speeds up websites that use floating-point math.

The name of this instruction is FJCVTZS, right?

However, I am suspicious about the fact that this is behind a feature flag knowing that multiple core might not even have the same cache line sizes. We would have to ensure that either we check that all core have this feature or that we implement a SIGILL handler.

I do not yet see this instruction as part of https://github.com/armvixl/vixl , is that expected?

(edit) the new official URL is https://git.linaro.org/arm/vixl.git/tree/ and include the new instruction.

Assignee

Comment 5

Last month

In reference to the above, yes, and Linaro has taken over development of VIXL for about a year.

We would have to ensure that either we check that all core have this feature or that we implement a SIGILL handler.

I think we can depend on the check applying for all cores. It would be insane to ship devices with CPUs that understand different instruction sets, and then allow randomly scheduling threads across all cores. That would just explode everywhere.

So in the same way that we don't currently check for ARMv8-a versus ARMv8-b across cores, we don't have to check for ARMv8-c across cores.

Comment 6

Last month
Pushed by sstangl@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/bfa4ce8a0ef6
Update VIXL to recent Utils and Globals files. r=nbp

Comment 9

Last month
Pushed by sstangl@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/53f2ffc77a62
Update VIXL to recent Utils and Globals files. r=nbp
Assignee

Comment 10

Last month

The commit just pushed passed a treeherder build here: https://treeherder.mozilla.org/#/jobs?repo=try&revision=75b88b0e03eeb57c635ba7e10e423f2066864222

So I am now more optimistic that it will build in more places than just locally :)

Flags: needinfo?(sstangl)

Comment 11

Last month
bugherder
Status: ASSIGNED → RESOLVED
Closed: Last month
Resolution: --- → FIXED
Target Milestone: --- → mozilla69
Assignee

Updated

27 days ago
Blocks: 1555509
You need to log in before you can comment on or make changes to this bug.