|
133 | 133 | import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyContextFunctionsFactory.GraalHPyContextVarGetNodeGen;
|
134 | 134 | import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyContextFunctionsFactory.GraalHPyContextVarNewNodeGen;
|
135 | 135 | import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyContextFunctionsFactory.GraalHPyContextVarSetNodeGen;
|
| 136 | +import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyContextFunctionsFactory.GraalHPyDelItemNodeGen; |
| 137 | +import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyContextFunctionsFactory.GraalHPyDelItemSNodeGen; |
136 | 138 | import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyContextFunctionsFactory.GraalHPyDictCheckNodeGen;
|
137 | 139 | import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyContextFunctionsFactory.GraalHPyDictCopyNodeGen;
|
138 | 140 | import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyContextFunctionsFactory.GraalHPyDictKeysNodeGen;
|
|
316 | 318 | import com.oracle.graal.python.lib.PyIndexCheckNode;
|
317 | 319 | import com.oracle.graal.python.lib.PyLongAsDoubleNode;
|
318 | 320 | import com.oracle.graal.python.lib.PyNumberIndexNode;
|
| 321 | +import com.oracle.graal.python.lib.PyObjectDelItem; |
319 | 322 | import com.oracle.graal.python.lib.PyObjectGetAttr;
|
320 | 323 | import com.oracle.graal.python.lib.PyObjectGetItem;
|
321 | 324 | import com.oracle.graal.python.lib.PyObjectGetMethod;
|
@@ -522,6 +525,8 @@ public static GraalHPyContextFunction create(HPyContextMember member) {
|
522 | 525 | case CTX_GETITEM_S -> GraalHPyGetItemSNodeGen.create();
|
523 | 526 | case CTX_SETITEM, CTX_SETITEM_I -> GraalHPySetItemNodeGen.create();
|
524 | 527 | case CTX_SETITEM_S -> GraalHPySetItemSNodeGen.create();
|
| 528 | + case CTX_DELITEM, CTX_DELITEM_I -> GraalHPyDelItemNodeGen.create(); |
| 529 | + case CTX_DELITEM_S -> GraalHPyDelItemSNodeGen.create(); |
525 | 530 | case CTX_FROMPYOBJECT -> GraalHPyFromPyObjectNodeGen.create();
|
526 | 531 | case CTX_NEW -> GraalHPyNewNodeGen.create();
|
527 | 532 | case CTX_ASSTRUCT_OBJECT, CTX_ASSTRUCT_LEGACY, CTX_ASSTRUCT_TYPE, CTX_ASSTRUCT_LONG, CTX_ASSTRUCT_FLOAT, CTX_ASSTRUCT_UNICODE, CTX_ASSTRUCT_TUPLE, CTX_ASSTRUCT_LIST -> GraalHPyCastNodeGen.create();
|
@@ -686,6 +691,8 @@ public static GraalHPyContextFunction getUncached(HPyContextMember member) {
|
686 | 691 | case CTX_GETITEM_S -> GraalHPyGetItemSNodeGen.getUncached();
|
687 | 692 | case CTX_SETITEM, CTX_SETITEM_I -> GraalHPySetItemNodeGen.getUncached();
|
688 | 693 | case CTX_SETITEM_S -> GraalHPySetItemSNodeGen.getUncached();
|
| 694 | + case CTX_DELITEM, CTX_DELITEM_I -> GraalHPyDelItemNodeGen.getUncached(); |
| 695 | + case CTX_DELITEM_S -> GraalHPyDelItemSNodeGen.getUncached(); |
689 | 696 | case CTX_FROMPYOBJECT -> GraalHPyFromPyObjectNodeGen.getUncached();
|
690 | 697 | case CTX_NEW -> GraalHPyNewNodeGen.getUncached();
|
691 | 698 | case CTX_ASSTRUCT_OBJECT, CTX_ASSTRUCT_LEGACY, CTX_ASSTRUCT_TYPE, CTX_ASSTRUCT_LONG, CTX_ASSTRUCT_FLOAT, CTX_ASSTRUCT_UNICODE, CTX_ASSTRUCT_TUPLE, CTX_ASSTRUCT_LIST -> GraalHPyCastNodeGen.getUncached();
|
@@ -2219,6 +2226,32 @@ static int doGeneric(@SuppressWarnings("unused") Object hpyContext, Object recei
|
2219 | 2226 | }
|
2220 | 2227 | }
|
2221 | 2228 |
|
| 2229 | + @HPyContextFunction("ctx_DelItem") |
| 2230 | + @HPyContextFunction("ctx_DelItem_i") |
| 2231 | + @GenerateUncached |
| 2232 | + public abstract static class GraalHPyDelItem extends HPyTernaryContextFunction { |
| 2233 | + |
| 2234 | + @Specialization |
| 2235 | + static int doGeneric(@SuppressWarnings("unused") Object hpyContext, Object receiver, Object key, |
| 2236 | + @Cached PyObjectDelItem delItemNode) { |
| 2237 | + delItemNode.execute(null, receiver, key); |
| 2238 | + return 0; |
| 2239 | + } |
| 2240 | + } |
| 2241 | + |
| 2242 | + @HPyContextFunction("ctx_DelItem_s") |
| 2243 | + @GenerateUncached |
| 2244 | + public abstract static class GraalHPyDelItemS extends HPyTernaryContextFunction { |
| 2245 | + |
| 2246 | + @Specialization |
| 2247 | + static int doGeneric(@SuppressWarnings("unused") Object hpyContext, Object receiver, Object charPtr, |
| 2248 | + @Cached FromCharPointerNode fromCharPointerNode, |
| 2249 | + @Cached PyObjectDelItem delItemNode) { |
| 2250 | + delItemNode.execute(null, receiver, fromCharPointerNode.execute(charPtr)); |
| 2251 | + return 0; |
| 2252 | + } |
| 2253 | + } |
| 2254 | + |
2222 | 2255 | @HPyContextFunction("ctx_FromPyObject")
|
2223 | 2256 | @GenerateUncached
|
2224 | 2257 | public abstract static class GraalHPyFromPyObject extends HPyBinaryContextFunction {
|
|
0 commit comments