ARM64: Implement MacroAssembler::storeRegsInMask()

RESOLVED FIXED in Firefox 66

Status

()

enhancement
P2
normal
RESOLVED FIXED
5 months ago
5 months ago

People

(Reporter: sstangl, Assigned: sstangl)

Tracking

(Blocks 1 bug)

unspecified
mozilla66
ARM64
Unspecified
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox66 fixed)

Details

Attachments

(1 attachment)

Assignee

Description

5 months ago
Passes a lot of tests; basic implementation mirroring other platforms. Nothing exciting.
Attachment #9033584 - Flags: review?(nicolas.b.pierron)
Comment on attachment 9033584 [details] [diff] [review]
0001-Implement-MacroAssembler-storeRegsInMask.patch

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

::: js/src/jit/arm64/MacroAssembler-arm64.cpp
@@ +483,5 @@
> +  }
> +  MOZ_ASSERT(numFpu == 0);
> +  // Padding to keep the stack aligned, taken from the x64 and mips64 implementations.
> +  diffF -= diffF % sizeof(uintptr_t);
> +  MOZ_ASSERT(diffF == 0);

note: I suspect this assertion would trigger in the future with float32 test cases as FloatRegister::GetPushSizeInBytes [1] does not compute float32 storage space correctly, as opposed to x64 [2].

[1] https://searchfox.org/mozilla-central/source/js/src/jit/arm64/Architecture-arm64.cpp#59-61
[2] https://searchfox.org/mozilla-central/source/js/src/jit/x86-shared/Architecture-x86-shared.cpp#65-66,87
Attachment #9033584 - Flags: review?(nicolas.b.pierron) → review+
Assignee

Updated

5 months ago
Keywords: checkin-needed

Comment 2

5 months ago
Pushed by ncsoregi@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/fcf60924da90
Implement MacroAssembler::storeRegsInMask(). r=nbp
Keywords: checkin-needed

Comment 3

5 months ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/fcf60924da90
Status: NEW → RESOLVED
Last Resolved: 5 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla66
You need to log in before you can comment on or make changes to this bug.