SSVM 0.7.2
0.7.2 (2020-12-17)
Features:
- Added a cmake option to toggle the compilation of
ssvm
andssvmr
tools.- This option is
ON
in default. cmake -DBUILD_TOOLS=Off
to disable the compilation oftools/ssvm
folder when building.
- This option is
- Applied the Fixed-width SIMD proposal.
- Please refer to the SIMD document for more details.
- Provided options to toggle proposals for the compiler and runtime.
--enable-bulk-memory
to enable bulk-memory operations proposal.--enable-reference-types
to enable reference types proposal.--enable-simd
to enable SIMD proposal.--enable-all
to enable all supported proposals.
- Supported
roundeven
intrinsic in LLVM 11.
Fixed issues:
- Used
std::filesystem::path
for all paths. - Interpreter
- Fixed
call_indirect
table index checking in the validation phase. - Removed redundant
reinterpret_cast
in interpreter.
- Fixed
- AOT compiler
- Forced unalignment in load and store instructions in AOT.
- Not to report error in
terminated
case.
- WASI
- Updated size of
linkcount
tou64
.
- Updated size of
Refactor:
- Added
uint128_t
intoSSVM::ValVariant
.- Added number type
v128
.
- Added number type
- Added
SSVM::RefVariant
for 64bit-width reference variant. - Refactor AOT for better performance.
- Added code attribute in AOT to speed up normal execution.
- Rewrote element-wise boolean operators.
- Used vector type in stack and function for better code generation.
- Rewrite
trunc
instructions for readability.
Tools:
- Deprecated
ssvmr
tool, since the functionalities are the same asssvm
tool.- Please use the tool
tools/ssvm/ssvm
with the same arguments.
- Please use the tool
- Combined the tools folder. All tools in
tools/ssvm-aot
are moved intotools/ssvm
now.
Tests:
- Added Wasi test cases.
- Added test cases for
args
functions. - Added test cases for
environ
functions. - Added test cases for
clock
functions. - Added test cases for
proc_exit
andrandom_get
.
- Added test cases for
- Updated test suites and categorized them into proposals.
- Added SIMD proposal test suite.
- Official test suite
- SSVM unit test in proposals