Bug #3363
closedLazy evaluation of variables is not respected
0%
Description
When an expression is loop-lifted out of a loop, or out of an xsl:choose, it must be evaluated lazily to ensure that evaluation does not occur if the loop is executed zero times (or if the relevant branch of a conditional is not chosen). The SEF export file reflects this requirement with the value of let/@eval. But Saxon-JS ignores this attribute, meaning that the expression may be evaluated eagerly, leading to unwanted costs, unwanted failures, or premature side-effects.
(It might be that the appropriate solution is to avoid such aggressive optimization when -target:js is set).
Reported informally by John Lumley.
Updated by Michael Kay almost 4 years ago
- Description updated (diff)
- Status changed from New to Closed
Closing this because it's nearly three years old and we have no concrete evidence that a problem actually exists.
Please register to edit this issue
Also available in: Atom PDF Tracking page