-
Notifications
You must be signed in to change notification settings - Fork 1.6k
wasmtime: Implement fast Wasm stack walking
#4431
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
Merged
Merged
Changes from 1 commit
Commits
Show all changes
46 commits
Select commit
Hold shift + click to select a range
7eca005
Always preserve frame pointers in Wasmtime
fitzgen 8a6a0f1
wasmtime: Implement fast Wasm stack walking
fitzgen 381627e
Add s390x support for frame pointer-based stack walking
uweigand d634136
wasmtime: Allow `Caller::get_export` to get all exports
fitzgen abfb54a
fuzzing: Add a fuzz target to check that our stack traces are correct
fitzgen 2819a3f
Remove VM offsets for `VMHostFuncContext` since it isn't used by JIT …
fitzgen 2cbaa37
Add doc comment with stack walking implementation notes
fitzgen d5e7881
Document the extra state that can be passed to `wasmtime_runtime::Bac…
fitzgen cafcdd7
Add extensive comments for stack walking function
fitzgen 8275b13
Factor architecture-specific bits of stack walking out into modules
fitzgen 70af149
Initialize store-related fields in a vmctx to null when there is no s…
fitzgen a8ed50d
Use `set_callee` instead of manually setting the vmctx field
fitzgen 52089b0
Use a more informative compile error message for unsupported architec…
fitzgen 5f76da6
Document unsafety of `prepare_host_to_wasm_trampoline`
fitzgen 43e8d00
Use `bti c` instead of `hint #34` in inline aarch64 assembly
fitzgen d6689de
Remove outdated TODO comment
fitzgen 5b75b0d
Remove setting of `last_wasm_exit_fp` in `set_jit_trap`
fitzgen 21d962a
Only set the stack limit once, in the face of re-entrancy into Wasm
fitzgen 54d028d
Add comments for s390x-specific stack walking bits
fitzgen 2536799
Use the helper macro for all libcalls
fitzgen 1c873d3
Use the `asm_sym!` macro in Wasm-to-libcall trampolines
fitzgen 9baa4c9
wasmtime: add size and align to `externref` assertion error message
fitzgen 7301c5f
Extend the `stacks` fuzzer to have host frames in between Wasm frames
fitzgen 836b667
Add documentation for aarch64-specific backtrace helpers
fitzgen aee1f23
Clarify that we only support little-endian aarch64 in trampoline comment
fitzgen 9388c6a
Use `.machine z13` in s390x assembly file
fitzgen cca2eab
Fix aarch64 build
fitzgen 4ccf2d0
Fix macOS build
fitzgen 6ce870b
Document the `asm_sym!` macro
fitzgen 8e2650e
Add windows support to the `wasmtime-asm-macros` crate
fitzgen 3421595
Add windows support to host<--->Wasm trampolines
fitzgen 1e8836f
Fix trap handler build on windows
fitzgen f5fa742
Run `rustfmt` on s390x trampoline source file
fitzgen 4b7aed4
Temporarily disable some assertions about a trap's backtrace in the c…
fitzgen f983960
Refactor libcall definitions with less macros
alexcrichton 0c3d3c8
Use `VMOpaqueContext::from_vm_host_func_context` in `VMHostFuncContex…
fitzgen 2cb3211
Move `backtrace` module to be submodule of `traphandlers`
fitzgen 8e81497
Fix macOS aarch64 build
fitzgen 7e0f1ca
Use "i64" instead of "word" in aarch64-specific file
fitzgen a5a5a88
Save/restore entry SP and exit FP/return pointer in the face of panic…
fitzgen 0cd3d32
Put "typed" vs "untyped" in the same position of call benchmark names
fitzgen e8fa1c0
Fix stacks test case generator build for new `wasm-encoder`
fitzgen 3b2cc72
Fix build for s390x
fitzgen 4510388
Expand libcalls in s390x asm
fitzgen 1a302f1
Disable more parts of component tests now that backtrace assertions a…
fitzgen a8780c6
Remove assertion that can maybe fail on s390x
fitzgen File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Temporarily disable some assertions about a trap's backtrace in the c…
…omponent model tests Follow up to re-enable this and fix the associated issue: #4535
- Loading branch information
commit 4b7aed441e5b991c6d2418f69076372f9ac0bb7f
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.