Closed Bug 1647602 Opened 4 years ago Closed 4 years ago

Fix boolean type in CacheIR

Categories

(Core :: JavaScript Engine: JIT, task, P2)

task

Tracking

()

RESOLVED FIXED
mozilla80
Tracking Status
firefox80 --- fixed

People

(Reporter: jandem, Assigned: jandem)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

CacheIR's GuardToBoolean returns an Int32OperandId. This is fine for some consumers that want an int32, but in other places it's really confusing. I think we should split this in GuardBooleanToInt32 + a proper boolean type for the other cases.

  • Renames the old GuardToBoolean that returned an Int32Id to GuardBooleanToInt32 for now.
  • Adds BooleanId and makes various instructions take this instead of Int32Id.
  • Fix some TODOs/hacks.
Assignee: nobody → jdemooij
Status: NEW → ASSIGNED

Removes the resultId to match what we do for other types.

We should consider removing the lazy-unboxing scheme to simplify CacheIRCompiler
and change this back for all types, but until then let's at least be consistent.

Depends on D84467

Blocks: 1653246
Pushed by jdemooij@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/73aeebb42476
part 1 - Add a BooleanId type to CacheIR. r=iain
https://hg.mozilla.org/integration/autoland/rev/4d570314ac00
part 2 - Make GuardToInt32 match other guard instructions. r=iain
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla80
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: