adcfbdec24
First of all, put method signature caches of BridgeLowering into JvmBackendContext. Since method hierarchies can span several files, and a new instance of BridgeLowering is created to lower each file, keeping them cached for the whole module makes BridgeLowering faster. Also, do not attempt to compute special bridges if the method is irrelevant, which can be deduced by its name. With this optimization, the special method cache is no longer needed. This brings BridgeLowering time from 3.8% down to 1.5% of all compiler time on a sample project.