anb
3b2d751c55
Enable compilation for specific target
...
By exposing the target information through `CompilerConfig`,
compiler(only LLVM at the moment) could create a machine with
different CPU feature flags other than current host, which makes it
capable to "cross compile" to some degree.
Update #959
2019-11-15 18:51:59 -08:00
Brandon Fish
af12bf4f68
Merge branch 'master' into feature/deny-missing-docs-clif-backend
2019-11-12 11:43:54 -06:00
Brandon Fish
91b5059506
Deny missing docs in the clif backend crate
2019-11-11 20:05:04 -06:00
Ivan Enderlin
11f34a9285
feat(clif-backend,singlepass-backend) Feed imported functions with FuncCtx.vmctx
.
2019-11-12 00:51:57 +01:00
Ivan Enderlin
98e4ef066a
feat(runtime-core) Feed imported functions with vm::Ctx
again.
...
… and look for the associated `vm::FuncCtx`. This way, we don't break
the rule: “all functions receive a vmctx pointer as first argument.”.
2019-11-12 00:50:25 +01:00
Ivan Enderlin
6035bd2d9b
feat(runtime-core,clif-backend,llvm-backend) Rename an ImportFunc
offset.
...
`ImportedFunc::offset_vmctx` becomes `ImportedFunc::offset_func_ctx`.
2019-11-06 14:48:46 +01:00
Ivan Enderlin
edb6cbefca
fix(runtime-core) Share the definition of Trampoline
across all the backends.
...
This patch updates all the backends to use the definition of
`Trampoline` as defined in the `wasmer_runtime_core::typed_func`
module. That way, there is no copy of that type, and as such, it is
easier to avoid regression (a simple `cargo check` does the job).
This patch also formats the `use` statements in the updated files.
2019-10-30 13:10:34 +01:00
Mark McCaskey
0fd0ab6e58
Merge branch 'master' into ventuzelo/add-detail-unimplemented-calls-runtime
2019-10-23 12:30:14 -07:00
Ivan Enderlin
f101775380
fix(cranelift-backend) Remove broken (and useless?) debug code.
...
This debug code is broken (it doesn't compile). It can be assumed
nobody uses it, and can be considered as dead code. As such, this PR
removes it.
2019-10-17 22:55:30 +02:00
Patrick Ventuzelo
ed615c4878
fix build error docs
2019-10-07 12:56:55 +02:00
Patrick Ventuzelo
4b3880c88b
add details when calling unimplemented!
2019-10-03 11:26:54 +02:00
Brandon Fish
f48d6f6690
Cranelift backend update to fork of clif version 0.43.1
2019-09-21 13:06:54 -05:00
nlewycky
ea3d7272d9
The VM callbacks for shared static are the same as those for unshared static memory.
2019-09-09 08:34:47 -07:00
Patrick Ventuzelo
3a54111988
replace unimplemented by Err
2019-09-09 13:50:30 +02:00
Syrus
d8471e2b6a
Improved docs with custom logo and favicon
2019-09-03 17:06:31 -07:00
losfair
3f0dae3329
Fix compilation on AArch64 Linux.
2019-08-20 16:37:32 -07:00
Brandon Fish
bccbbb3d8b
Add deny nonstandard-style and unused-mut lints
2019-08-15 20:18:29 -06:00
Brandon Fish
5a41686192
Fix bare_trait_objects warnings
2019-08-08 16:46:52 -06:00
Brandon Fish
2f70a199e4
Add deny dead_code lint and fix one error
2019-08-01 20:46:35 -06:00
Brandon Fish
dfef2b6899
Merge branch 'master' into clif-backend
2019-08-01 11:59:02 -06:00
Pekka Enberg
869ac21f7b
clif-backend: Eliminate FunctionEnvironment construction in feed_event()
...
The feed_event() function is called for every wasm binary instruction.
Let's optimize it by storing FunctionEnvironment object in
CraneliftFunctionCodeGenerator, rather than constructing it for every
feed_event() invocation.
This change reduces the time to run "ngix compile" benchmark by 68%:
Before:
nginx compile time: [1.4152 s 1.4186 s 1.4222 s]
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high mild
After:
nginx compile time: [447.76 ms 448.32 ms 448.80 ms]
change: [-68.542% -68.440% -68.352%] (p = 0.00 < 0.05)
Performance has improved.
I assume some of the clone() calls are very expensive (Vec::clone(),
likely). I did see libc malloc()/free() high up in "perf top" profiles,
which are eliminted by this change.
I also looked into eliminating FunctionBuilder construction from
feed_event(). That turns out to be painful on lifetime rules because it
borrows bunch of other objects, so I am leaving it for someone who knows
the code better than I do.
2019-08-01 18:06:40 +03:00
Syrus
a6461c3b14
Removed explicit hashbrown dependency
2019-07-31 23:18:38 -07:00
Brandon Fish
d7c11bcf5f
Fixes case with empty module, handle case with no signatures
2019-07-26 17:58:57 -05:00
Nick Lewycky
18307bb79c
Improve panic/unreachable/unimplemented usage. Refactor a little.
2019-07-22 12:15:56 -07:00
Nick Lewycky
df5c12cbe1
Add V128 to wasmer runtime. Unimplemented in clif-backend. Other backends don't build.
2019-07-10 13:48:12 -07:00
Nick Lewycky
75faae2912
Disable jump tables. We don't have an implementation of reloc_jt yet.
2019-07-02 09:55:46 -07:00
losfair
8019505e65
Merge remote-tracking branch 'origin/feature/clif-cgapi' into feature/metering
2019-05-31 15:40:05 +08:00
Brandon Fish
3f0cafce5c
Remove old Cranelift compiler code
2019-05-26 22:32:11 -05:00
Brandon Fish
bf1cfc2578
Re-enable deny warnings in clif backend
2019-05-26 22:17:49 -05:00
Brandon Fish
f42ca84480
Add calling convention to function signatures
2019-05-26 14:44:17 -05:00
Brandon Fish
cc4b1871d0
Fix get global type
2019-05-26 14:15:30 -05:00
Brandon Fish
6ca311f92d
Fix compilation errors and warnings
2019-05-26 11:13:37 -05:00
Brandon Fish
5da0c4766a
Update to Arc<RwLock<ModuleInfo>> for interior mutability
2019-05-25 19:30:44 -05:00
Brandon Fish
d440776bc0
Update lifetime of function builder references
2019-05-25 18:06:41 -05:00
Brandon Fish
9f2e068ff4
Implement conversion of signatures into clif signatures
2019-05-23 20:04:55 -05:00
Brandon Fish
a713043360
Update translate_operator op argument
2019-05-22 23:46:38 -05:00
Brandon Fish
5d3f6ea167
Fixing lifetime issues in clif codegen refactor
2019-05-22 17:21:16 -05:00
Brandon Fish
04d6ccc95c
Pass module info to FCG as Arc
2019-05-21 23:44:31 -05:00
Brandon Fish
5db575e8ef
Fix clif_signatures in function codegen
2019-05-19 15:22:02 -05:00
Brandon Fish
db669f7eb7
Fix more codegen compilation issues
2019-05-19 15:01:25 -05:00
Brandon Fish
d547beda72
Fix self.info compilation error in MCG.finalize
2019-05-19 13:05:35 -05:00
Brandon Fish
47479b547f
Implement MCG.{finalize, from_cache}
2019-05-19 10:53:33 -05:00
Brandon Fish
6d5dd5ff21
Implement more function codegen
2019-05-19 00:27:39 -05:00
Brandon Fish
2d10306c87
Add copyright notice
2019-05-18 16:32:22 -05:00
Brandon Fish
74a758d39e
Add progress on next_event
2019-05-18 16:31:08 -05:00
Brandon Fish
ac3fafae9a
Merge branch 'master' into feature/clif-cgapi
2019-05-14 23:01:28 -05:00
Syrus
8218e550fc
Improved docs and fixed few typos
2019-05-13 11:18:57 -07:00
Brandon Fish
7315cd1100
Add some basic partial implementation of Cranelift codegen
2019-05-12 19:16:01 -05:00
Brandon Fish
d9cd4fc3e0
Add scaffold to use new code generator API for Cranelift
2019-05-12 11:05:26 -05:00
Brandon Fish
2aefa731a6
Add deny for unreachable patterns and unused unsafe
2019-05-12 00:33:02 -05:00