diff --git a/RELEASES.md b/RELEASES.md index 317a62de..7571ffa3 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -13,6 +13,17 @@ TAME developers: Add new changes under a "NEXT" heading as part of the commits that introduce the changes. To make a new release, run `tools/mkrelease`, which will handle updating the heading for you. +NEXT +==== +This release provides tail-call optimizations aimed at the query system in +core. + +Compiler +-------- +- [bugfix] Recursive calls using TCO will wait to overwrite their function + arguments until all expressions calculating the new argument values have + completed. + v17.6.5 (2020-12-03) ==================== This release improves Summary Page performance when populating the page with diff --git a/src/current/compiler/js-calc.xsl b/src/current/compiler/js-calc.xsl index dc375f58..a21b0b4a 100644 --- a/src/current/compiler/js-calc.xsl +++ b/src/current/compiler/js-calc.xsl @@ -960,27 +960,42 @@ + (/*TCO*/function(){ + - + + - - + + - - - - - , - + + + + + + + + + + ; + + + + + - 0 + return 0;})()