diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2024-04-22 13:04:30 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-22 13:04:30 +0200 |
commit | 6cb2dca41dde3498a065c9cfb2e484d2104dd11c (patch) | |
tree | 2c81910f9dcb47fda32814dd4f24eadce922a9fd | |
parent | 30cf570af997a0c705f7b3f194eea7337cb44185 (diff) | |
download | Nim-6cb2dca41dde3498a065c9cfb2e484d2104dd11c.tar.gz |
updated compiler DFA docs (#23527)
-rw-r--r-- | compiler/dfa.nim | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/compiler/dfa.nim b/compiler/dfa.nim index 8ee527952..5534d07e7 100644 --- a/compiler/dfa.nim +++ b/compiler/dfa.nim @@ -46,10 +46,10 @@ type case isTryBlock: bool of false: label: PSym - breakFixups: seq[(TPosition, seq[PNode])] #Contains the gotos for the breaks along with their pending finales + breakFixups: seq[(TPosition, seq[PNode])] # Contains the gotos for the breaks along with their pending finales of true: finale: PNode - raiseFixups: seq[TPosition] #Contains the gotos for the raises + raiseFixups: seq[TPosition] # Contains the gotos for the raises Con = object code: ControlFlowGraph @@ -181,14 +181,6 @@ proc genIf(c: var Con, n: PNode) = goto Lend3 L3: D - goto Lend3 # not eliminated to simplify the join generation - Lend3: - join F3 - Lend2: - join F2 - Lend: - join F1 - ]# var endings: seq[TPosition] = @[] let oldInteresting = c.interestingInstructions @@ -213,7 +205,6 @@ proc genAndOr(c: var Con; n: PNode) = # fork lab1 # asgn dest, b # lab1: - # join F1 c.gen(n[1]) forkT: c.gen(n[2]) @@ -324,7 +315,7 @@ proc genRaise(c: var Con; n: PNode) = if c.blocks[i].isTryBlock: genBreakOrRaiseAux(c, i, n) return - assert false #Unreachable + assert false # Unreachable else: genNoReturn(c) @@ -390,7 +381,6 @@ proc genCall(c: var Con; n: PNode) = # fork lab1 # goto exceptionHandler (except or finally) # lab1: - # join F1 forkT: for i in countdown(c.blocks.high, 0): if c.blocks[i].isTryBlock: |