NoThis patch isn't yet ready for detailedmerging, but I think is ready for high-level review. ThisNote that it assumes something like [this](https://gist.github.com/asb/a0f673b1c6bd8f8b91e98c15fcc640f0) has been merged into D122215.
* funcref test coverage
* Semantic restrictions and test coverage for C++
WebAssembly tables are modeled at the IR level as arrays in address space 1. As the instructions accessing tables take the table index as an immediate, use of tables is very restricted (i.e. it isn't possible to pass as an argument etc). This patch models tables in C as arrays of reference types and adds various semantic restrictions to avoid illegal uses. Some of these restrictions overlap with those for sizeless types, while of course the limitations on passing in parameters and so on go above and beyond that.
I'd really appreciate any high-level feedback / questions / concerns about this approach at this point.
Only has test coverage for externref types and externref tables, as a planned update to D122215 will see changes to funcrefs. Otherwise, the main TODO is C++ test coverage and semantic restrictions.