summaryrefslogtreecommitdiff
path: root/src/compiler/rootdoc.txt
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@gmail.com>2014-12-11 17:32:02 +0100
committerLukas Rytz <lukas.rytz@gmail.com>2015-01-16 23:17:38 +0100
commit91435f68d280071d286c9d0e13b279293843ae7e (patch)
tree9d0821afe6660517a8b02af09e74c3cc235bc1e4 /src/compiler/rootdoc.txt
parentd395e52eb1aad201746d978e31a350756d846614 (diff)
downloadscala-91435f68d280071d286c9d0e13b279293843ae7e.tar.gz
scala-91435f68d280071d286c9d0e13b279293843ae7e.tar.bz2
scala-91435f68d280071d286c9d0e13b279293843ae7e.zip
Make ClassBType independent of the name table
Each ClassBType is identified by its internalName, the fully qualified JVM class name. Before this change, the name was stored in the `chrs` array of the compiler name table (hash consed), with the idea to avoid materializing the string. However, we materialize the string anyway, because each ClassBType is stored in the classBTypeFromInternalNameMap, indexed by the string. If string equality turns out to be too slow we can use interning. For the inliner, we read classes from bytecode and create ClassBTypes for them. The names of these classes would not yet exist in the name table, so the backend would need to be able to create new names. Using Strings removes this dependency.
Diffstat (limited to 'src/compiler/rootdoc.txt')
0 files changed, 0 insertions, 0 deletions