This repository was archived by the owner on Dec 22, 2021. It is now read-only.

Description
Hi everyone,
@ngzhian has encouraged me to share the discussion we're having on building an x64 constant pool and related optimizations in V8 since it might be helpful to other people implementing compilers. Specifically, we're putting together a design document that shows how a constant pool will improve the performance of select operations -- the first being shuffle. However, it seems unlikely that shuffle would be the only thing that would receive a performance benefit. There's probably a handful of other cases that stand out with a constant intermediate being reused more than one time. For instance, if someone were calling extended multiply i32x4->i64x2 in a loop.
If you have specific benchmarks or places, which might be well addressed by the constant pool and/or constant optimization, please post them here. I would love to include them and your input in the design proposal.