Skip to content

Conversation

@dcodeIO
Copy link
Contributor

@dcodeIO dcodeIO commented Sep 16, 2020

Changes the storage type of type ids in BinaryenLiteral from int32_t to uintptr_t, matching Literal. The maximum storage size of type ids changed with the introduction of tuples, with their type id being the memory address of the canonicalized type vector.

Interestingly, the related check

static_assert(sizeof(BinaryenLiteral) == sizeof(Literal),
"Binaryen C API literal must match wasm.h");

did not catch this due to implicit struct alignment, and other tests did not notice because type ids typically do not grow to values larger than 32 bits.

@dcodeIO
Copy link
Contributor Author

dcodeIO commented Sep 16, 2020

Invocations so far:
   FuzzExec: 14711
   CompareVMs: 3943
   CheckDeterminism: 1300
   Wasm2JS: 3504
   Asyncify: 3732

ITERATION: 17357

@dcodeIO dcodeIO merged commit a96e831 into WebAssembly:master Sep 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants