Wasm baseline: Avoid double dispatch in popI64(), popF32(), popF64()

RESOLVED FIXED in Firefox 53

Status

()

defect
P5
normal
RESOLVED FIXED
3 years ago
3 years ago

People

(Reporter: lth, Assigned: dmajor)

Tracking

(Blocks 1 bug)

unspecified
mozilla53
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox53 fixed)

Details

Attachments

(1 attachment)

Compare eg popI64() with popI32(): the former has a common case for ConstI64 and LocalI64 that dispatches to loadI64(), which does another tag check to discriminate between these.  popI32() has different cases for ConstI32 and LocalI32 that dispatch directly to the proper routines (loadConstI32 and loadLocalI32).

The code in popI64(), popF32(), and popF64() is a holdover from the early days; we should clean these up as popI32() was cleaned up.  This will improve compilation speed a little, though in truth the I32 case is probably the most important.
Posted patch patch v1Splinter Review
Is this what you had in mind?
Assignee: nobody → dmajor
Attachment #8812955 - Flags: review?(lhansen)
Comment on attachment 8812955 [details] [diff] [review]
patch v1

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

Indeed exactly like this.
Attachment #8812955 - Flags: review?(lhansen) → review+
Pushed by dmajor@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/6bcb02abe8fc
Refactor {load,pop}{I64,F32,F64} to avoid testing src.kind() twice. r=lth
https://hg.mozilla.org/mozilla-central/rev/6bcb02abe8fc
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla53
You need to log in before you can comment on or make changes to this bug.