diff options
author | Lukas Rytz <lukas.rytz@gmail.com> | 2014-12-11 17:32:02 +0100 |
---|---|---|
committer | Lukas Rytz <lukas.rytz@gmail.com> | 2015-01-16 23:17:38 +0100 |
commit | 91435f68d280071d286c9d0e13b279293843ae7e (patch) | |
tree | 9d0821afe6660517a8b02af09e74c3cc235bc1e4 /src/repl | |
parent | d395e52eb1aad201746d978e31a350756d846614 (diff) | |
download | scala-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/repl')
0 files changed, 0 insertions, 0 deletions