Skip to content

Commit eabcab0

Browse files
committed
getitem for dict should use DictBuiltins.GetItemNode instead of dict.getItem
1 parent b4fc282 commit eabcab0

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/modules/OperatorModuleBuiltins.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
import com.oracle.graal.python.builtins.objects.buffer.PythonBufferAcquireLibrary;
5555
import com.oracle.graal.python.builtins.objects.common.SequenceNodes;
5656
import com.oracle.graal.python.builtins.objects.common.SequenceStorageNodes;
57+
import com.oracle.graal.python.builtins.objects.dict.DictBuiltins;
5758
import com.oracle.graal.python.builtins.objects.dict.PDict;
5859
import com.oracle.graal.python.builtins.objects.ints.PInt;
5960
import com.oracle.graal.python.lib.PyNumberIndexNode;
@@ -156,19 +157,20 @@ public boolean doObject(VirtualFrame frame, Object value) {
156157
public abstract static class GetItemNode extends PythonBinaryBuiltinNode {
157158

158159
@Specialization
159-
public Object doDict(PDict dict, Object item) {
160-
return dict.getItem(item);
160+
public static Object doDict(VirtualFrame frame, PDict dict, Object item,
161+
@Cached DictBuiltins.GetItemNode getItem) {
162+
return getItem.execute(frame, dict, item);
161163
}
162164

163165
@Specialization
164-
public Object doSequence(VirtualFrame frame, PSequence value, Object index,
166+
public static Object doSequence(VirtualFrame frame, PSequence value, Object index,
165167
@Cached SequenceNodes.GetSequenceStorageNode getStorage,
166168
@Cached SequenceStorageNodes.GetItemNode getItemNode) {
167169
return getItemNode.execute(frame, getStorage.execute(value), index);
168170
}
169171

170172
@Specialization
171-
public Object doObject(VirtualFrame frame, Object value, Object index,
173+
public static Object doObject(VirtualFrame frame, Object value, Object index,
172174
@Cached("create(__GETITEM__)") LookupAndCallBinaryNode getItemNode) {
173175
return getItemNode.executeObject(frame, value, index);
174176
}

0 commit comments

Comments
 (0)