Bug 1401675 Comment 26 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

Just an update here, it took me more time than expected to adapt the compiler to expect that blocks and functions could have multiple results.  I ended up making it so that `wasm::OpIter` keeps a `ValTypeVector` stack of result and parameter types for all live blocks, which mostly replaces ExprType.  Changing `FuncType` to have a vector of results instead of an ExprType return value took a bit of time though; I'll probably have to split this patch.  Anyway, things are en route and hopefully I'll post a patch on Monday.
Just an update here, it took me more time than expected to adapt the compiler to expect that blocks and functions could have multiple results.  I ended up making it so that `wasm::OpIter` keeps a `ValTypeVector` stack of result and parameter types for all live blocks.  Code refers to this stack using `class ResultTypeRef { size_t stackBase; uint32_t resultCount; }` and `class FuncTypeRef : public ResultTypeRef { uint32_t paramCount; }` types; these types mostly replace ExprType.

Changing `FuncType` to have a vector of results instead of an ExprType return value took a bit of time though; I'll probably have to split this patch.

Anyway, things are en route and hopefully I'll post patches on Monday.
Just an update here, it took me more time than expected to adapt the compiler to expect that blocks and functions could have multiple results.  I ended up making it so that `wasm::OpIter` keeps a `ValTypeVector` stack of result and parameter types for all live blocks.  Code refers to this stack using `class ResultTypeRef { size_t stackBase; uint32_t resultCount; }` and `class FuncTypeRef : public ResultTypeRef { uint32_t paramCount; }` types; these types mostly replace ExprType.

Changing `FuncType` to have a vector of results instead of an ExprType return value took a bit of time though; I'll probably have to split this patch.

I haven't started with codegen yet, obviously.

Anyway, things are en route and hopefully I'll post patches on Monday.

Back to Bug 1401675 Comment 26