@@ -3009,24 +3009,24 @@ protected final JSObject constructMapFromIterable(JSDynamicObject newTarget, Obj
30093009 }
30103010 IteratorRecord iter = getIteratorNode .execute (node , iterable );
30113011
3012- try {
3013- while ( true ) {
3014- Object next = iteratorStep ( iter );
3015- if ( next == Boolean . FALSE ) {
3016- break ;
3017- }
3018- Object nextItem = getIteratorValue ( next );
3012+ while ( true ) {
3013+ Object next = iteratorStep ( iter );
3014+ if ( next == Boolean . FALSE ) {
3015+ break ;
3016+ }
3017+ Object nextItem = getIteratorValue ( next );
3018+ try {
30193019 if (!isObjectNode .executeBoolean (nextItem )) {
30203020 errorBranch .enter (node );
30213021 throw Errors .createTypeErrorIteratorResultNotObject (nextItem , this );
30223022 }
30233023 Object k = readElementNode .executeWithTargetAndIndex (nextItem , 0 );
30243024 Object v = readElementNode .executeWithTargetAndIndex (nextItem , 1 );
30253025 call (mapObj , adder , k , v );
3026+ } catch (AbstractTruffleException ex ) {
3027+ iteratorCloseAbrupt (iter );
3028+ throw ex ;
30263029 }
3027- } catch (AbstractTruffleException ex ) {
3028- iteratorCloseAbrupt (iter );
3029- throw ex ;
30303030 }
30313031
30323032 return mapObj ;
@@ -3074,18 +3074,18 @@ protected JSObject constructSetFromIterable(JSDynamicObject newTarget, Object it
30743074 }
30753075 IteratorRecord iter = getIteratorNode .execute (node , iterable );
30763076
3077- try {
3078- while ( true ) {
3079- Object next = iteratorStep ( iter );
3080- if ( next == Boolean . FALSE ) {
3081- break ;
3082- }
3083- Object nextValue = getIteratorValue ( next );
3077+ while ( true ) {
3078+ Object next = iteratorStep ( iter );
3079+ if ( next == Boolean . FALSE ) {
3080+ break ;
3081+ }
3082+ Object nextValue = getIteratorValue ( next );
3083+ try {
30843084 call (setObj , adder , nextValue );
3085+ } catch (AbstractTruffleException ex ) {
3086+ iteratorCloseAbrupt (iter );
3087+ throw ex ;
30853088 }
3086- } catch (AbstractTruffleException ex ) {
3087- iteratorCloseAbrupt (iter );
3088- throw ex ;
30893089 }
30903090
30913091 return setObj ;
0 commit comments