Hi Jerry, all! Just a quick comment for that area.
On Thu, 25 Apr 2024 20:00:24 -0700 Jerry D <jvdelis...@gmail.com> wrote: > Hi posted some thoughts on the subject at our mattermost workspace. > > This particular PR caught my attention because I have done things like > this before. I am looking forward to gcc15. I think changing things at > this point might be a bit intrusive. Agree, clearly gcc-15 material. > > I am thinking about: > > "The FNV-1a algorithm is: > > hash = FNV_offset_basis > for each octetOfData to be hashed > hash = hash xor octetOfData > hash = hash * FNV_prime > return hash" > > Found here: > > https://softwareengineering.stackexchange.com/questions/49550/which-hashing-algorithm-is-best-for-uniqueness-and-speed > > If you are interested, comment on MatterMost. > > Jerry - As you may remember i was looking into using the stringpool for names in the frontend. The plan was to 1) use the stringpool for names 2) Use a hashmap (or some suitable data structure) to lookup names instead of lots of strcmp(). I posted patches for 1) to that effect here in this thread: (I) https://inbox.sourceware.org/fortran/20230413230440.229ebc2f@nbbrfq/ AFAIR part 1) was complete. But the (only) tricky part of 1) involved module symbols, as mentioned in the link above. Specifically "[PATCH,FORTRAN v2] Use stringpool on loading module symbols": https://inbox.sourceware.org/gcc-patches/20180919225533.20009-1-rep.dot....@gmail.com/ I described the problems i was seeing with module writing, free_pi_tree (around true_name), finalization wrapper vars and names of fixups in the mail (I). Unfortunately this would involve a bump of the module version. Furthermore this patch was not reviewed yet, so if you have comments, i'm all ears :) Thoughts? There in (I) you can also see why i think that using attr.artificial is the way to go. Later i also sent a patch (that was also not applied yet) to additionally tweak class component and such internally generated symbols to be marked as artificial: https://inbox.sourceware.org/fortran/20211114231748.376086cd@nbbrfq/ Thoughts? It would be nice if we could finally tackle this for gcc-15, IMHO. PS: unfortunately the git branch ( https://gcc.gnu.org/git/?p=gcc.git;a=log;h=refs/heads/aldot/fortran-fe-stringpool ) mentioned in mail (I) lived in the old git, before we switched to git, and i fear that branch maybe got lost. But i strongly believe that all patches of the fortran-fe-stringpool branch can be found in the thread mentioned above. HTH