Closed Bug 1864212 Opened 2 years ago Closed 2 years ago

Reduce the amount of code that we generate for logical properties.

Categories

(Core :: CSS Parsing and Computation, defect)

defect

Tracking

()

RESOLVED FIXED
122 Branch
Tracking Status
firefox122 --- fixed

People

(Reporter: emilio, Assigned: emilio)

Details

Attachments

(1 file)

No description provided.

This performs a couple of related changes I've wanted to do for a while.

Right now, we generate a lot of redundant code for logical properties,
when the cascade is already taking care of physicalizing them.

Also, LonghandId::to_physical is doing a lot more work than it should
(for actual logical properties). Instead, use a table-lookup-based
implementation which should be faster and generate less code.

For that, we need to perform a couple changes to the logical_geometry
code, including some conversions that I borrowed from WritingMode.h.

But other than that it should be mostly straight-forward: We already
assert that all properties in the same logical group have the same
specified value type.

Also this gets rid of the logical-getter-helper shenanigans, which was
very hard to reason about.

Pushed by ealvarez@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c22a3344faf4 Reduce the amount of code that we generate for logical properties. r=jwatt
Pushed by emilio@crisal.io: https://hg.mozilla.org/integration/autoland/rev/239b5d197b0f Re-introduce some changes that were lost during rebase.
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 122 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: