@@ -72,7 +72,7 @@ and admin_instr' =
72
72
| Label of int * instr list * code
73
73
| Frame of int * frame * code
74
74
| Handler of int * catch list * code
75
- | Handle of handle_table * code
75
+ | Prompt of handle_table * code
76
76
| Suspending of tag_inst * value stack * (int32 * ref_) option * ctxt
77
77
78
78
and ctxt = code -> code
@@ -391,7 +391,7 @@ let rec step (c : config) : config =
391
391
let hs = handle_table c xls in
392
392
let args, vs' = i32_split n vs e.at in
393
393
cont := None ;
394
- vs', [Handle (hs, ctxt (args, [] )) @@ e.at]
394
+ vs', [Prompt (hs, ctxt (args, [] )) @@ e.at]
395
395
396
396
| ResumeThrow (x , y , xls ), Ref (NullRef _ ) :: vs ->
397
397
vs, [Trapping " null continuation reference" @@ e.at]
@@ -405,7 +405,7 @@ let rec step (c : config) : config =
405
405
let hs = handle_table c xls in
406
406
let args, vs' = i32_split (Lib.List32. length ts) vs e.at in
407
407
cont := None ;
408
- vs', [Handle (hs, ctxt ([] , [Throwing (tagt, args) @@ e.at])) @@ e.at]
408
+ vs', [Prompt (hs, ctxt ([] , [Throwing (tagt, args) @@ e.at])) @@ e.at]
409
409
410
410
| Switch (x , y ), Ref (NullRef _ ) :: vs ->
411
411
vs, [Trapping " null continuation reference" @@ e.at]
@@ -1285,34 +1285,34 @@ let rec step (c : config) : config =
1285
1285
with Crash (_ , msg ) -> Crash. error e.at msg)
1286
1286
)
1287
1287
1288
- | Handle (hso , (vs' , [] )), vs ->
1288
+ | Prompt (hso , (vs' , [] )), vs ->
1289
1289
vs' @ vs, []
1290
1290
1291
- | Handle ((hs, _), (vs', {it = Suspending (tagt, vs1, None , ctxt); at} :: es')), vs
1291
+ | Prompt ((hs, _), (vs', {it = Suspending (tagt, vs1, None , ctxt); at} :: es')), vs
1292
1292
when List. mem_assq tagt hs ->
1293
1293
let FuncT (_, ts) = func_type_of_tag_type c.frame.inst (Tag. type_of tagt) in
1294
1294
let ctxt' code = compose (ctxt code) (vs', es') in
1295
1295
[Ref (ContRef (ref (Some (Lib.List32. length ts, ctxt'))))] @ vs1 @ vs,
1296
1296
[Plain (Br (List. assq tagt hs)) @@ e.at]
1297
1297
1298
- | Handle ((_, hs) as hso, (vs', {it = Suspending (tagt, vs1, Some (ar, ContRef ({contents = Some (_, ctxt)} as cont)), ctxt'); at} :: es')), vs
1298
+ | Prompt ((_, hs) as hso, (vs', {it = Suspending (tagt, vs1, Some (ar, ContRef ({contents = Some (_, ctxt)} as cont)), ctxt'); at} :: es')), vs
1299
1299
when List. memq tagt hs ->
1300
1300
let ctxt'' code = compose (ctxt' code) (vs', es') in
1301
1301
let cont' = Ref (ContRef (ref (Some (ar, ctxt'')))) in
1302
1302
let args = cont' :: vs1 in
1303
1303
cont := None ;
1304
- vs' @ vs, [Handle (hso, ctxt (args, [] )) @@ e.at]
1304
+ vs' @ vs, [Prompt (hso, ctxt (args, [] )) @@ e.at]
1305
1305
1306
- | Handle (hso , (vs' , {it = Suspending (tagt , vs1 , contref , ctxt ); at} :: es' )), vs ->
1307
- let ctxt' code = [], [Handle (hso, compose (ctxt code) (vs', es')) @@ e.at] in
1306
+ | Prompt (hso , (vs' , {it = Suspending (tagt , vs1 , contref , ctxt ); at} :: es' )), vs ->
1307
+ let ctxt' code = [], [Prompt (hso, compose (ctxt code) (vs', es')) @@ e.at] in
1308
1308
vs, [Suspending (tagt, vs1, contref, ctxt') @@ at]
1309
1309
1310
- | Handle (hso , (vs' , e' :: es' )), vs when is_jumping e' ->
1310
+ | Prompt (hso , (vs' , e' :: es' )), vs when is_jumping e' ->
1311
1311
vs, [e']
1312
1312
1313
- | Handle (hso , code' ), vs ->
1313
+ | Prompt (hso , code' ), vs ->
1314
1314
let c' = step {c with code = code'} in
1315
- vs, [Handle (hso, c'.code) @@ e.at]
1315
+ vs, [Prompt (hso, c'.code) @@ e.at]
1316
1316
1317
1317
| Suspending (_ , _ , _ , _ ), _ -> assert false
1318
1318
0 commit comments