Skip to content

Commit 95ce11d

Browse files
committed
intrinsified faulthandler.py
1 parent d2928a7 commit 95ce11d

File tree

3 files changed

+46
-64
lines changed

3 files changed

+46
-64
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/Python3Core.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,6 @@ private static String[] initializeCoreFiles() {
359359
"_frozen_importlib",
360360
"__graalpython__",
361361
"_weakref",
362-
"faulthandler",
363362
"bytearray",
364363
"unicodedata",
365364
"_sre",

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

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2018, 2021, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2018, 2022, Oracle and/or its affiliates. All rights reserved.
33
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
*
55
* The Universal Permissive License (UPL), Version 1.0
@@ -50,10 +50,14 @@
5050
import com.oracle.graal.python.builtins.CoreFunctions;
5151
import com.oracle.graal.python.builtins.PythonBuiltins;
5252
import com.oracle.graal.python.builtins.objects.PNone;
53+
import com.oracle.graal.python.builtins.objects.module.PythonModule;
5354
import com.oracle.graal.python.lib.PyObjectLookupAttr;
5455
import com.oracle.graal.python.nodes.call.CallNode;
5556
import com.oracle.graal.python.nodes.function.PythonBuiltinBaseNode;
57+
import com.oracle.graal.python.nodes.function.PythonBuiltinNode;
5658
import com.oracle.graal.python.nodes.function.builtins.PythonClinicBuiltinNode;
59+
import com.oracle.graal.python.nodes.function.builtins.PythonTernaryBuiltinNode;
60+
import com.oracle.graal.python.nodes.function.builtins.PythonUnaryBuiltinNode;
5761
import com.oracle.graal.python.nodes.function.builtins.clinic.ArgumentClinicProvider;
5862
import com.oracle.graal.python.nodes.statement.AbstractImportNode;
5963
import com.oracle.graal.python.runtime.ExecutionContext.IndirectCallContext;
@@ -70,6 +74,9 @@
7074

7175
@CoreFunctions(defineModule = "faulthandler")
7276
public class FaulthandlerModuleBuiltins extends PythonBuiltins {
77+
78+
private boolean enabled = true;
79+
7380
@Override
7481
protected List<? extends NodeFactory<? extends PythonBuiltinBaseNode>> getNodeFactories() {
7582
return FaulthandlerModuleBuiltinsFactory.getFactories();
@@ -165,4 +172,42 @@ protected ArgumentClinicProvider getArgumentClinic() {
165172
return FaulthandlerModuleBuiltinsClinicProviders.DumpTracebackNodeClinicProviderGen.INSTANCE;
166173
}
167174
}
175+
176+
@Builtin(name = "enable", minNumOfPositionalArgs = 1, declaresExplicitSelf = true, parameterNames = {"$self", "file", "all_threads"})
177+
@GenerateNodeFactory
178+
abstract static class EnableNode extends PythonTernaryBuiltinNode {
179+
@Specialization
180+
static PNone doit(PythonModule self, Object file, Object allThreads) {
181+
((FaulthandlerModuleBuiltins) self.getBuiltins()).enabled = true;
182+
return PNone.NONE;
183+
}
184+
}
185+
186+
@Builtin(name = "disable", minNumOfPositionalArgs = 1, declaresExplicitSelf = true)
187+
@GenerateNodeFactory
188+
abstract static class DisableNode extends PythonUnaryBuiltinNode {
189+
@Specialization
190+
static PNone doit(PythonModule self) {
191+
((FaulthandlerModuleBuiltins) self.getBuiltins()).enabled = false;
192+
return PNone.NONE;
193+
}
194+
}
195+
196+
@Builtin(name = "is_enabled", minNumOfPositionalArgs = 1, declaresExplicitSelf = true)
197+
@GenerateNodeFactory
198+
abstract static class IsEnabledNode extends PythonUnaryBuiltinNode {
199+
@Specialization
200+
static boolean doit(PythonModule self) {
201+
return ((FaulthandlerModuleBuiltins) self.getBuiltins()).enabled;
202+
}
203+
}
204+
205+
@Builtin(name = "cancel_dump_traceback_later")
206+
@GenerateNodeFactory
207+
abstract static class CancelDumpTracebackLaterNode extends PythonBuiltinNode {
208+
@Specialization
209+
PNone doit() {
210+
return PNone.NONE;
211+
}
212+
}
168213
}

graalpython/lib-graalpython/faulthandler.py

Lines changed: 0 additions & 62 deletions
This file was deleted.

0 commit comments

Comments
 (0)