Closed Bug 2047250 Opened 5 months ago Closed 4 months ago

Allow disabling constant pools in AssemblerBufferWithConstantPools

Categories

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

task

Tracking

()

RESOLVED FIXED
154 Branch
Tracking Status
firefox154 --- fixed

People

(Reporter: anba, Assigned: anba)

References

(Blocks 1 open bug)

Details

Attachments

(5 external files)

Allow disabling constant pools in AssemblerBufferWithConstantPools when only branch deadlines are needed, as is the case for riscv64.

Spew the constant pool instructions in WritePoolGuard, because the guard
instruction is written after the veneer branches, even though the guard
appears earlier in the final assembly.

Allow to opt-out of constant pools when setting HeaderSize to zero.

This will be used in part 3 for RISCV64.

And remove functions which are no longer needed when not using constant pools.

Shrinks the size from 160 to 152 bytes.

Drive-by change:

  • Use field initialisers when possible.
Severity: -- → N/A
Priority: -- → P1
Pushed by rperta@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/a252f3b552ab https://hg.mozilla.org/integration/autoland/rev/2dfa91a828f3 Revert "Bug 2047250, Bug 2047249 - Part 5: Add comments and remove unused code. r=jandem" for causing build bustages at testAssemblerBuffer.cpp

Backed out for causing build bustages at testAssemblerBuffer.cpp
Backout link
Push with failures
Failure log(s)

Flags: needinfo?(andrebargull)

MOZ_NO_UNIQUE_ADDRESS contains a note that [[no_unique_address]] should be used for C++20, but apparently Windows builds still require [[msvc::no_unique_address]]. Switching [[no_unique_address]] to MOZ_NO_UNIQUE_ADDRESS in part 2 fixes the build error.

Flags: needinfo?(andrebargull)
QA Whiteboard: [qa-triage-done-c155/b154]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: