Open iskiselev opened 8 years ago
Looks like "CodeGenerator": { "CacheGenericMethodSignatures": false }
, should disable them - but looks like it currently just crash on compiling with it.
Putting them in a shared cache with everything else sounds like a good idea.
@kg, why do you use type references in non function local signatures instead of type identifiers? EDITED: I believe you've done it because of reusing same code (Signature) for writing type meta information. Is it correct?
I honestly don't remember. Sounds like it might just be an artifact of old code doing the wrong thing. Could be code reuse, yeah.
All signatures that refers class/function generic parameter ends in function local method signatures (
var $s__ = new JSIL.MethodSignature(...);
).This signatures often used for only one method call (and they are not cached), but they still use high-cost
JSIL.CreateNamedFunction
. We should either put them in some signature-cache (same as all other function signatures) or make some special processing inside that will just usecall
/apply
method inside in that case.EDITED: This task is very important to improve LINQ and async/await speed for translated BCL.