bjorn3
86d3dc9510
Add prepare_for_function_redefine
2020-11-12 19:39:44 +01:00
bjorn3
03c0e7e678
Rustfmt
2020-11-12 18:58:40 +01:00
bjorn3
cdbbcf7e13
Add plt entries to perf jit map
2020-11-12 18:58:28 +01:00
bjorn3
bf9e5d9448
Use a PLT reference for function relocations in data objects
...
This ensures that all functions can be replaced without having to
perform relocations again.
2020-11-12 16:41:23 +01:00
bjorn3
8a4749af51
Immediately perform relocations when defining a function
2020-11-12 16:33:04 +01:00
bjorn3
5458473765
Implement PLT relocations for SimpleJIT
2020-11-12 16:19:16 +01:00
bjorn3
eaa2c5b3c2
Implement GOT relocations in SimpleJIT
2020-11-12 15:06:52 +01:00
bjorn3
11a3bdfc6a
Catch overflows when performing relocations
2020-11-12 14:13:06 +01:00
bjorn3
b7a93c2321
Remove reloc_block
...
It isn't called and all reloc sinks either ignore it or panic when it is
called.
2020-11-11 12:36:17 +01:00
bjorn3
1dc27c93a4
Introduce DataDescription::all_relocs to dedup some code
2020-11-11 12:36:17 +01:00
bjorn3
a5501e12a6
Rename functions and data_objects fields
2020-11-11 11:56:41 +01:00
bjorn3
844a52e96a
Don't unnecessarily take &self for some ModuleDeclarations methods
2020-11-11 11:43:09 +01:00
bjorn3
79f6f72e78
Remove StackMapSink from SimpleJIT
...
The stack maps are discarded anyway
2020-11-11 11:43:09 +01:00
bjorn3
ffe9de15fc
Enable unreachable_pub lint
2020-11-11 11:43:09 +01:00
bjorn3
d5d5cba8b2
Remove SimpleJITProduct
...
All of it's methods now have an equivalent on SimpleJitModule
2020-11-11 11:43:02 +01:00
bjorn3
856f799ade
Make some things more consistent between define_function and define_function_bytes
2020-11-11 11:38:28 +01:00
bjorn3
2ca2255a4a
Move CompiledBlob to a new file
2020-11-11 11:38:28 +01:00
bjorn3
d0706e6f71
Merge finalize_function and perform_relocations
2020-11-11 11:38:28 +01:00
bjorn3
5df5bbbdca
Fix usage of default_libcall_names ( #2378 )
...
* Fix usage of default_libcall_names
* Add basic cranelift-object test
It is based on a test with the same name in cranelift-simplejit
2020-11-09 10:33:56 -06:00
Andrew Brown
c9e8889d47
Update clippy annotation to use latest version ( #2375 )
2020-11-09 09:24:59 -06:00
Alex Crichton
8af2dbfbac
Allow offloading compilation in cranelift-object ( #2371 )
...
This commit is a slight refactoring of the `Module` trait and backend in
`cranelift-object`. The goal is to enable parallelization of compilation
when using `cranelift-object`. Currently this is difficult because
`ObjectModule::define_function` requires `&mut self`. This instead
soups up the `define_function_bytes` interface to handle relocations so
compilation can happen externally before defining it in a `Module`. This
also means that `define_function` is now a convenience wrapper around
`define_function_bytes`.
2020-11-06 09:56:44 -06:00
Alex Crichton
ab1958434a
Bump to 0.21.0 ( #2359 )
2020-11-05 09:39:53 -06:00
bjorn3
cb2d180f2a
Remove SimpleJIT prefix from some private types
2020-10-12 14:09:03 +02:00
bjorn3
69513ee85e
Merge CompiledFunction and CompiledData
2020-10-12 14:02:37 +02:00
bjorn3
6b0d246b24
Implement Linkage::Preemptible for simplejit
2020-10-11 16:23:43 +02:00
bjorn3
589f4a4405
Re-introduce finalize_definitions and get_finalized_* for simplejit
2020-10-11 16:18:27 +02:00
bjorn3
2346fe7de6
Make some things private
2020-10-11 16:16:39 +02:00
bjorn3
b061694491
Rustfmt and update docs
2020-10-01 09:53:23 +02:00
bjorn3
9ccf837092
Fix SimpleJIT tests
2020-09-30 19:58:12 +02:00
bjorn3
d84ca235d2
Remove Backend trait and turn Module into a trait
2020-09-30 19:52:57 +02:00
bjorn3
84c6ec3214
Move alignment config from declare_data to define_data
2020-09-30 19:23:23 +02:00
bjorn3
b44c5bb2be
Move ModuleDeclarations to backends
2020-09-30 18:33:29 +02:00
bjorn3
7a6e909efe
Move a bit more logic out of Module
2020-09-30 17:31:08 +02:00
bjorn3
c2ffcdc6d0
Move logic out of more Module methods
2020-09-30 17:12:33 +02:00
bjorn3
80f4ecf9b5
Move almost all logic out of Module
2020-09-30 16:50:24 +02:00
bjorn3
588a4be0b3
Store Compiled* in the backend instead of Module
2020-09-30 16:18:57 +02:00
bjorn3
405b9e2875
Remove finalize_* from the Backend trait
...
Instead let the `finish` method perform finalization
2020-09-30 14:20:39 +02:00
bjorn3
59f95083b1
Remove write_data_funcaddr and write_data_dataaddr
...
They are unimplemented by all backends
2020-09-30 13:59:26 +02:00
bjorn3
7608749647
Merge finalize_definitions into finish
2020-09-30 13:58:13 +02:00
bjorn3
4483c3740a
Remove get_finalized_*
2020-09-30 13:53:01 +02:00
bjorn3
b1187b5507
Merge ModuleNamespace and ModuleContents
2020-09-30 12:29:22 +02:00
Alex Crichton
5e08eb3b83
Bump wasmtime to 0.20.0 ( #2222 )
...
At the same time bump cranelift crates to 0.67.0
2020-09-23 13:54:02 -05:00
Joshua Nelson
d28abad441
Upgrade to target-lexicon 0.11
...
This allows downstream library users to use `CDataModel` without having
to install two different versions of target-lexicon.
2020-09-15 11:40:09 -07:00
Nick Fitzgerald
05bf9ea3f3
Rename "Stackmap" to "StackMap"
...
And "stackmap" to "stack_map".
This commit is purely mechanical.
2020-08-07 10:08:44 -07:00
Alex Crichton
63d5b91930
Wasmtime 0.19.0 and Cranelift 0.66.0 ( #2027 )
...
This commit updates Wasmtime's version to 0.19.0, Cranelift's version to
0.66.0, and updates the release notes as well.
2020-07-16 12:46:21 -05:00
Graham Scheaffer
ef8fe18262
Updated region versions ( #1978 )
2020-07-06 09:26:28 -05:00
Alex Crichton
a92a31d850
Rename the master branch to main ( #1924 )
...
* This PR is against a branch called `main`
* Internally all docs/CI/etc is updated
* The default branch of the repo is now `main`
* All active PRs have been updated to retarget `main`
Closes #1914
2020-06-25 14:03:21 -05:00
Pat Hickey
4f72a7483b
Merge pull request #1836 from carlokok/feature/object_file_section
...
Cranelift: Module data apis should allow specifying the object file section
2020-06-17 10:49:09 -07:00
Carlo Kok
0b613caad1
Address concerns in pullrequests.
2020-06-15 20:46:04 +02:00
Dan Gohman
caa87048ab
Wasmtime 0.18.0 and Cranelift 0.65.0.
2020-06-11 17:49:56 -07:00