diff options
| author | Tamas Hadhazy <helsgithub15@gmail.com> | 2024-09-28 16:40:17 +0100 |
|---|---|---|
| committer | Cliff Click <cliffc@acm.org> | 2024-09-29 09:28:57 -0700 |
| commit | 6c4ff259b8428870eee1429d364a28426f1a6d2e (patch) | |
| tree | 0e3c3a4a12396599a2fb6161cc314bff1b94f5c4 /chapter05 | |
| parent | 4fa25c5441c75824d2d0ca800e79f66bc6815b5f (diff) | |
| download | Simple-6c4ff259b8428870eee1429d364a28426f1a6d2e.tar.gz Simple-6c4ff259b8428870eee1429d364a28426f1a6d2e.zip | |
c will die when the scope dies.
Diffstat (limited to 'chapter05')
| -rw-r--r-- | chapter05/README.md | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/chapter05/README.md b/chapter05/README.md index ef7f79da..5619c450 100644 --- a/chapter05/README.md +++ b/chapter05/README.md @@ -164,7 +164,9 @@ To resolve this, a Φ (Phi) function is inserted. b = Phi(2, 1); c = Phi(1, 0); // dead ``` -`c` has no uses, after merging the scopes together it can be removed. +`c` will die when the scope where `c` is defined dies. This does not happen when merging but after the `return`. +The reason why `b` stays alive is because `return` is using it as one of its inputs. + Before, we go ahead and parse down the if statement we duplicate the scope: ```java ScopeNode fScope = _scope.dup(); |
