Skip to content

JIT throughput: CSE bitvector size, for x86 #7712

Description

@BruceForstall

The CSE package was changed recently from tracking CSEs using an int64 type to represent the CSE bitvector, to using our standard bitvector package. However, the CSE bitvector size was still set at 64. That means, for x86, using the “long” form of the bitvector: each one is a 32-bit pointer to a 64-bit array of bits, and all access is via a pointer indirection. This is much more costly than previously (and in JIT32).

Perhaps for x86 the CSE bitvector size should start at 32, so the "short" form of bitvector is used, and possibly that size change to something larger based on IR characteristics.

category:throughput
theme:ir
skill-level:intermediate
cost:small

Metadata

Metadata

Assignees

Labels

JitThroughputCLR JIT issues regarding speed of JIT itselfarea-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIenhancementProduct code improvement that does NOT require public API changes/additionstenet-performancePerformance related issue

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions