Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft: Planning for merging some important parts of my fork upstream #1098

Draft
wants to merge 568 commits into
base: main
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
568 commits
Select commit Hold shift + click to select a range
ee1e8f2
Merge branch 'main' of https://github.com/bytecodealliance/wit-bindgen
cpetig Jun 29, 2024
143ac3c
meshless: easy part with imported resources in Rust
cpetig Jul 2, 2024
58e67f6
update
cpetig Jul 2, 2024
845b284
meshless/symmetric strings with Rust
cpetig Jul 2, 2024
397b8ed
initial prototype for exported resource in Rust
cpetig Jul 6, 2024
164aec0
fully working rust example
cpetig Jul 6, 2024
949edf0
Merge branch 'main' of https://github.com/bytecodealliance/wit-bindgen
cpetig Jul 9, 2024
5107e65
introduce symmetric option, support empty with for Rust
cpetig Jul 9, 2024
4aa0c49
first steps towards symmetric calling convention
cpetig Jul 9, 2024
c9e5a24
imperfect cabi_post call
cpetig Jul 9, 2024
08820f6
proper cabi_post calls
cpetig Jul 9, 2024
410cd32
quite accurate code generation for symmetric string
cpetig Jul 10, 2024
ef0d4fd
symmetric code generation for strings works (only prefix missing)
cpetig Jul 10, 2024
33dbde7
regenerated code
cpetig Jul 10, 2024
a7b79bf
fix resource import
cpetig Jul 11, 2024
77bfa5e
using pointers in import probably works to omit a resource table
cpetig Jul 11, 2024
c93ae05
symmetric with address seems to work just fine
cpetig Jul 11, 2024
f1b8ef8
correct the types of the resource functions
cpetig Jul 11, 2024
eb09bf1
cargo fmt
cpetig Jul 11, 2024
3658850
replace dtor by res-drop (still wrong contents)
cpetig Jul 12, 2024
ffd06f5
Merge branch 'main' of https://github.com/bytecodealliance/wit-bindgen
cpetig Jul 12, 2024
dae55ed
work in progress
cpetig Jul 12, 2024
a166ddb
fully working symmetric C++ codegen
cpetig Jul 12, 2024
e05bcdd
prepare for pointers as id
cpetig Jul 12, 2024
a2c77a8
restructure for using pointers, still has a leak in R::drop
cpetig Jul 12, 2024
7330c92
this implementation of the dtor feels inelegant but it works fine
cpetig Jul 13, 2024
7fe9f8d
Merge branch 'main' of https://github.com/bytecodealliance/wit-bindgen
cpetig Jul 16, 2024
c49fd70
Merge branch 'main' of https://github.com/bytecodealliance/wit-bindgen
cpetig Jul 17, 2024
7618224
fix crash generating fusion
cpetig Jul 17, 2024
5887d50
second thought: Allocate ret_buf by the caller, first half
cpetig Jul 18, 2024
fc24a0d
revised symmetric code generation
cpetig Jul 18, 2024
b33aafe
generated code is now correct again
cpetig Jul 18, 2024
6c46c39
Merge remote-tracking branch 'dicej/async' into async
cpetig Jul 20, 2024
df5bbea
Merge branch 'async'
cpetig Jul 20, 2024
f4ce621
fix tests and return value
cpetig Jul 20, 2024
6fb498d
make async argument optional
cpetig Jul 20, 2024
aa46b69
initial support for automatic pointer width code
cpetig Jul 21, 2024
1833302
properly implement portable size and align expressions
cpetig Jul 21, 2024
68bb99c
fix Rust and C codegen
cpetig Jul 21, 2024
4067e8f
regenerate symmetric strings, enable symmetric mode
cpetig Jul 21, 2024
01037f9
dependency update
cpetig Jul 21, 2024
3def618
proper support for option<handle> lifting
cpetig Jul 21, 2024
7d12a44
fix(markdown): update primary link to match behavior from #818 (#1008)
lachieh Jul 23, 2024
69d3ced
Merge branch 'main' of https://github.com/bytecodealliance/wit-bindgen
cpetig Jul 25, 2024
4a57daf
beginning of symmetric support
cpetig Jul 25, 2024
01b4216
proper cabi_post prefix
cpetig Jul 25, 2024
be953c1
fully functional Rust code generation for symmetric strings example
cpetig Jul 26, 2024
5e8a2e3
format the Rust code
cpetig Jul 26, 2024
57b6b33
first half of ptr sized handles
cpetig Jul 26, 2024
a3128b7
remove some casts
cpetig Jul 26, 2024
1dbfd83
add some compatibility casts, meshless res import fully functional
cpetig Jul 26, 2024
860b1d3
first fully working symmetric resource generation
cpetig Jul 28, 2024
d1f7e15
Merge remote-tracking branch 'origin/main'
cpetig Jul 29, 2024
8d764ad
merge from origin main
cpetig Aug 1, 2024
df019cf
small merge fix and dependency update
cpetig Aug 1, 2024
a2d05a7
simplify the logic by using owned results
cpetig Aug 1, 2024
888d8a7
symmetric C++ code matches new convention
cpetig Aug 1, 2024
3b47e3a
proper Rust code generation for symmetric
cpetig Aug 1, 2024
a63d226
Merge remote-tracking branch 'origin'
cpetig Aug 3, 2024
2b747f1
use the new SizeAlign64 type intended for upstream
cpetig Aug 3, 2024
0f2c647
fix storing of u8 and u16 types
cpetig Aug 3, 2024
cbba000
Merge remote-tracking branch 'origin/main'
cpetig Aug 10, 2024
317ab27
properly guard wit-guest against multiple inclusion
cpetig Aug 25, 2024
fec5e49
adapt to newer wamr version
cpetig Aug 25, 2024
51dc044
Merge remote-tracking branch 'origin/main'
cpetig Aug 26, 2024
4b5121b
fix post-merge conflicts
cpetig Aug 26, 2024
3eea267
size and alignment fixes
cpetig Aug 27, 2024
ee038e1
example for symmetric API
cpetig Aug 28, 2024
512b955
fix warnings
cpetig Aug 28, 2024
fe7816f
fix another warning
cpetig Aug 28, 2024
a46c041
new symmetric API for strings
cpetig Aug 28, 2024
e9d9c4e
regenerate
cpetig Aug 28, 2024
5f0ec6c
symmetric API
cpetig Aug 28, 2024
3d79f54
Initial (failing) symmetric smoke test
cpetig Aug 31, 2024
e724874
correct root function export/import for smoke test in symmetric
cpetig Aug 31, 2024
4610935
force linking, needs RUSTFLAGS as well
cpetig Aug 31, 2024
05da87b
fully operational symmetric smoke test
cpetig Aug 31, 2024
b9ede95
symmetric c++ test
cpetig Aug 31, 2024
9688771
report more errors
cpetig Aug 31, 2024
a4c7bd2
failing strings example
cpetig Aug 31, 2024
068eb7c
numbers test
cpetig Aug 31, 2024
ca5b357
fix lifting of empty strings (symmetric)
cpetig Sep 1, 2024
7fde681
fix warning in test case
cpetig Sep 1, 2024
84286db
lists symmetric test
cpetig Sep 1, 2024
a2f5cd7
oh, the errors for symmetric lists cancelled each other out
cpetig Sep 1, 2024
166460f
test both canonical and non-canonical lists
cpetig Sep 1, 2024
034e7c6
symmetric list memory fixes
cpetig Sep 1, 2024
44a5a1e
Merge branch 'main' of https://github.com/bytecodealliance/wit-bindgen
cpetig Sep 2, 2024
6061442
emergency fix
ChristofPetig Sep 2, 2024
ea8ba2d
require less than Rust 1.81
cpetig Sep 2, 2024
2fbe979
fix creation of the directory
cpetig Sep 2, 2024
a0864a6
more elaborate explanation
cpetig Sep 2, 2024
fe95f9d
test the new API
cpetig Sep 2, 2024
b9ee2fa
fix the memory leak with new API and canonical ABI
cpetig Sep 2, 2024
797ca6c
register the Rust strings test and exercise new API symmetric tests
cpetig Sep 2, 2024
f661f88
quick fix to remove the leak from symmetric calls
cpetig Sep 3, 2024
43e8f63
Merge remote-tracking branch 'origin/main'
cpetig Sep 5, 2024
fc5839c
failing flavorful test
cpetig Sep 5, 2024
8c2033f
C++ vector example (in progress)
cpetig Sep 8, 2024
8b0a128
Merge remote-tracking branch 'origin/main'
cpetig Sep 8, 2024
3f127a4
more C++ functionality
cpetig Sep 8, 2024
22c90a2
Merge remote-tracking branch 'origin/main'
cpetig Sep 9, 2024
75754fb
more testcode
cpetig Sep 9, 2024
960d2af
Merge remote-tracking branch 'origin/main'
cpetig Sep 11, 2024
66b86f2
more vector preparation
cpetig Sep 11, 2024
efe2007
wit vector construction in memory
cpetig Sep 11, 2024
816d99b
comparison implementations
cpetig Sep 11, 2024
f6405c5
fix compilation with newest wasm-tools
cpetig Sep 11, 2024
5e9d573
first round of C++ vector fixes
cpetig Sep 11, 2024
068a918
arguments as view
cpetig Sep 11, 2024
b94280a
promising vector element reconstruction
cpetig Sep 11, 2024
16700dd
fully linking c++ lists example (with codegen modifications)
cpetig Sep 12, 2024
0c2dd18
fix cabi_post symbol
cpetig Sep 12, 2024
5d2bfb8
nearly perfect on lists
cpetig Sep 12, 2024
ccaf0ca
deallocate arguments in canonical ABI
cpetig Sep 12, 2024
da06159
properly free vector contents
cpetig Sep 13, 2024
f0ac515
fix native compilation
cpetig Sep 13, 2024
28e88c0
correct symmetric new-api lists
cpetig Sep 13, 2024
9378435
ignore more
cpetig Sep 13, 2024
e6b0b68
leak if necessary
cpetig Sep 13, 2024
85b7e73
prefix import and export if both used in symmetric
cpetig Sep 14, 2024
5ccecf8
implement import prefix
cpetig Sep 14, 2024
fb670b1
implement direction disambiguation for C++, fixes #28
cpetig Sep 14, 2024
c922f58
more correct interaction with Rust
cpetig Sep 14, 2024
05a6951
half complete list fix
cpetig Sep 14, 2024
53d0579
fix lists in symmetric mode
cpetig Sep 14, 2024
e5e1f9f
fix many symmetric tests
cpetig Sep 14, 2024
1935b68
flavorful example works
cpetig Sep 14, 2024
2ad3cc3
options test (work in progress)
cpetig Sep 15, 2024
fa5993f
options test
cpetig Sep 15, 2024
6f8cd9b
fix option test
cpetig Sep 17, 2024
844f7fa
the new API works better
cpetig Sep 17, 2024
c126746
more tests
cpetig Sep 17, 2024
47c935b
working records test
cpetig Sep 17, 2024
5eb93d9
another test ready
cpetig Sep 17, 2024
add926f
results test
cpetig Sep 17, 2024
91b69ab
work in progress
cpetig Sep 17, 2024
ab12734
Merge remote-tracking branch 'origin'
cpetig Sep 19, 2024
516265b
fix merge mistake
cpetig Sep 19, 2024
ee1d0c2
Merge remote-tracking branch 'origin'
cpetig Sep 25, 2024
ad27e9c
Merge branch 'main' of https://github.com/bytecodealliance/wit-bindgen
cpetig Oct 7, 2024
57ab9c0
post merge fixes
cpetig Oct 7, 2024
835c213
implement symmetric tests as a single workspace
cpetig Oct 8, 2024
3ba5572
first draft of async lift/lower for Rust generator
dicej Mar 22, 2024
d4e6f42
Merge remote-tracking branch 'origin/main'
cpetig Nov 1, 2024
00845f8
update wasm-tools dependency
cpetig Nov 2, 2024
e6d11f0
Merge remote-tracking branch 'dicej/async'
cpetig Nov 2, 2024
59b14a8
small fix
cpetig Nov 2, 2024
a73e05e
fix compilation after merge
cpetig Nov 2, 2024
2f305f1
fix symmetric testing
cpetig Nov 2, 2024
79565c6
fix test generation
cpetig Nov 2, 2024
3cf333f
fix strings test (both old and new API)
cpetig Nov 2, 2024
8ebfc1e
Add support for async/streams/futures to Rust generator
dicej Mar 22, 2024
2f37f79
add `async: true` case to Rust `codegen_tests`
dicej Nov 19, 2024
66bec93
Merge remote-tracking branch 'origin/main'
cpetig Nov 19, 2024
7c27b23
tools update
cpetig Nov 19, 2024
97a5f16
Merge remote-tracking branch 'dicej/async'
cpetig Nov 20, 2024
456e995
Add support for async/streams/futures to Rust generator
dicej Mar 22, 2024
bac91e9
Merge remote-tracking branch 'origin/main'
cpetig Nov 20, 2024
38649cf
Merge remote-tracking branch 'dicej/async'
cpetig Nov 20, 2024
85702e7
post merge cleanup
cpetig Nov 20, 2024
bbbe3bc
fix test generation
cpetig Nov 20, 2024
df459f7
remove async_support::poll_future
dicej Nov 27, 2024
048bfc6
Merge remote-tracking branch 'dicej/async'
cpetig Nov 27, 2024
883fd9a
Merge remote-tracking branch 'origin/main'
cpetig Nov 27, 2024
43c22c9
Merge remote-tracking branch 'origin/main'
cpetig Dec 3, 2024
9e6ebb8
wasm-tools update (doesn't fix test failure)
cpetig Dec 3, 2024
d3afd51
add stream/future read/write cancellation support
dicej Dec 5, 2024
74f436d
Merge remote-tracking branch 'origin/main'
cpetig Dec 7, 2024
9dc5739
Merge remote-tracking branch 'dicej/async'
cpetig Dec 7, 2024
c2da9a9
symmetric executor skeleton
cpetig Dec 7, 2024
0eeacb1
initial sleep trigger implementation
cpetig Dec 7, 2024
e498eb6
async module skeleton
cpetig Dec 7, 2024
0d1408e
incomplete main implementation
cpetig Dec 7, 2024
f10ed05
module implementation start
cpetig Dec 7, 2024
7da80c8
more implementation
cpetig Dec 8, 2024
3de2d9b
more poll impl
cpetig Dec 8, 2024
f9c50fc
poll logic
cpetig Dec 8, 2024
3d823f4
fix linking and full main implementation
cpetig Dec 8, 2024
8b001bc
timeout creation
cpetig Dec 8, 2024
9ca80e0
implement wait_for
cpetig Dec 8, 2024
41776f3
event creation
cpetig Dec 8, 2024
4c19fbd
subscribe
cpetig Dec 8, 2024
dddc8cd
implement register (incomplete)
cpetig Dec 8, 2024
1a71fcf
move subscription object out
cpetig Dec 8, 2024
200a8c7
implement wait and triggering
cpetig Dec 8, 2024
c64b08e
fix crash, still some leaks
cpetig Dec 8, 2024
fdbac20
note problem and fix warnings
cpetig Dec 8, 2024
9924843
native stream test, work in progress
cpetig Dec 8, 2024
289d2f8
more stream prototype implementation
cpetig Dec 9, 2024
685cdd9
ongoing transition to symmetric ABI
cpetig Dec 9, 2024
1d8d440
compiling with functionality added, todo in 987 hit
cpetig Dec 11, 2024
61e9b20
Stream new needs implementation
cpetig Dec 11, 2024
d5d419a
stream new impl
cpetig Dec 29, 2024
7b8b5fe
should the futures be Send?
cpetig Dec 30, 2024
caa2e50
read is now called
cpetig Jan 2, 2025
16e7399
read implemented
cpetig Jan 2, 2025
c7ab163
read implementation
cpetig Jan 2, 2025
431b90f
revise event design
cpetig Jan 2, 2025
265f4ed
proper blocking
cpetig Jan 2, 2025
72af9d1
add poor man's tracing
cpetig Jan 3, 2025
f0c3968
more meaningful tracing
cpetig Jan 3, 2025
d5ca598
sending numbers work
cpetig Jan 3, 2025
406495d
event subscriptions can only be used once for registration ...
cpetig Jan 3, 2025
54746f1
the problem is with wait_on
cpetig Jan 4, 2025
60bcdea
wait on should consume the object
cpetig Jan 4, 2025
2ef5e13
preparation for more clean design
cpetig Jan 4, 2025
543ad8c
memory leak fixed, cleaner code
cpetig Jan 4, 2025
c89ced5
fully working again (main read in progress)
cpetig Jan 4, 2025
19bca45
first two stream values arrive in main
cpetig Jan 4, 2025
95febdf
prepare for reset
cpetig Jan 4, 2025
13b99ee
reset implementation
cpetig Jan 4, 2025
9e5eef9
clean up subscription logic
cpetig Jan 4, 2025
8aac26a
still blocked somewhere
cpetig Jan 4, 2025
6943ab7
not properly cleaning up, but the data arrives
cpetig Jan 4, 2025
d8af6cb
avoid overly registering callbacks
cpetig Jan 5, 2025
e6dbfdb
wow, the streaming example works
cpetig Jan 5, 2025
120e594
plug one memory leak and clean up
cpetig Jan 5, 2025
73884fb
remove vtable
cpetig Jan 5, 2025
17ffb99
stream is half abstracted
cpetig Jan 5, 2025
7d5cfd3
fully abstracted but sill unsafe stream operations
cpetig Jan 5, 2025
d3873c8
more nicely encapsulated
cpetig Jan 5, 2025
7729012
code simplification
cpetig Jan 5, 2025
f2ffac3
more attempts removed
cpetig Jan 5, 2025
b6ccc9a
memory leak is fixed
cpetig Jan 5, 2025
fe42b8d
revise atomic and shorten path
cpetig Jan 5, 2025
c8779b5
fix warning
cpetig Jan 5, 2025
2034281
document and simplify the async calling convention
cpetig Jan 7, 2025
a281ce3
apply async calling simplification to stream example
cpetig Jan 7, 2025
e4eccb0
Merge branch 'main' of https://github.com/bytecodealliance/wit-bindgen
cpetig Jan 8, 2025
c717537
post merge fixes
cpetig Jan 8, 2025
2bc07ef
update wasm-tools
cpetig Jan 8, 2025
5aa3659
Merge branch 'main' of https://github.com/bytecodealliance/wit-bindgen
cpetig Jan 9, 2025
c4b35cd
update wasm-tools
cpetig Jan 9, 2025
09bd794
simplify code by leveraging Joels latest changes
cpetig Jan 9, 2025
6b04c5c
Merge remote-tracking branch 'origin'
cpetig Jan 11, 2025
abd6833
adapt to new version, simplify
cpetig Jan 11, 2025
06af93e
start moving stream impl into shared object
cpetig Jan 11, 2025
823cb01
simplify the dependencies
cpetig Jan 11, 2025
703c5f4
Buffer implementation
cpetig Jan 11, 2025
1af9f22
needs more thought
cpetig Jan 11, 2025
a49a152
work in progress to use a WIT interface
cpetig Jan 12, 2025
85c45b0
linking needs some more tricks
cpetig Jan 12, 2025
123cf64
needs more implementation but links
cpetig Jan 12, 2025
e2a1afc
simplify interface
cpetig Jan 12, 2025
0de6876
fix crash
cpetig Jan 12, 2025
a850d15
besides tear down everything works
cpetig Jan 12, 2025
1ef3ddb
better eof handling, but not yet good
cpetig Jan 12, 2025
f19d9d2
proper EOF implementation
cpetig Jan 12, 2025
c9f748a
clean up
cpetig Jan 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
  • Loading branch information
cpetig committed Jul 17, 2024
commit c49fd70fce12fd09b64bad1aebc07eb5fe36b8b5
1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -46,6 +46,7 @@ wit-bindgen-go = { path = 'crates/go', version = '0.27.0' }
wit-bindgen-csharp = { path = 'crates/csharp', version = '0.27.0' }
wit-bindgen-markdown = { path = 'crates/markdown', version = '0.27.0' }
wit-bindgen = { path = 'crates/guest-rust', version = '0.27.0', default-features = false }

wit-bindgen-cpp = { path = 'crates/cpp', version = '0.3.0' }
wit-bindgen-bridge = { path = 'crates/bridge', version = '0.1.0' }

You are viewing a condensed version of this merge commit. You can view the full changes here.