|
43 | 43 | import static com.oracle.graal.python.builtins.objects.cext.capi.NativeCAPISymbol.FUN_PTR_ADD; |
44 | 44 | import static com.oracle.graal.python.builtins.objects.cext.structs.CFields.PyMemoryViewObject__exports; |
45 | 45 | import static com.oracle.graal.python.builtins.objects.cext.structs.CFields.PyMemoryViewObject__flags; |
46 | | -import static com.oracle.graal.python.builtins.objects.cext.structs.CFields.PyObject__ob_refcnt; |
47 | | -import static com.oracle.graal.python.builtins.objects.cext.structs.CFields.PyObject__ob_type; |
48 | | -import static com.oracle.graal.python.builtins.objects.cext.structs.CStructs.PyMemoryViewObject; |
49 | 46 | import static com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere; |
50 | 47 |
|
51 | 48 | import com.oracle.graal.python.builtins.objects.buffer.PythonBufferAccessLibrary; |
|
58 | 55 | import com.oracle.graal.python.builtins.objects.ints.PInt; |
59 | 56 | import com.oracle.graal.python.builtins.objects.memoryview.PMemoryView; |
60 | 57 | import com.oracle.graal.python.builtins.objects.object.PythonObject; |
61 | | -import com.oracle.graal.python.nodes.object.GetClassNode; |
62 | | -import com.oracle.graal.python.runtime.PythonContext; |
63 | 58 | import com.oracle.truffle.api.CompilerDirectives; |
64 | 59 | import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary; |
65 | 60 | import com.oracle.truffle.api.interop.InteropLibrary; |
@@ -95,14 +90,8 @@ private static Object allocate(PMemoryView object) { |
95 | 90 | CExtNodes.AsCharPointerNode asCharPointerNode = CExtNodes.AsCharPointerNode.getUncached(); |
96 | 91 |
|
97 | 92 | Object mem; |
98 | | - if (!PythonContext.get(null).isNativeAccessAllowed()) { // accommodate managed mode. |
99 | | - mem = CStructAccess.AllocateNode.allocUncached(PyMemoryViewObject.size()); /*- GC head alloc is not needed */ |
100 | | - writeI64Node.write(mem, PyObject__ob_refcnt, IMMORTAL_REFCNT); // TODO: immortal for now |
101 | | - writePointerNode.write(mem, PyObject__ob_type, PythonToNativeNewRefNode.executeUncached(GetClassNode.executeUncached(object))); |
102 | | - } else { |
103 | | - long taggedPointer = CApiTransitions.FirstToNativeNode.executeUncached(object.getNativeWrapper(), true /*- TODO: immortal for now */); |
104 | | - mem = CApiTransitions.HandlePointerConverter.pointerToStub(taggedPointer); |
105 | | - } |
| 93 | + long taggedPointer = CApiTransitions.FirstToNativeNode.executeUncached(object.getNativeWrapper(), true /*- TODO: immortal for now */); |
| 94 | + mem = CApiTransitions.HandlePointerConverter.pointerToStub(taggedPointer); |
106 | 95 | writeI32Node.write(mem, PyMemoryViewObject__flags, object.getFlags()); |
107 | 96 | writeI64Node.write(mem, PyMemoryViewObject__exports, object.getExports().get()); |
108 | 97 | // TODO: ignoring mbuf, hash and weakreflist for now |
|
0 commit comments