From 0ae06909f682c2a1c17720e0cda3399eba252359 Mon Sep 17 00:00:00 2001 From: Alan L Date: Fri, 2 Aug 2024 15:51:09 +0800 Subject: [PATCH 1/2] [spec] resume_throw should accept multiple handlers (#71) --- proposals/continuations/Overview.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/proposals/continuations/Overview.md b/proposals/continuations/Overview.md index 14c84d46b4..00ea905858 100644 --- a/proposals/continuations/Overview.md +++ b/proposals/continuations/Overview.md @@ -39,19 +39,19 @@ Based on [typed reference proposal](https://github.com/WebAssembly/function-refe - and `(label $l : [te1'* (ref null? $ct')])*` - and `([te1*] <: [te1'*])*` - and `($ct' = cont $ft')*` - - and `$ft' = [t1'*] -> [t2'*]` + - and `($ft' = [t1'*] -> [t2'*])*` - and `([te2*] -> [t2*] <: [t1'*] -> [t2'*])*` -* `resume_throw (on )` aborts a continuation +* `resume_throw (on )*` aborts a continuation - `resume_throw $ct $e (on $t $l): [te* (ref null? $ct)] -> [t2*]` - - iff `(on $e : [te*] -> [])` + - iff `(tag $e : [te*] -> [])` - and `$ct = cont $ft` - and `$ft = [t1*] -> [t2*]` - and `(on $t : [te1*] -> [te2*])*` - and `(label $l : [te1'* (ref null? $ct')])*` - and `([te1*] <: [te1'*])*` - and `($ct' = cont $ft')*` - - and `$ft' = [t1'*] -> [t2'*]` + - and `($ft' = [t1'*] -> [t2'*])*` - and `([te2*] -> [t2*] <: [t1'*] -> [t2'*])*` * `barrier * end` blocks suspension From b6a693178cd157283f3e7bc7b969c6713c408a6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Hillerstr=C3=B6m?= Date: Fri, 2 Aug 2024 09:58:33 +0200 Subject: [PATCH 2/2] Add missing * --- proposals/continuations/Overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proposals/continuations/Overview.md b/proposals/continuations/Overview.md index 00ea905858..04a9a8e37f 100644 --- a/proposals/continuations/Overview.md +++ b/proposals/continuations/Overview.md @@ -43,7 +43,7 @@ Based on [typed reference proposal](https://github.com/WebAssembly/function-refe - and `([te2*] -> [t2*] <: [t1'*] -> [t2'*])*` * `resume_throw (on )*` aborts a continuation - - `resume_throw $ct $e (on $t $l): [te* (ref null? $ct)] -> [t2*]` + - `resume_throw $ct $e (on $t $l)* : [te* (ref null? $ct)] -> [t2*]` - iff `(tag $e : [te*] -> [])` - and `$ct = cont $ft` - and `$ft = [t1*] -> [t2*]`