|
48 | 48 | import static com.oracle.graal.python.nodes.BuiltinNames.T___BUILD_CLASS__; |
49 | 49 | import static com.oracle.graal.python.nodes.SpecialAttributeNames.T___CLASS__; |
50 | 50 | import static com.oracle.graal.python.runtime.exception.PythonErrorType.NameError; |
| 51 | +import static com.oracle.graal.python.util.PythonUtils.EMPTY_ASSUMPTION_ARRAY; |
51 | 52 | import static com.oracle.graal.python.util.PythonUtils.TS_ENCODING; |
52 | 53 | import static com.oracle.graal.python.util.PythonUtils.toTruffleStringUncached; |
53 | 54 |
|
|
175 | 176 | import com.oracle.graal.python.nodes.builtins.ListNodesFactory; |
176 | 177 | import com.oracle.graal.python.nodes.builtins.TupleNodes; |
177 | 178 | import com.oracle.graal.python.nodes.builtins.TupleNodesFactory; |
178 | | -import com.oracle.graal.python.nodes.bytecode.PBytecodeRootNodeFactory.ObjHashMapPutNodeGen; |
179 | 179 | import com.oracle.graal.python.nodes.bytecode.SequenceFromStackNode.ListFromStackNode; |
180 | 180 | import com.oracle.graal.python.nodes.bytecode.SequenceFromStackNode.TupleFromStackNode; |
| 181 | +import com.oracle.graal.python.nodes.bytecode.PBytecodeRootNodeFactory.ObjHashMapPutNodeGen; |
181 | 182 | import com.oracle.graal.python.nodes.bytecode.SequenceFromStackNodeFactory.ListFromStackNodeGen; |
182 | 183 | import com.oracle.graal.python.nodes.bytecode.SequenceFromStackNodeFactory.TupleFromStackNodeGen; |
183 | 184 | import com.oracle.graal.python.nodes.bytecode.instrumentation.InstrumentationRoot; |
@@ -700,9 +701,13 @@ private PBytecodeRootNode(PythonLanguage language, FrameDescriptor fd, Signature |
700 | 701 | this.exceptionHandlerRanges = co.exceptionHandlerRanges; |
701 | 702 | this.co = co; |
702 | 703 | assert co.stacksize < Math.pow(2, 12) : "stacksize cannot be larger than 12-bit range"; |
703 | | - cellEffectivelyFinalAssumptions = new Assumption[cellvars.length]; |
704 | | - for (int i = 0; i < cellvars.length; i++) { |
705 | | - cellEffectivelyFinalAssumptions[i] = Truffle.getRuntime().createAssumption("cell is effectively final"); |
| 704 | + if (cellvars.length == 0) { |
| 705 | + cellEffectivelyFinalAssumptions = EMPTY_ASSUMPTION_ARRAY; |
| 706 | + } else { |
| 707 | + cellEffectivelyFinalAssumptions = new Assumption[cellvars.length]; |
| 708 | + for (int i = 0; i < cellvars.length; i++) { |
| 709 | + cellEffectivelyFinalAssumptions[i] = Truffle.getRuntime().createAssumption("cell is effectively final"); |
| 710 | + } |
706 | 711 | } |
707 | 712 | int classcellIndexValue = -1; |
708 | 713 | for (int i = 0; i < this.freevars.length; i++) { |
|
0 commit comments