←Older revision | Revision as of 10:22, 18 July 2021 | ||
Line 1: | Line 1: | ||
- | [[RetroLambda]] project [https://github.com/orfjackal/retrolambda on github] is capable to convert [[JDK]]8's usage of [[InvokeDynamic]] in [[Closure|lambdas]] to normal static method invocations. | + | [[RetroLambda]] project [https://github.com/orfjackal/retrolambda on github] is capable to convert [[JDK]]8's usage of [[InvokeDynamic]] in [[Closure|lambdas]] to normal static method invocations. [[Bck2Brwsr]] was using [[RetroLambda]] since [[Bck2Brwsr 0.10]] to successfully bring [[Closure|Lambdas]] to browsers. |
- | + | However it turned out that there are significant flaws using [[RetroLambda]] in long running processes like [[Groovy]]. [[RetroLambda]] relies on reflection to '''static final private''' field and such change only works before the code gets compiled to native. That's usually true, if the hack is applied sooner than the code warms up. However that is not the case with [[Gradle]] daemon. As such [[Bck2Brwsr 0.50]] is rewriting the code to avoid [[RetroLambda]] altogether. |