gecko-dev/js
Ryan Hunt 70509cb3c2 Bug 1790626 - wasm: Use pointer to TypeDef instead of type index in PackedType. r=yury
This commit switches the representation of PackedType (and therefore ValType/FieldType)
to use a *TypeDef instead of type index.

There are several changes here:
  1. PackedTypeCode is always 64-bits now to pack the pointer. This penalizes 32-bit
     platforms, but we likely don't care about them enough to try to optimize this.
  2. RefType::TypeIndex is RefType::TypeRef
  3. RefType::typeIndex() is RefType::typeDef()
  4. TypeContext now stores a map from *TypeDef to original type index for printing errors
  5. Decoding a RefType now stores a *TypeDef instead of type index
  6. We now just transfer the SharedTypeContext from ModuleEnvironment to Metadata instead
     of copying definitions. This is needed for sharing the indexOf map.
  7. We now manually serialize/deserialize TypeContext
  8. TypeContext now stores SharedTypeDef in vector instead of TypeDef, this is needed so
     that *TypeDef is not invalidated across resizing the vector (asm.js does this)
  9. The initialization of TypeContext is refactored to keep the indexOf map in-sync
     with adding new types (asm.js needs this)
  10. We now manually serialize/deserialize PackedTypeCode using a new SerializedTypeCode
  11. Serialization now needs a TypeContext in order to get the index of type definitions
  12. Deserialization now constructs a TypeContext, and uses that when deserializing
      ValType/RefType/FieldType

Differential Revision: https://phabricator.services.mozilla.com/D157387
2022-10-26 14:48:08 +00:00
..
examples
loader Bug 1712762 - Check if module load requests have already been cancelled in ModuleLoaderBase::CancelDynamicImport r=yulia 2022-10-12 16:26:20 +00:00
public Bug 1795452 - Add shell option to enable/disable Array.fromAsync r=arai 2022-10-24 19:19:01 +00:00
src Bug 1790626 - wasm: Use pointer to TypeDef instead of type index in PackedType. r=yury 2022-10-26 14:48:08 +00:00
xpconnect Bug 1795880 - Add an ESLint rule to enforce using static imports where possible. r=arai,geckoview-reviewers,m_kato 2022-10-26 09:37:46 +00:00
app.mozbuild
ffi.configure
moz.build
moz.configure Bug 1795914 - Remove JS Streams implementation r=jandem 2022-10-24 16:05:58 +00:00
sub.configure