Closed Bug 1811447 Opened 1 year ago Closed 1 year ago

Shrink size of MoveOperand and MoveOp

Categories

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

task

Tracking

()

RESOLVED FIXED
111 Branch
Tracking Status
firefox111 --- fixed

People

(Reporter: jandem, Assigned: jandem)

Details

Attachments

(4 files)

While looking at Ion memory usage, I noticed we waste quite a lot of space here and we can easily shrink sizeof(MacroAssembler) from 2328 to 2072 bytes with some minor changes.

Register codes fit in a byte. See also AnyRegister::code_ for example.

Depends on D167359

Drive-by change: TempObject adds support for allocating using TempAllocator,
but this doesn't make sense for LAllocation because it's pointer-size anyway.

Depends on D167361

Pushed by jdemooij@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ad107c12bf98
part 1 - Make MoveOperand::Kind an enum class and use uint8_t for it. r=iain
https://hg.mozilla.org/integration/autoland/rev/7a8d1449528a
part 2 - Change MoveOperand::code_ from uint32_t to uint8_t. r=iain
https://hg.mozilla.org/integration/autoland/rev/e52abaf3f7e5
part 3 - Reorder MoveOp fields and use uint8_t for enum. r=iain
https://hg.mozilla.org/integration/autoland/rev/7fe6720b9f21
part 4 - Remove TempObject base class from LAllocation. r=iain
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: