Skip to content

Commit c99d61c

Browse files
committed
Fix list generalization bug
1 parent 03b8f12 commit c99d61c

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/bytecode/PBytecodeRootNode.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4290,13 +4290,13 @@ private int bytecodeCollectionFromStack(VirtualFrame virtualFrame, int type, int
42904290
Object res = null;
42914291
switch (type) {
42924292
case CollectionBits.KIND_LIST: {
4293-
ListFromStackNode storageFromStackNode = insertChildNodeInt(localNodes, nodeIndex, ListFromStackNodeGen.class, (int length) -> ListFromStackNodeGen.create(length), count);
4293+
ListFromStackNode storageFromStackNode = insertChildNodeInt(localNodes, nodeIndex, ListFromStackNodeGen.class, ListFromStackNodeGen::create, count);
42944294
SequenceStorage store = storageFromStackNode.execute(virtualFrame, stackTop - count + 1, stackTop + 1);
42954295
res = factory.createList(store, storageFromStackNode);
42964296
break;
42974297
}
42984298
case CollectionBits.KIND_TUPLE: {
4299-
TupleFromStackNode storageFromStackNode = insertChildNodeInt(localNodes, nodeIndex, TupleFromStackNodeGen.class, (int length) -> TupleFromStackNodeGen.create(length), count);
4299+
TupleFromStackNode storageFromStackNode = insertChildNodeInt(localNodes, nodeIndex, TupleFromStackNodeGen.class, TupleFromStackNodeGen::create, count);
43004300
SequenceStorage store = storageFromStackNode.execute(virtualFrame, stackTop - count + 1, stackTop + 1);
43014301
res = factory.createTuple(store);
43024302
break;

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/bytecode/SequenceFromStackNode.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444

4545
import com.oracle.graal.python.PythonLanguage;
4646
import com.oracle.graal.python.builtins.objects.list.PList.ListOrigin;
47-
import com.oracle.graal.python.builtins.objects.list.PList.ListOrigin.SizeEstimate;
4847
import com.oracle.graal.python.nodes.PNodeWithContext;
4948
import com.oracle.graal.python.runtime.PythonContext;
5049
import com.oracle.graal.python.runtime.PythonOptions;
@@ -60,6 +59,7 @@
6059
import com.oracle.graal.python.runtime.sequence.storage.SequenceStorageFactory;
6160
import com.oracle.truffle.api.CompilerAsserts;
6261
import com.oracle.truffle.api.CompilerDirectives;
62+
import com.oracle.truffle.api.CompilerDirectives.CompilationFinal;
6363
import com.oracle.truffle.api.TruffleLogger;
6464
import com.oracle.truffle.api.dsl.Specialization;
6565
import com.oracle.truffle.api.frame.Frame;
@@ -69,8 +69,8 @@
6969
import com.oracle.truffle.api.source.SourceSection;
7070

7171
abstract class SequenceFromStackNode extends PNodeWithContext {
72-
@CompilerDirectives.CompilationFinal protected final int length;
73-
@CompilerDirectives.CompilationFinal protected SequenceStorage.ListStorageType type = SequenceStorage.ListStorageType.Uninitialized;
72+
@CompilationFinal protected final int length;
73+
@CompilationFinal protected SequenceStorage.ListStorageType type = SequenceStorage.ListStorageType.Uninitialized;
7474

7575
SequenceFromStackNode(int length) {
7676
this.length = length;
@@ -199,7 +199,7 @@ private SequenceStorage genericFallback(VirtualFrame frame, Object array, int st
199199
elements[j] = frame.getObject(i);
200200
frame.setObject(i, null);
201201
}
202-
return new ObjectSequenceStorage(elements, elements.length);
202+
return new ObjectSequenceStorage(elements, length);
203203
}
204204

205205
private static int castInt(Object o) throws UnexpectedResultException {

0 commit comments

Comments
 (0)