Closed
Description
My understanding is that it's possible to implement virtual methods in AssemblyScript before GC/reftypes land in WASM:
- Make compiler emit vtables for classes not marked as
@unmanaged
- Make
__memory_allocate
take another optional parameter (vtable pointer). This can be stored before returned memory address, so that code expecting same object field offsets as now doesn't break. - Use
call_indirect
for method calls (looking up function index in vtable)