sandbox: Replace CPT with TPT
Replace the Code Pointer Table (CPT) usage with the Trusted Pointer Table (TPT).
The CPT was a special version of the TPT that allowed for storing the instruction stream start in the entry itself. This is unused as of today and we may as well use the TPT for Code as well. This simplifies indirect pointers in that it remove the tag bit that was used to differentiate between TPT and CPT references.
The TPT usages of Code all share a single tag (for Code) but use XOR-based tagging for the instruction stream start.
The CPT was process-global (causing issues with GC and the sandbox). Moving to TPT requires building RO artifacts that can be shared by all isolates. This is analogous to the External Pointer Table (EPT).
TAG=AGY
CONV=13f4a9eb-7b47-48ac-9bd3-4e55b4383b7a
Bug: 498510170
Change-Id: I1ae9bcb44235d9abb6bad129e2ab6755d218f9d1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7726282
Reviewed-by: Samuel Groß <saelo@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Maksim Ivanov <emaxx@google.com>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/main@{#107693} M
Michael Lippautz committed
bafbb8a8025e6405f43bfbdda940af712d078fe0
Parent: 2810557
Committed by v8-scoped@luci-project-accounts.iam.gserviceaccount.com <v8-scoped@luci-project-accounts.iam.gserviceaccount.com>
on 6/1/2026, 2:01:14 PM