Skip to content

Commit 246574b

Browse files
committed
Simplify PyTruffle_Trace_Type
1 parent ccbb044 commit 246574b

File tree

3 files changed

+11
-23
lines changed

3 files changed

+11
-23
lines changed

graalpython/com.oracle.graal.python.cext/src/typeobject.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6590,7 +6590,7 @@ PyType_Ready(PyTypeObject *type)
65906590

65916591
// GraalPy change
65926592
if (PyTruffle_Trace_Memory()) {
6593-
GraalPyTruffle_Trace_Type(type, type->tp_name != NULL);
6593+
GraalPyTruffle_Trace_Type(type);
65946594
}
65956595

65966596
/* GraalPy change: IMPORTANT: This is a Truffle-specific statement. Since the refcnt for the type is currently 0 and

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/modules/cext/PythonCextTypeBuiltins.java

Lines changed: 9 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,11 @@
5151
import static com.oracle.graal.python.builtins.objects.cext.capi.transitions.ArgDescriptor.PyTypeObject;
5252
import static com.oracle.graal.python.builtins.objects.cext.capi.transitions.ArgDescriptor.Py_ssize_t;
5353
import static com.oracle.graal.python.builtins.objects.cext.common.CExtContext.METH_CLASS;
54+
import static com.oracle.graal.python.builtins.objects.cext.structs.CFields.PyTypeObject__tp_name;
5455
import static com.oracle.graal.python.nodes.HiddenAttr.METHOD_DEF_PTR;
5556
import static com.oracle.graal.python.nodes.SpecialAttributeNames.T___DOC__;
5657
import static com.oracle.graal.python.nodes.SpecialAttributeNames.T___NAME__;
5758
import static com.oracle.graal.python.util.PythonUtils.EMPTY_OBJECT_ARRAY;
58-
import static com.oracle.graal.python.util.PythonUtils.TS_ENCODING;
5959

6060
import com.oracle.graal.python.PythonLanguage;
6161
import com.oracle.graal.python.builtins.modules.cext.PythonCextBuiltins.CApi7BuiltinNode;
@@ -119,7 +119,6 @@
119119
import com.oracle.truffle.api.dsl.ImportStatic;
120120
import com.oracle.truffle.api.dsl.Specialization;
121121
import com.oracle.truffle.api.interop.InteropLibrary;
122-
import com.oracle.truffle.api.interop.UnsupportedMessageException;
123122
import com.oracle.truffle.api.library.CachedLibrary;
124123
import com.oracle.truffle.api.nodes.Node;
125124
import com.oracle.truffle.api.nodes.RootNode;
@@ -247,27 +246,16 @@ static Object doIt(PythonAbstractNativeObject clazz,
247246
}
248247
}
249248

250-
@CApiBuiltin(ret = Int, args = {Pointer, Pointer}, call = Ignored)
251-
abstract static class PyTruffle_Trace_Type extends CApiBinaryBuiltinNode {
249+
@CApiBuiltin(ret = Int, args = {Pointer}, call = Ignored)
250+
abstract static class PyTruffle_Trace_Type extends CApiUnaryBuiltinNode {
252251
private static final TruffleLogger LOGGER = CApiContext.getLogger(PyTruffle_Trace_Type.class);
253252

254-
@Specialization(limit = "3")
255-
int trace(Object ptr, Object classNameObj,
256-
@CachedLibrary("ptr") InteropLibrary ptrLib,
257-
@CachedLibrary("classNameObj") InteropLibrary nameLib,
258-
@Cached TruffleString.SwitchEncodingNode switchEncodingNode) {
259-
final TruffleString className;
260-
if (nameLib.isString(classNameObj)) {
261-
try {
262-
className = switchEncodingNode.execute(nameLib.asTruffleString(classNameObj), TS_ENCODING);
263-
} catch (UnsupportedMessageException e) {
264-
throw CompilerDirectives.shouldNotReachHere(e);
265-
}
266-
} else {
267-
className = null;
268-
}
269-
Object primitivePtr = CApiContext.asPointer(ptr, ptrLib);
270-
LOGGER.fine(() -> PythonUtils.formatJString("Initializing native type %s (ptr = %s)", className, CApiContext.asHex(primitivePtr)));
253+
@Specialization
254+
@TruffleBoundary
255+
int trace(Object ptr) {
256+
LOGGER.fine(() -> PythonUtils.formatJString("Initializing native type %s (ptr = %s)",
257+
CStructAccess.ReadCharPtrNode.getUncached().read(ptr, PyTypeObject__tp_name),
258+
CApiContext.asHex(CApiContext.asPointer(ptr, InteropLibrary.getUncached()))));
271259
return 0;
272260
}
273261
}

mx.graalpython/mx_graalpython.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1047,7 +1047,7 @@ def graalpytest(args):
10471047
python_args = []
10481048
runner_args = []
10491049
for arg in unknown_args:
1050-
if arg.startswith(('--python.', '--engine.', '--llvm.', '--vm.', '--inspect', '--experimental-options')):
1050+
if arg.startswith(('--python.', '--engine.', '--llvm.', '--vm.', '--inspect', '--log.', '--experimental-options')):
10511051
python_args.append(arg)
10521052
else:
10531053
runner_args.append(arg)

0 commit comments

Comments
 (0)