Skip to content

Commit 1bf5e7b

Browse files
committed
Reduce reporting of polymophism
1 parent 0b217ac commit 1bf5e7b

21 files changed

+28
-30
lines changed

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,7 @@
256256
import com.oracle.truffle.api.dsl.Fallback;
257257
import com.oracle.truffle.api.dsl.GenerateNodeFactory;
258258
import com.oracle.truffle.api.dsl.ReportPolymorphism;
259+
import com.oracle.truffle.api.dsl.ReportPolymorphism.Megamorphic;
259260
import com.oracle.truffle.api.dsl.Specialization;
260261
import com.oracle.truffle.api.dsl.TypeSystemReference;
261262
import com.oracle.truffle.api.frame.VirtualFrame;
@@ -2221,7 +2222,6 @@ public PFunction function(Object cls, Object method_def, Object def, Object name
22212222
@Builtin(name = TYPE, minNumOfPositionalArgs = 2, maxNumOfPositionalArgs = 4, takesVarKeywordArgs = true, constructsClass = PythonBuiltinClassType.PythonClass)
22222223
@GenerateNodeFactory
22232224
@TypeSystemReference(PythonArithmeticTypes.class)
2224-
@ReportPolymorphism
22252225
public abstract static class TypeNode extends PythonBuiltinNode {
22262226
private static final long SIZEOF_PY_OBJECT_PTR = Long.BYTES;
22272227

@@ -2257,6 +2257,7 @@ Object type(Object cls, Object obj, PNone bases, PNone dict, PKeyword[] kwds,
22572257
}
22582258
}
22592259

2260+
@Megamorphic
22602261
@Specialization(guards = "isString(wName)")
22612262
Object typeNew(VirtualFrame frame, Object cls, Object wName, PTuple bases, PDict namespaceOrig, PKeyword[] kwds,
22622263
@CachedLibrary(limit = "5") PythonObjectLibrary lib,

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/cext/capi/CExtNodes.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,6 @@ public static FromNativeSubclassNode create() {
331331

332332
// -----------------------------------------------------------------------------------------------------------------
333333
@GenerateUncached
334-
@ReportPolymorphism
335334
@ImportStatic({PGuards.class, CApiGuards.class})
336335
public abstract static class ToSulongNode extends CExtToNativeNode {
337336

@@ -565,7 +564,6 @@ public static ToSulongNode getUncached() {
565564
*/
566565
@GenerateUncached
567566
@ImportStatic({PGuards.class, CApiGuards.class})
568-
@ReportPolymorphism
569567
public abstract static class ToNewRefNode extends CExtToNativeNode {
570568

571569
public final Object executeInt(int i) {

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/cext/common/CExtParseArgumentsNode.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@
9191
import com.oracle.truffle.api.dsl.GenerateUncached;
9292
import com.oracle.truffle.api.dsl.ImportStatic;
9393
import com.oracle.truffle.api.dsl.ReportPolymorphism;
94+
import com.oracle.truffle.api.dsl.ReportPolymorphism.Megamorphic;
9495
import com.oracle.truffle.api.dsl.Specialization;
9596
import com.oracle.truffle.api.interop.ArityException;
9697
import com.oracle.truffle.api.interop.InteropException;
@@ -136,7 +137,6 @@ public abstract class CExtParseArgumentsNode {
136137
static final char FORMAT_PAR_OPEN = '(';
137138

138139
@GenerateUncached
139-
@ReportPolymorphism
140140
@ImportStatic(PGuards.class)
141141
public abstract static class ParseTupleAndKeywordsNode extends Node {
142142

@@ -162,6 +162,7 @@ int doSpecial(String funName, PTuple argv, Object kwds, @SuppressWarnings("unuse
162162
}
163163

164164
@Specialization(guards = "isDictOrNull(kwds)", replaces = "doSpecial")
165+
@Megamorphic
165166
int doGeneric(String funName, PTuple argv, Object kwds, String format, Object kwdnames, Object varargs, CExtContext nativeContext,
166167
@Cached ConvertArgNode convertArgNode,
167168
@Cached HashingCollectionNodes.LenNode kwdsLenNode,

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/complex/ComplexBuiltins.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -501,7 +501,6 @@ PNotImplemented doComplex(Object left, Object right) {
501501
@Builtin(name = __POW__, minNumOfPositionalArgs = 2, maxNumOfPositionalArgs = 3)
502502
@TypeSystemReference(PythonArithmeticTypes.class)
503503
@GenerateNodeFactory
504-
@ReportPolymorphism
505504
abstract static class PowerNode extends PythonTernaryBuiltinNode {
506505

507506
static boolean isSmallPositive(long l) {

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/generator/GeneratorBuiltins.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@
8989
import com.oracle.truffle.api.dsl.ImportStatic;
9090
import com.oracle.truffle.api.dsl.NodeFactory;
9191
import com.oracle.truffle.api.dsl.ReportPolymorphism;
92+
import com.oracle.truffle.api.dsl.ReportPolymorphism.Megamorphic;
9293
import com.oracle.truffle.api.dsl.Specialization;
9394
import com.oracle.truffle.api.frame.MaterializedFrame;
9495
import com.oracle.truffle.api.frame.VirtualFrame;
@@ -141,7 +142,6 @@ private static void checkResumable(PythonBuiltinBaseNode node, PGenerator self)
141142
}
142143

143144
@ImportStatic({PGuards.class, PythonOptions.class})
144-
@ReportPolymorphism
145145
abstract static class ResumeGeneratorNode extends Node {
146146
public abstract Object execute(VirtualFrame frame, PGenerator self, Object sendValue);
147147

@@ -165,6 +165,7 @@ static Object cached(VirtualFrame frame, PGenerator self, Object sendValue,
165165
}
166166

167167
@Specialization(replaces = "cached")
168+
@Megamorphic
168169
static Object generic(VirtualFrame frame, PGenerator self, Object sendValue,
169170
@Cached GenericInvokeNode call) {
170171
self.setRunning(true);

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/PRaiseNode.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@
6464

6565
@ImportStatic(PGuards.class)
6666
@GenerateUncached
67-
@ReportPolymorphism
6867
public abstract class PRaiseNode extends Node {
6968

7069
public abstract PException execute(Node raisingNode, Object type, Object cause, Object format, Object[] arguments);

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/attributes/LookupAttributeInMRONode.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,11 @@
7070
import com.oracle.truffle.api.dsl.GenerateUncached;
7171
import com.oracle.truffle.api.dsl.ImportStatic;
7272
import com.oracle.truffle.api.dsl.ReportPolymorphism;
73+
import com.oracle.truffle.api.dsl.ReportPolymorphism.Megamorphic;
7374
import com.oracle.truffle.api.dsl.Specialization;
7475
import com.oracle.truffle.api.nodes.ExplodeLoop;
7576

7677
@ImportStatic(PythonOptions.class)
77-
@ReportPolymorphism
7878
public abstract class LookupAttributeInMRONode extends PNodeWithContext {
7979
@GenerateUncached
8080
public abstract static class Dynamic extends PNodeWithContext {
@@ -310,6 +310,7 @@ protected Object lookupCachedLen(@SuppressWarnings("unused") Object klass,
310310
}
311311

312312
@Specialization(replaces = {"lookupConstantMROCached", "lookupConstantMRO", "lookupCachedLen"})
313+
@Megamorphic
313314
protected Object lookup(Object klass,
314315
@Cached("createForceType()") ReadAttributeFromObjectNode readAttrNode) {
315316
return lookupSlow(klass, key, ensureGetMroNode(), readAttrNode, skipPythonClasses);

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/attributes/ReadAttributeFromDynamicObjectNode.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@
5050
import com.oracle.truffle.api.dsl.Cached;
5151
import com.oracle.truffle.api.dsl.GenerateUncached;
5252
import com.oracle.truffle.api.dsl.ImportStatic;
53-
import com.oracle.truffle.api.dsl.ReportPolymorphism;
5453
import com.oracle.truffle.api.dsl.Specialization;
5554
import com.oracle.truffle.api.library.CachedLibrary;
5655
import com.oracle.truffle.api.object.DynamicObject;
@@ -60,7 +59,6 @@
6059
import com.oracle.truffle.api.object.Shape;
6160

6261
@ImportStatic({PGuards.class, PythonOptions.class})
63-
@ReportPolymorphism
6462
@GenerateUncached
6563
public abstract class ReadAttributeFromDynamicObjectNode extends ObjectAttributeNode {
6664
public static ReadAttributeFromDynamicObjectNode create() {

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/attributes/WriteAttributeToDynamicObjectNode.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,13 @@
4545
import com.oracle.truffle.api.dsl.Cached;
4646
import com.oracle.truffle.api.dsl.GenerateUncached;
4747
import com.oracle.truffle.api.dsl.ImportStatic;
48-
import com.oracle.truffle.api.dsl.ReportPolymorphism;
4948
import com.oracle.truffle.api.dsl.Specialization;
5049
import com.oracle.truffle.api.library.CachedLibrary;
5150
import com.oracle.truffle.api.object.DynamicObject;
5251
import com.oracle.truffle.api.object.DynamicObjectLibrary;
5352
import com.oracle.truffle.api.object.HiddenKey;
5453

5554
@ImportStatic(PythonOptions.class)
56-
@ReportPolymorphism
5755
@GenerateUncached
5856
public abstract class WriteAttributeToDynamicObjectNode extends ObjectAttributeNode {
5957

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/call/CallDispatchNode.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,13 @@
3636
import com.oracle.truffle.api.dsl.Cached;
3737
import com.oracle.truffle.api.dsl.GenerateUncached;
3838
import com.oracle.truffle.api.dsl.ImportStatic;
39-
import com.oracle.truffle.api.dsl.ReportPolymorphism;
39+
import com.oracle.truffle.api.dsl.ReportPolymorphism.Megamorphic;
4040
import com.oracle.truffle.api.dsl.Specialization;
4141
import com.oracle.truffle.api.frame.Frame;
4242
import com.oracle.truffle.api.frame.VirtualFrame;
4343
import com.oracle.truffle.api.nodes.Node;
4444

4545
@ImportStatic(PythonOptions.class)
46-
@ReportPolymorphism
4746
@GenerateUncached
4847
public abstract class CallDispatchNode extends Node {
4948

@@ -133,12 +132,14 @@ protected Object callBuiltinFunctionCachedCt(VirtualFrame frame, @SuppressWarnin
133132
}
134133

135134
@Specialization(replaces = {"callFunctionCached", "callFunctionCachedCode", "callFunctionCachedCt"})
135+
@Megamorphic
136136
protected Object callFunctionUncached(Frame frame, PFunction callee, Object[] arguments,
137137
@Cached GenericInvokeNode invoke) {
138138
return invoke.executeInternal(frame, callee, arguments);
139139
}
140140

141141
@Specialization(replaces = {"callBuiltinFunctionCached", "callBuiltinFunctionCachedCt"})
142+
@Megamorphic
142143
protected Object callBuiltinFunctionUncached(Frame frame, PBuiltinFunction callee, Object[] arguments,
143144
@Cached GenericInvokeNode invoke) {
144145
return invoke.executeInternal(frame, callee, arguments);

0 commit comments

Comments
 (0)