Ivan Enderlin
95706160ee
Merge branch 'master' into feat-runtime-core-clos-host-function
2019-11-12 00:55:40 +01:00
Brandon Fish
aad390d09d
Deny missing docs in runtime core and add missing docs
2019-11-10 13:13:18 -06:00
Ivan Enderlin
ba87af5b1a
feat(runtime-core) Ability for an export function to get a func env.
2019-11-07 20:44:17 +01:00
Ivan Enderlin
2e05104d45
fix(runtime-core) Introduce Context::ExternalWithEnv
.
...
Host functions use `Context::External` with a `*mut vm::FuncCtx`
pointer, casted to `*mut vm::Ctx`. It creates a conflict with exports
that also use `Context::External`.
This patch introduces `Context::ExternalWithEnv` to create a specific
path in the code for an external context with `*mut vm::FuncEnv`.
This patch fixes all the `linking.wast` tests in the spectests.
2019-11-07 14:32:19 +01:00
Ivan Enderlin
293b71ac54
doc(runtime-core) Write more documentation.
2019-11-06 14:48:46 +01:00
Ivan Enderlin
3b34a9187a
chore(runtime-core) Remove dbg!
.
2019-11-06 14:48:46 +01:00
Ivan Enderlin
2a041f898e
!temp
2019-11-06 14:48:46 +01:00
Ivan Enderlin
e002c377ef
feat(runtime-core) vm::ImportedFunc
and vm::FuncCtx
have NonNull
pointers.
2019-11-06 14:48:46 +01:00
Ivan Enderlin
177c507a4e
feat(runtime-core) Introduce vm::FuncCtx
.
...
`vm::FuncCtx` replaces `vm::Ctx` as first argument passed to host
functions (aka imported functions).
2019-11-06 14:48:46 +01:00
Nick Lewycky
4d99963640
Replace "be the i32 type" with "be an i32" in error messages.
2019-10-07 12:11:10 -07:00
Mark McCaskey
dc1744560c
Add lots of rustdocs and clean up one line of code
2019-09-26 17:17:50 -07:00
Patrick Ventuzelo
b45a228e84
Merge branch 'master' into ventuzelo/fix-800-index-oob-backing
2019-09-25 09:30:33 +02:00
Patrick Ventuzelo
315b87c718
check index before accessing imports.globals
2019-09-18 10:28:49 +02:00
Mark McCaskey
9c205e05a2
Add comments explaining the unsafe impls and simplify the code, too
2019-09-17 18:35:12 -07:00
Mark McCaskey
83c3909b00
Implement it for memory and make Instance Send
2019-09-17 14:58:26 -07:00
Mark McCaskey
17a0e78cef
Implement Send for Instance
2019-09-17 10:37:37 -07:00
Patrick Ventuzelo
ba5c43e09d
fix issue 725, remove panics
2019-09-09 16:58:26 +02:00
Brandon Fish
9b4ba66e11
Add code comment explanation of validation
2019-08-11 13:59:48 -06:00
Brandon Fish
f61fc5c298
Validate all initializers before finalizing
2019-08-11 13:28:47 -06:00
Brandon Fish
38a8a0eb01
Minimize unsafe block to unsafe code
2019-08-10 17:20:27 -06:00
Brandon Fish
0b73776c84
Validate all memory data initializers before writing
2019-08-10 17:10:24 -06:00
Brandon Fish
b484ebb848
cargo fmt
2019-08-10 14:01:50 -06:00
Brandon Fish
bb8b4960b8
Remove filter which prevents initializer offset check
2019-08-10 13:59:31 -06:00
Brandon Fish
1584beebe6
Invalid table size for elems should produce link error
2019-08-10 12:13:14 -06:00
Brandon Fish
5d9aa1f986
Return link error instead of assertion failure for bad data initialization
2019-08-07 15:40:42 -06:00
Nick Lewycky
3e0a2a05e2
Fix typo in panic!
2019-06-18 15:15:49 -07:00
losfair
6aec1c4b5f
Use INTERNALS_SIZE
2019-05-17 01:33:33 +08:00
losfair
14fcd78b30
Update bin/wasmer and run cargo fmt.
2019-05-17 01:15:05 +08:00
losfair
6aa87a0bbf
Add the internals
field and necessary structures for metering.
2019-05-17 01:10:21 +08:00
losfair
db9705f00c
Merge remote-tracking branch 'origin/master' into feature/remote-code-load
2019-05-14 15:46:15 +08:00
Syrus
8218e550fc
Improved docs and fixed few typos
2019-05-13 11:18:57 -07:00
Syrus
5a6cb96714
Merge branch 'master' into docs/better-runtime-docs
...
# Conflicts:
# lib/runtime-core/src/vm.rs
2019-05-13 11:08:00 -07:00
Heyang Zhou
c4e4efc694
kwasm imports
2019-05-04 08:28:13 -07:00
Lachlan Sneff
d8c6f76846
Redesign the interface between the runtime and the backends.
...
This removes the ProtectedCaller and FuncResolver traits, simplifying call implementations and improving dynamic call throughput.
2019-04-11 18:01:54 -07:00
Lachlan Sneff
3eaf5525d1
Add some better docs
2019-03-13 14:58:44 -07:00
Lachlan Sneff
17eada53f3
feat(runtime) Get ready for tiering ( #257 )
...
* Add local_function field to context
* Add local call indirection to llvm
* local call indirection
* Fix vm test
* Fix cranelift local call indirection
* Fix unwinding on nightly
2019-03-08 15:15:16 -08:00
Lachlan Sneff
801979c40d
Add dynamic sigindices to the vm context.
2019-03-03 21:26:34 -08:00
Lachlan Sneff
327e3a4a1a
Implement many wasm instructions
2019-02-09 15:53:40 -08:00
Lachlan Sneff
aa90a33501
Make module info store FuncSig, not Arc<FuncSig>
2019-02-08 14:19:58 -08:00
Lachlan Sneff
8fe9b7eac2
Add caching. ( #134 )
...
* Allow a module to have a different signature registry than the process-specific
* Add core ability to build compiled code caches
* Remove timing printouts
* Serialize/Deserialize memories to reduce copies
* Work more on api
* Relocate local functions relatively before external functions
* Fix incorrect definition in test
* merge errors caused by merge
* Fix emscripten compile
* Fix review comments
2019-02-06 16:26:45 -08:00
Lachlan Sneff
8a8290b155
Add touch-ups to new memory api
2019-02-05 10:20:04 -08:00
Lachlan Sneff
00db5410c5
Change memory access api again
2019-02-04 23:07:58 -08:00
Lachlan Sneff
7fce447276
Change memory api
2019-02-04 15:07:32 -08:00
Lachlan Sneff
ccd43df767
Instantiate takes reference
2019-02-02 15:58:33 -08:00
Lachlan Sneff
69e9c5154d
Add Pages and Bytes newtypes
2019-01-29 15:44:15 -08:00
Lachlan Sneff
bc78738bb7
renaming
2019-01-29 14:15:59 -08:00
Lachlan Sneff
581363119b
More review fixes
2019-01-29 13:04:42 -08:00
Lachlan Sneff
d73c7015fb
Change memory api a little
2019-01-29 12:12:37 -08:00
Lachlan Sneff
19242a413f
Get table imports working
2019-01-29 10:16:39 -08:00
Lachlan Sneff
98305c8731
Add new global import api
2019-01-28 11:55:44 -08:00