Skip to content

Commit 3b64523

Browse files
committed
[GR-31715] Fix deopt loop in list append
PullRequest: graalpython/1825
2 parents bdacc49 + 1a0a7a1 commit 3b64523

File tree

2 files changed

+7
-4
lines changed
  • graalpython

2 files changed

+7
-4
lines changed

graalpython/com.oracle.graal.python.shell/src/com/oracle/graal/python/shell/GraalPythonMain.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,9 @@ protected List<String> preprocessArguments(List<String> givenArgs, Map<String, S
265265
unrecognized.add(arg);
266266
}
267267
break;
268+
case "-":
269+
programArgs.add(arg);
270+
break;
268271
default:
269272
if (!arg.startsWith("-")) {
270273
inputFile = arg;

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/builtins/ListNodes.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -296,13 +296,13 @@ public void appendObjectGeneric(PList list, Object value,
296296
}
297297
} else {
298298
SequenceStorage newStore = appendNode.execute(list.getSequenceStorage(), value, ListGeneralizationNode.SUPPLIER);
299-
if (CompilerDirectives.inInterpreter() && list.getOrigin() != null && newStore instanceof BasicSequenceStorage) {
300-
list.setSequenceStorage(newStore);
301-
list.getOrigin().reportUpdatedCapacity((BasicSequenceStorage) newStore);
302-
} else if (list.getSequenceStorage() != newStore) {
299+
if (list.getSequenceStorage() != newStore) {
303300
updateStoreProfile[0].enter();
304301
list.setSequenceStorage(newStore);
305302
}
303+
if (CompilerDirectives.inInterpreter() && list.getOrigin() != null && newStore instanceof BasicSequenceStorage) {
304+
list.getOrigin().reportUpdatedCapacity((BasicSequenceStorage) newStore);
305+
}
306306
}
307307
}
308308

0 commit comments

Comments
 (0)