paulk-asert opened a new pull request, #3163: URL: https://github.com/apache/groovy/pull/3163
…k while looping A spread-dot expression under static compilation is generated as an inline loop that adds each value to a new ArrayList. That list was kept on the operand stack for the whole loop, as the value of the expression, so the loop's back edge carried a non-empty stack and HotSpot could not compile the running loop on-stack: a method run once over a large collection stayed in the interpreter. The list now lives only in its temporary slot during the loop and is loaded from it afterwards, so the stack is empty at the back edge whenever nothing else is pending. A spread evaluated after other operands, such as a second argument, still loops with those operands on the stack. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
