diff options
author | Li Haoyi <haoyi@dropbox.com> | 2015-02-04 05:31:48 -0800 |
---|---|---|
committer | Li Haoyi <haoyi@dropbox.com> | 2015-02-04 05:31:48 -0800 |
commit | b094df4a6a6cf1bf7eeb36d842970aa8b3d94d5f (patch) | |
tree | 68db445a53fe7f2343a44773cb46d7e882dad7d1 /book/src/main/scalatex/book/indepth/CompilationPipeline.scalatex | |
parent | 49cf861b0a4e351e56ba797541d43cb1da345741 (diff) | |
download | hands-on-scala-js-b094df4a6a6cf1bf7eeb36d842970aa8b3d94d5f.tar.gz hands-on-scala-js-b094df4a6a6cf1bf7eeb36d842970aa8b3d94d5f.tar.bz2 hands-on-scala-js-b094df4a6a6cf1bf7eeb36d842970aa8b3d94d5f.zip |
first attempt at updating things for 0.6.0
Diffstat (limited to 'book/src/main/scalatex/book/indepth/CompilationPipeline.scalatex')
-rw-r--r-- | book/src/main/scalatex/book/indepth/CompilationPipeline.scalatex | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/book/src/main/scalatex/book/indepth/CompilationPipeline.scalatex b/book/src/main/scalatex/book/indepth/CompilationPipeline.scalatex index 5d91b62..ece6215 100644 --- a/book/src/main/scalatex/book/indepth/CompilationPipeline.scalatex +++ b/book/src/main/scalatex/book/indepth/CompilationPipeline.scalatex @@ -134,7 +134,7 @@ @li @b{Inlining}: under some circumstances, the optimizer inlines the implementation of methods at call sites. For example, it does so for all "small enough" methods. This typically reduces the code size by a small amount, but offers a several-times speedup of the generated code by inlining away much of the overhead from the abstractions (implicit-conversions, higher-order-functions, etc.) in Scala's standard library. @li - @b{Constant-folding}: due to inlining and other optimizations, some variables that could have arbitrary are known to contain a constant. These variables are replaced by their respective constants, which, in turn, can trigger more optimizations. + @b{Constant-folding}: due to inlining and other optimizations, some variables that could have arbitrary values are known to contain a constant. These variables are replaced by their respective constants, which, in turn, can trigger more optimizations. @li @b{Closure elimination}: probably one of the most important optimizations. When inlining a higher-order method such as @code{map}, the optimizer can in turn inline the anonymous function inside the body of the loop, effectively turning polymorphic dispatch with closures into bare-metal loops. @p |