mirror of
https://github.com/pezkuwichain/wasm-instrument.git
synced 2026-06-17 06:31:03 +00:00
samples and html fix
This commit is contained in:
+10
-1
@@ -3,4 +3,13 @@
|
|||||||
# "Compile rust source and put it as a tested contract"
|
# "Compile rust source and put it as a tested contract"
|
||||||
|
|
||||||
mkdir -p out
|
mkdir -p out
|
||||||
rustc $1 -o out/contract.js -O --target wasm32-unknown-emscripten
|
|
||||||
|
file=$1
|
||||||
|
if [ ${file: -3} == ".rs" ]
|
||||||
|
then
|
||||||
|
# Rust is compiled with rustc
|
||||||
|
rustc $file -o out/contract.js -O --target wasm32-unknown-emscripten
|
||||||
|
else
|
||||||
|
# c/c++ can be compiled directly by emcc
|
||||||
|
emcc $file -Os -s WASM=1 -s SIDE_MODULE=1 -o out/contract.wasm
|
||||||
|
fi
|
||||||
+3
-3
@@ -35,7 +35,7 @@
|
|||||||
|
|
||||||
env.DYNAMICTOP_PTR = env.DYNAMICTOP_PTR || 0;
|
env.DYNAMICTOP_PTR = env.DYNAMICTOP_PTR || 0;
|
||||||
env.STACKTOP = env.STACKTOP || 0;
|
env.STACKTOP = env.STACKTOP || 0;
|
||||||
env.STACK_MAX = env.STACK_MAX || 0;
|
env.STACK_MAX = env.STACK_MAX || 5*1024*1024;
|
||||||
env.enlargeMemory = env.enlargeMemory || function() { throw "error enlarging memory"; };
|
env.enlargeMemory = env.enlargeMemory || function() { throw "error enlarging memory"; };
|
||||||
env.getTotalMemory = env.getTotalMemory || function() { return 65536 * 256; };
|
env.getTotalMemory = env.getTotalMemory || function() { return 65536 * 256; };
|
||||||
env.abortOnCannotGrowMemory = env.abortOnCannotGrowMemory || function() { throw "abort growing memory"; };
|
env.abortOnCannotGrowMemory = env.abortOnCannotGrowMemory || function() { throw "abort growing memory"; };
|
||||||
@@ -45,10 +45,10 @@
|
|||||||
env.tableBase = env.tableBase || 0;
|
env.tableBase = env.tableBase || 0;
|
||||||
|
|
||||||
if (!imports.env.memory) {
|
if (!imports.env.memory) {
|
||||||
imports.env.memory = new WebAssembly.Memory({ initial: 256 });
|
imports.env.memory = new WebAssembly.Memory({ initial: 256, maximum: 256 });
|
||||||
}
|
}
|
||||||
if (!imports.env.table) {
|
if (!imports.env.table) {
|
||||||
imports.env.table = new WebAssembly.Table({ initial: 0, element: 'anyfunc' });
|
imports.env.table = new WebAssembly.Table({ initial: 0, maximum: 0, element: 'anyfunc' });
|
||||||
}
|
}
|
||||||
return new WebAssembly.Instance(module, imports);
|
return new WebAssembly.Instance(module, imports);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
int call(int x) {
|
||||||
|
return 2 * x;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user