End position storage in javac

Jonathan Gibbons jjg3 at pobox.com
Mon Dec 1 17:15:16 UTC 2025


Names are (have always been) uniquified.  IIRC, back in the day, interned strings were less efficient than now and never GC-ed.  Now, an impediment is that `Name` has effectively leaked into the public API, via `javax.lang.model` and would be hard to replace.

Generally, this "version" of javac dates back to JDK 3/JDK 4 days, when standard collections were less pervasive, and software engineering was ever so much simpler, both in terms of impl design and tools (who remembers emacs?). That being said, it is a testament to that early design that it has endured so long with many pervasive incremental upgrades.

-- Jon

On Thu, Nov 27, 2025, at 5:45 AM, Maurizio Cimadamore wrote:
> For names I'm less sure, 
> but maybe somebody else knows the answer there.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/compiler-dev/attachments/20251201/2e448713/attachment-0001.htm>


More information about the compiler-dev mailing list