Closed Bug 1499128 Opened Last year Closed Last year

Use MacroAssembler::branctTestPtr with NonZero instead of NotEqual condition in WasmBaselineCompile

Categories

(Core :: JavaScript Engine: JIT, enhancement, P5)

64 Branch
Other
Linux
enhancement

Tracking

()

RESOLVED FIXED
mozilla64
Tracking Status
firefox64 --- fixed

People

(Reporter: dragan.mladjenovic, Assigned: dragan.mladjenovic)

Details

Attachments

(1 file)

On MIPS the later is not an alias for the former and is unsupported in case of MacroAssembler::branctTestPtr.
Attached patch bug1499128.patchSplinter Review
Assignee: nobody → dragan.mladjenovic
Status: NEW → ASSIGNED
Attachment #9017234 - Flags: review?(jitbugs)
Attachment #9017234 - Flags: review?(jitbugs) → review+
Priority: -- → P5
Keywords: checkin-needed
I don't mind the change, but is MIPS the only platform where NonZero != NotEqual for integer data or is this universal in the masm layer?  I have always assumed these are equivalent...
Flags: needinfo?(nicolas.b.pierron)
For x86/x64, yes for sure as they are expressed with the Zero flag.
On ARM this is the same thing as well: https://searchfox.org/mozilla-central/source/js/src/jit/arm/Assembler-arm.h#1212-1213,1230-1231
On Arm64 as well: https://searchfox.org/mozilla-central/source/js/src/jit/arm64/vixl/Constants-vixl.h#236

Then, Test instructions do not check equality but the properties of the result of an AND instruction. So, English-wise speaking Test checks for Zero, and not for Equal(-Zero).
Flags: needinfo?(nicolas.b.pierron)
Pushed by ebalazs@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/2a75c9918716
Use MacroAssembler::branctTestPtr with NonZero instead of NotEqual condition in WasmBaselineCompile; r=nbp
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/2a75c9918716
Status: ASSIGNED → RESOLVED
Closed: Last year
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
You need to log in before you can comment on or make changes to this bug.