SSVM 0.7.0
0.7.0 (2020-10-16)
Features:
- Applied the reference types and bulk memory operations proposal.
- Added the definition of reference types.
- Added helper functions for function index to
funcref
conversions. - Added helper functions for reference to
externref
conversions.
- Added helper functions for function index to
- Added the following new instructions.
- Reference instructions:
- ref.null
- ref.is_null
- ref.func
- Table instructions:
- table.get
- table.set
- table.init
- elem.drop
- table.copy
- table.grow
- table.size
- table.fill
- Memory instructions:
- memory.init
- data.drop
- memory.copy
- memory.fill
- Parametric instructions:
- select t
- Reference instructions:
- Updated implementation of the following instructions.
- call_indirect
- select
- Applied the new definition of
data count section
,data segment
, andelement segment
. - Applied validation for
data segment
andelement segment
. - Added the
data instance
andelement instance
. - Applied the new instantiation flow.
- Added the definition of reference types.
Refactor:
- Completed the enumeration value checking in the loading phase.
- Updated the value type definition.
ValType
is updated to includeNumType
andRefType
.NumType
is updated to includei32
,i64
,f32
, andf64
.RefType
is updated to includefuncref
andexternref
, which replaced theElemType
.
- Updated error codes according to the test suite for the reference types proposal.
- Extended validation context for recording
datas
,elements
, andrefs
. - Updated runtime structures.
- Fixed minimum pages definition in
memory instance
. - Applied new definitions of
table instance
. - Extended
module instance
for placingdata instance
andelement instance
. - Extended
store
for owningdata instance
andelement instance
.
- Fixed minimum pages definition in
- Updated template typename aliasing in
interpreter
.
Tests:
- Applied new test suite for the proposal.
- Supported
funcref
andexternref
types parameters in core tests. - Added
externref
tests for testing object binding and samples.- Please see the document for detail.