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

calling to __wasi_path_open #128

Closed
willemneal opened this issue Apr 29, 2019 · 2 comments
Closed

calling to __wasi_path_open #128

willemneal opened this issue Apr 29, 2019 · 2 comments

Comments

@willemneal
Copy link

This function returns a file descriptor. How do you know if there was an error?

@sunfishcode
Copy link
Member

It returns a __wasi_errno_t value containing an error code. It writes a file descriptor through the fd argument pointer.

@willemneal
Copy link
Author

Ah of course! thanks.

@willemneal willemneal changed the title Falling to __wasi_path_open calling to __wasi_path_open May 12, 2019
kubkon pushed a commit that referenced this issue Nov 7, 2019
This commit syncs tests with latest wasmtime revision.
As such, it now utilises the `wasmtime-api` crate for
runtime setup.

Closes #126, #127, #128, #129.
grishasobol pushed a commit to grishasobol/wasmtime that referenced this issue Nov 29, 2021
pchickey added a commit to pchickey/wasmtime that referenced this issue May 16, 2023
add `trappable_error_type` for `streams::stream-error`
mooori pushed a commit to mooori/wasmtime that referenced this issue Dec 20, 2023
dhil added a commit to dhil/wasmtime that referenced this issue Mar 13, 2024
avanhatt pushed a commit to wellesley-prog-sys/wasmtime that referenced this issue Oct 18, 2024
This PR adds a `matches` clause to specs which describes the conditions
when an extractor (non-infallible) or partial constructor matches.

Currently, the meaning of the `requires` clause on specs is conflated.
It's treated as a traditional function pre-condition, and as a
specification of when an `Option<..>` return from a term is `Some`. This
dual purpose leads to confusing semantics that prevents us from modeling
priorities correctly, see
mmcloughlin/veriisle-wasmtime#128 (comment).

This change may well be controversial given its departure from the
Crocus conventions. We could also revert to dual-purpose `require`
clauses, and change the semantics to fix the priority problem. I
personally would advocate for the new syntax as it clarifies the
meanings of the two cases.

Updates bytecodealliance#128
avanhatt pushed a commit to wellesley-prog-sys/wasmtime that referenced this issue Oct 18, 2024
Populate a `rule_map` in the `sema::TermEnv` mapping interned rule names
to rule IDs. This is similar to the `term_map` that already exists.

This should be useful in bytecodealliance#151 bytecodealliance#128 where we need to apply attributes to
rules.
avanhatt pushed a commit to wellesley-prog-sys/wasmtime that referenced this issue Oct 18, 2024
Provide support for incorporating rule priorities into verification
conditions.

When priorities are considered, the behavior is that for all strictly
higher-priority rules that may overlap with the rule under expansion,
the negation of the overlapping rule's constraints are brought into the
expansion. This necessitates brining in more bindings referenced by the
negated rule's constraints.

One problem is that overlap detection does not work when internal
extractors are left unexpanded. This is the most gross aspect of the
approach here, since we have to parse and run `sema` on the input ISLE
twice, once without internal extractor expansion just so we can deduce
the rule overlap sets.

When rule priorities are factored in it can lead to poor user experience
since the negated constraints bring in more terms that have to be
satisfied. In the fairly common case where priorities are not actually
relevant for correctness this can be annoying. Therefore, we introduce a
new rule attribute `(attr <rule> (veri priority))` which denotes that
the rule's correctness depends on priority. Negated higher-priority
rules will only be considered when this attribute is present.

Updates bytecodealliance#128
avanhatt pushed a commit to wellesley-prog-sys/wasmtime that referenced this issue Oct 18, 2024
Verify integer min/max.

These rules are a great demonstration of the new priority support, since
the correctness of the `cmp_and_choose` helper rule for `fits_in_64`
relies on the higher priority 16-bit case.

Updates bytecodealliance#128
avanhatt added a commit to wellesley-prog-sys/wasmtime that referenced this issue Oct 23, 2024
Add the `cls` (count leading sign rules).

- Add custom encoding for cls.
- Utilizes the new priority support for the 32/64 cases bytecodealliance#128

Co-authored-by: Vaishu Chintam <[email protected]>
avanhatt pushed a commit to wellesley-prog-sys/wasmtime that referenced this issue Oct 23, 2024
Updates the semantics of partial term specs such that the provides are
conditioned on a match, when present.

Until taking priorities into account, this has not mattered since all
matches are assumed to happen and therefore the provides is assumed to
apply also. However, without this change the logic for negated
extractors is wrong, since the provides is assumed even when the
extractor match is negated.

Updates bytecodealliance#128
avanhatt added a commit to wellesley-prog-sys/wasmtime that referenced this issue Oct 23, 2024
Add the `cls` (count leading sign rules).

- Add custom encoding for cls.
- Utilizes the new priority support for the 32/64 cases bytecodealliance#128

Co-authored-by: Vaishu Chintam <[email protected]>
avanhatt pushed a commit to wellesley-prog-sys/wasmtime that referenced this issue Oct 23, 2024
Updates the semantics of partial term specs such that the provides are
conditioned on a match, when present.

Until taking priorities into account, this has not mattered since all
matches are assumed to happen and therefore the provides is assumed to
apply also. However, without this change the logic for negated
extractors is wrong, since the provides is assumed even when the
extractor match is negated.

Updates bytecodealliance#128
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

No branches or pull requests

2 participants