diff options
author | Leo Arias <leo@zeppelin.solutions> | 2018-09-11 03:06:09 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-11 03:06:09 +0800 |
commit | 0b30dfc7d0b2debb9b6188522df901575d5a9457 (patch) | |
tree | 65e5c27aa2e1357554f4401bfe513b48a334a281 | |
parent | cd26fa8300c37c7c119004acbc2acc67679174a7 (diff) | |
download | dexon-solidity-0b30dfc7d0b2debb9b6188522df901575d5a9457.tar.gz dexon-solidity-0b30dfc7d0b2debb9b6188522df901575d5a9457.tar.zst dexon-solidity-0b30dfc7d0b2debb9b6188522df901575d5a9457.zip |
Clarify a little the function hoister optimization
-rw-r--r-- | libjulia/optimiser/README.md | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libjulia/optimiser/README.md b/libjulia/optimiser/README.md index b26da0c7..877f8255 100644 --- a/libjulia/optimiser/README.md +++ b/libjulia/optimiser/README.md @@ -24,9 +24,9 @@ a new identifier needs to be introduced, a new unique name is generated. ## Function Hoister -The function hoister moves all function definitions to the topmost block. This is +The function hoister moves all function definitions to the end of the topmost block. This is a semantically equivalent transformation as long as it is performed after the -disambiguation stage. The reason is that moving a definition upwards cannot decrease +disambiguation stage. The reason is that moving a definition to a higher-level block cannot decrease its visibility and it is impossible to reference variables defined in a different function. The benefit of this stage is that function definitions can be looked up more easily. |