Bug 247454 - Reduce aliasing of Wasm::Type type index field
Summary: Reduce aliasing of Wasm::Type type index field
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebAssembly (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Enhancement
Assignee: David Degazio
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2022-11-03 12:58 PDT by David Degazio
Modified: 2022-11-03 12:59 PDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Degazio 2022-11-03 12:58:47 PDT
The Wasm::Type data structure generated in JavaScriptCore/wasm/generateWasmOpsHeader.py contains a TypeIndex field, which is currently used to store any of the following:
 - TypeDefinition::invalidIndex, for simple/primitive types
 - A TypeKind, specifically Funcref or Externref, used to implement those types when typed function references are enabled
 - A pointer to a TypeDefinition, for compound types like functions or structs

We currently lose 7/16 bytes of Wasm::Type to padding, so it'd be nice to use some of that space (or maybe refactor Wasm::Type in general) to separate these values out into other fields or a union type so we aren't reinterpreting this uintptr_t all the time.
Comment 1 Radar WebKit Bug Importer 2022-11-03 12:59:00 PDT
<rdar://problem/101926680>