SSVM 0.7.3
0.7.3 (2021-01-22)
Features:
- Updated the
easylogging++
to v9.97.0.- Disabled the file logging.
- Initial supported the
WASI
host functions for old system (CentOS 6).- Updated the
WASI
subscription insterface. - Used
pipe
for oldGLIBC
.
- Updated the
- Added supporting of subcommand in
PO
. - Provided options to toggle white lists of
ssvm_process
inssvm
tool.--allow-command COMMAND
to add a command into white list inssvm_process
host functions.--allow-command-all
to allow all commands inssvm_process
host functions.
- Added the documentation of SSVM ecosystem.
Fixed issues:
- Fixed the loading issues in
file manager
.- Refined performance and added error handling in
readBytes
. - Fixed
LEB128
andULEB128
decoding and error codes.
- Refined performance and added error handling in
- Fixed security issues of executing commands in
ssvm_process
host functions.- Managed a white list for command execution.
Refactor:
- Used vector of instance instead of
std::unique_ptr
in AST nodes. - Merged all instruction node classes.
- Added
OpCode::Else
instruction. - Serialized the instruction sequences. Move out the block body of
If
,Block
, andLoop
instructions.
- Added
- Applied the proposal configuration checking in the loader phase.
- Moved the
OpCode
and value type validation of proposal configuration checking to loader phase. - Fixed the logging message.
- Added helper functions to clean codes of logging.
- Moved the
- Refactored the validator for instruction serialization.
- Removed the duplicated proposal configuration checking done at the loader phase.
- Serialized the instruction iterating when validating.
- Refactored the
Label
instack manager
.Label
will record thefrom
instruction iterator that causes entering this label.- Removed the
next
instruction getter instack manager
.
- Refactored the instruction iterating mechanism in
interpreter
.- Used the
program counter
to iterate and execute the instructions. - Merged all switch cases of
OpCode
.
- Used the
- Moved out
AOT
related proxy codes and helper functions ininterpreter
to dependent files.
Tools:
- Added
binfmt
supporting forWASM
interpreter.- Please use the tool
tools/ssvm/ssvm-static
with the same arguments asssvm
.
- Please use the tool
- Provided
manylinux*
support for legacy operatoring systemsmanylinux1
is based on CentOS 5.9manylinux2010
is based on CentOS 6manylinux2014
is based on CentOS 7
Tests:
- Updated file manager tests for
LEB128
andULEB128
decoding. - Updated AST tests for refactored AST nodes.
- Updated instruction tests for refactored instruction nodes.
- Added
PO
tests. - Added
ssvm_process
tests.