Commit graph

63 commits

Author SHA1 Message Date
Isaac Clayton
80b45ef93b Precompile plugins depending on target triple 2022-07-14 13:23:04 +02:00
Isaac Clayton
5e7456df4e Fix docs 2022-07-13 20:19:56 +02:00
Isaac Clayton
8bb8e851df Remove epoch-based metering 2022-07-13 18:03:14 +02:00
Isaac Clayton
562e22814f Remove .pre suffix use .epoch and .fuel instead 2022-07-13 17:08:43 +02:00
Isaac Clayton
3fb1cd0726 Fix issue where precompiled plugins were compiled with the wrong settings 2022-07-13 16:31:47 +02:00
Isaac Clayton
01a2d53638
Merge pull request #1327 from zed-industries/plugin-epoch
Configurable Plugin Yielding
2022-07-13 15:29:22 +02:00
Isaac Clayton
a6edf85078 Use enum to differentiate between normal and precompiled plugins 2022-07-13 14:26:52 +02:00
Isaac Clayton
daf1674ca6 Fix failing test 2022-07-13 13:27:31 +02:00
Isaac Clayton
c956a8866e Quick documentation fix 2022-07-13 13:21:45 +02:00
Isaac Clayton
b3e1fd0740 Rename a few items and add documentation 2022-07-13 13:19:51 +02:00
Isaac Clayton
8b376dd613 Fix resulting errors and introduce functional executor callback 2022-07-13 13:15:12 +02:00
Isaac Clayton
8974b0c490 Work on supporting both epoch and fuel 2022-07-13 12:41:47 +02:00
Isaac Clayton
10670dba70 Add support for configuring plugin yield mechanism, stashing 2022-07-13 11:57:00 +02:00
Isaac Clayton
d04c3388b4 Switch from epoch to fuel 2022-07-13 11:09:06 +02:00
Isaac Clayton
97c163a62e Add note about WebAssembly Interface Types. 2022-07-13 09:43:12 +02:00
Isaac Clayton
7e319a2b9d Fix #1335, rerun plugin build step only if non-volatile directories in plugin change 2022-07-13 09:04:48 +02:00
Isaac Clayton
7f11a32364 Implement periodic yielding using epoch_deadline_async_yield_and_update 2022-07-12 17:07:33 +02:00
Isaac Clayton
1ac8265028 Fix typo 2022-07-12 16:39:04 +02:00
Isaac Clayton
170d27b04c Start working on plugin epoch async yield 2022-07-12 16:32:41 +02:00
Isaac Clayton
37310acea8 Fix more typos 2022-07-12 13:51:13 +02:00
Isaac Clayton
1170d73b57 Fix typo 2022-07-12 13:48:36 +02:00
Isaac Clayton
c188021d6c Write about how plugins work and how to use them 2022-07-12 13:45:22 +02:00
Isaac Clayton
aeb1b89c25 Make plugin build profile contingent on host build profile 2022-07-11 21:13:52 +02:00
Isaac Clayton
031162b473 Remove spurious warnings 2022-07-11 18:36:33 +02:00
Isaac Clayton
41918101ed Add wasm32-wasi to CI workflow 2022-07-11 18:29:27 +02:00
Isaac Clayton
38f8191ce8 Add comment linking engine creating code together 2022-07-11 18:20:50 +02:00
Isaac Clayton
be41ad44a7 Fix minor issues in plugin and project raised during review 2022-07-11 16:40:12 +02:00
Isaac Clayton
ec327a30c3 Fix minor issues pointed out in the review 2022-07-11 15:54:03 +02:00
Isaac Clayton
14bccb4a90 More cleanup during review 2022-07-11 10:56:21 +02:00
Isaac Clayton
5ec828a3e2 Remove unused struct fields 2022-07-11 10:39:14 +02:00
Isaac Clayton
8931218dc6 Remove debug statements 2022-07-08 21:28:35 +02:00
Isaac Clayton
5cb59dfdab Fix errors resulting from rebase 2022-07-07 18:14:16 +02:00
Isaac Clayton
a16fc2ba0c Add basic support for precompiling plugins 2022-07-07 16:21:27 +02:00
Isaac Clayton
895747476f Done! Finish transition to async, very close to merging 2022-07-07 16:21:20 +02:00
Isaac Clayton
f4b4212932 More work on transitioning to async, need to figure out when to stop 2022-07-07 15:38:28 +02:00
Isaac Clayton
feb6cf6789 Allow async to infect some more functions 2022-07-07 15:34:27 +02:00
Isaac Clayton
61f5326033 Add timing instrumentation 2022-07-07 15:32:43 +02:00
Isaac Clayton
2c637b83bf Work on updating code to be async 2022-07-07 15:32:41 +02:00
Isaac Clayton
92c4552146 Isolate smol::Command hang as a test, does not hang 2022-07-07 15:23:27 +02:00
Isaac Clayton
e5481e2e65 Switch from std::process::Command to smol::process::Command 2022-07-07 15:22:17 +02:00
Isaac Clayton
f61ef446d3 Documentation pass 2022-07-07 15:22:17 +02:00
Isaac Clayton
4565f1a976 Add async host functions 2022-07-07 15:22:17 +02:00
Isaac Clayton
018fd46901 Rename WasiPlugin -> Plugin, etc. 2022-07-07 15:22:17 +02:00
Isaac Clayton
31e3a4d208 WIP: wrap async closures host-side 2022-07-07 15:22:17 +02:00
Isaac Clayton
f110945fd6 Add functions with multiple arguments to import macro, add test cases 2022-07-07 15:22:17 +02:00
Isaac Clayton
28f071e50d Split out lifecycle of serialization, buffer is freed now 2022-07-07 15:22:17 +02:00
Isaac Clayton
8aef8ab259 Add build.rs to rebuild plugins, and a test plugin 2022-07-07 15:22:17 +02:00
Isaac Clayton
5b40734f80 Change ABI from pair of u32s to single u64 2022-07-07 15:22:17 +02:00
Isaac Clayton
7edcf7c423 Factor out serialization code 2022-07-07 15:22:17 +02:00
Isaac Clayton
1f5903d16d Add allocator to store so that it can be used by host functions 2022-07-07 15:22:17 +02:00