diff --git a/src/jdk/nashorn/internal/codegen/CodeGenerator.java b/src/jdk/nashorn/internal/codegen/CodeGenerator.java index c291707301b62e49db550cafb97a7bd930c075c7..34837bfac74e99324a8a57e35c86545a9df881fa 100644 --- a/src/jdk/nashorn/internal/codegen/CodeGenerator.java +++ b/src/jdk/nashorn/internal/codegen/CodeGenerator.java @@ -456,17 +456,18 @@ final class CodeGenerator extends NodeOperatorVisitor symbols, final Type type) { - if (symbols.isEmpty()) { - return; - } - - method.loadUndefined(type); - while (!symbols.isEmpty()) { - final Symbol symbol = symbols.removeFirst(); - if (!symbols.isEmpty()) { - method.dup(); - } - method.store(symbol); + final Iterator it = symbols.iterator(); + if(it.hasNext()) { + method.loadUndefined(type); + boolean hasNext; + do { + final Symbol symbol = it.next(); + hasNext = it.hasNext(); + if(hasNext) { + method.dup(); + } + method.store(symbol); + } while(hasNext); } }