Skip to content

Commit

Permalink
Formal overview address latest review (#205)
Browse files Browse the repository at this point in the history
This is not the suggestion given in that last review of #143:
https://github.com/WebAssembly/exception-handling/pull/143/files#r759907998

but a potential fix of the issue raised there.
  • Loading branch information
ioannad committed Aug 26, 2022
1 parent 547e810 commit f3c5987
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions proposals/exception-handling/Exceptions-formal-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,11 +83,13 @@ C ⊢ try bt instr1* (catch x instr2*)* (catch_all instr3*)? end : [t1*]→[t2*]
C ⊢ bt : [t1*]→[t2*]
C, labels [t2*] ⊢ instr* : [t1*]→[t2*]
C.labels[l] = [t*]
C.labels[l] = [t0*]
-------------------------------------------
C ⊢ try bt instr* delegate l : [t1*]→[t2*]
```

Note that `try ... delegate 0` may appear without any explicitly surrounding block, in which case the label 0 refers to the label of the frame. Currently it is not allowed to refer to a label higher than the one of the frame.

## Execution (Reduction)

### Runtime Structure
Expand Down Expand Up @@ -208,10 +210,10 @@ S;C, labels [t2*] ⊢ instr1* : []→[t2*]
-----------------------------------------------------------
S;C, labels [t2*] ⊢ catch{a? instr2*}* instr1* end : []→[t2*]
S;C, labels [t*] ⊢ instr* : []→[t*]
C.labels[l] = [t0*]
S;C ⊢ instr* : []→[t*]
C.labels[l+1] = [t0*]
------------------------------------------------------
S;C, labels [t*] ⊢ delegate{l} instr* end : []→[t*]
S;C ⊢ delegate{l} instr* end : []→[t*]
S ⊢ tag a : tag [t0*]→[]
(val:t0)*
Expand Down

0 comments on commit f3c5987

Please sign in to comment.