[CLJ-1211] Protocol call sites emit many unused fields and bytecodes Created: 25/May/13 Updated: 25/May/13 Resolved: 25/May/13
Three unused instance member fields are emitted by emitProto() in the compiler - seems that at some point it was for inline caching of protocol implementations, but it looks like that's all handled by MethodImplCache now.
This patch eliminates it, and brings down protocol heavy classes like the new ManyToManyChannel in core.async from 120+ fields down to 23 fields, mostly Var caches.
There should be a lot less bytecode in such classes now, and less memory overhead.
|Comment by Ghadi Shayban [ 25/May/13 10:49 AM ]|