mirth-lang / mirth

Compiler for the Mirth programming language.
BSD Zero Clause License
447 stars 14 forks source link

Go back to using stable names in C99 output. #267

Closed typeswitch-dev closed 7 months ago

typeswitch-dev commented 7 months ago

We used to have stable names. I shortened them to use a number instead of writing out the full namespace. I thought this change had made it faster, but now I think the thing that made it faster was adding a cache to compute C names (which I did at the same time).

In this PR I go back to using stabler names. Most changes should not result in unrelated names changing. These new stable names can get ridiculously long because of the specializer, e.g:

mw_std_list_Listzp_1_partitionzmeither_1_ZLmirthzielabzizpResolveDefzifilterzs2ziZLmirthzielabzizpTypeElabziresolvezmtypezmconzmnameznzi10z44UmirthzielabzizpTypeElabziresolvezmtypezmconzmnameznzi13ZRzi0ZR

But these few long names don't slow down gcc or mirth appreciably, so it's fine.