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

Complete bulk memory operations proposal #511

Merged
merged 12 commits into from
Apr 28, 2022
Merged

Conversation

mathetake
Copy link
Member

@mathetake mathetake commented Apr 27, 2022

This commit implements the rest of unimplemented instructions in the
bulk-memory-operations proposal.

Notably, this adds support for table.init, table.copy and elem.drop
instructions toggled by FeatureBulkMemoryOperations.

Given that, now wazero has the complete support for bulk-memory-operations
proposal as described in https://github.com/WebAssembly/spec/blob/main/proposals/bulk-memory-operations/Overview.md

fixes #321

@mathetake
Copy link
Member Author

mathetake commented Apr 27, 2022

ok now intepreter passes bulk.wast spectest on my local machine.. other spectests are conflated with ref type proposal (notablely multi tables) so I will defer the complete spec test compatibility test to the ref type proposal impl later. I think that's enough for us to land this.

will do the JIT impl and backfill unittests tomorrow

@mathetake mathetake force-pushed the compleetebulkmemory branch from 13db89e to e63cf3e Compare April 28, 2022 04:38
@mathetake mathetake changed the title Complete bulk memory table related features Complete bulk memory operations proposal Apr 28, 2022
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io>
@mathetake mathetake force-pushed the compleetebulkmemory branch from e63cf3e to 5de256d Compare April 28, 2022 04:39
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io>
@mathetake mathetake marked this pull request as ready for review April 28, 2022 04:42
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io>
bulkMemoryOperationsWasm []byte
// tableCopyWasm was compiled from testdata/table_copy.wat
//go:embed testdata/table_copy.wasm
tableCopyWasm []byte
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

@codefromthecrypt codefromthecrypt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Epic. please in the PR description add a summary of anything interesting you found that others should know about. A brain dump in concise form may come in handy later!

internal/asm/arm64/impl.go Show resolved Hide resolved
internal/wasm/binary/const_expr.go Show resolved Hide resolved
internal/wasm/binary/const_expr_test.go Outdated Show resolved Hide resolved
internal/wasm/binary/element.go Outdated Show resolved Hide resolved
internal/wasm/jit/engine.go Outdated Show resolved Hide resolved
internal/wasm/jit/engine.go Outdated Show resolved Hide resolved
internal/wasm/jit/engine.go Outdated Show resolved Hide resolved
internal/wasm/jit/jit_impl_amd64.go Show resolved Hide resolved
internal/wasm/jit/jit_impl_arm64.go Outdated Show resolved Hide resolved
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io>
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io>
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io>
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io>
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io>
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io>
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io>
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io>
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io>
@mathetake
Copy link
Member Author

ok resolved all comments! merging!

@mathetake mathetake merged commit 266320e into main Apr 28, 2022
@mathetake mathetake deleted the compleetebulkmemory branch April 28, 2022 06:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add opt-in support for post 1.0 bulk-memory-operations
2 participants