Store only data for variables declared in current lexical scope.
Remove data for other variables (when leaving a scope).
This commit is contained in:
@@ -15,11 +15,11 @@ L0:
|
||||
mark(while (true) { val a: Int })
|
||||
L2 [loop entry point]:
|
||||
L5 [condition entry point]:
|
||||
r(true) INIT: in: {a=D} out: {a=D}
|
||||
r(true)
|
||||
L4 [body entry point]:
|
||||
3 mark({ val a: Int })
|
||||
v(val a: Int)
|
||||
2 jmp(L2 [loop entry point]) USE: in: {} out: {}
|
||||
v(val a: Int) INIT: in: {} out: {a=D}
|
||||
2 jmp(L2 [loop entry point]) INIT: in: {} out: {} USE: in: {} out: {}
|
||||
L3 [loop exit point]:
|
||||
- read (Unit)
|
||||
- mark("after")
|
||||
@@ -29,5 +29,5 @@ L1:
|
||||
error:
|
||||
<ERROR>
|
||||
sink:
|
||||
<SINK> USE: in: {} out: {}
|
||||
<SINK> USE: in: {} out: {}
|
||||
=====================
|
||||
|
||||
Reference in New Issue
Block a user