Skip to content

Commit 9909b30

Browse files
committed
[GR-21867][GR-23799] Convert IsBuiltinClassProfile to a Node
PullRequest: graalpython/1024
2 parents b2f6602 + 40c7a5f commit 9909b30

File tree

463 files changed

+39333
-131
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

463 files changed

+39333
-131
lines changed

graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/test/datatype/PRangeTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2017, 2019, Oracle and/or its affiliates.
2+
* Copyright (c) 2017, 2020, Oracle and/or its affiliates.
33
* Copyright (c) 2013, Regents of the University of California
44
*
55
* All rights reserved.
@@ -75,7 +75,7 @@ public void loopWithOnlyStop() throws UnexpectedResultException {
7575
Object iter = getIter.executeWith(null, range);
7676
GetNextNode next = GetNextNode.create();
7777
testRoot.doInsert(next);
78-
IsBuiltinClassProfile errorProfile = IsBuiltinClassProfile.create();
78+
IsBuiltinClassProfile errorProfile = IsBuiltinClassProfile.getUncached();
7979

8080
while (true) {
8181
try {
@@ -99,7 +99,7 @@ public void loopWithStep() throws UnexpectedResultException {
9999
Object iter = getIter.executeWith(null, range);
100100
GetNextNode next = GetNextNode.create();
101101
testRoot.doInsert(next);
102-
IsBuiltinClassProfile errorProfile = IsBuiltinClassProfile.create();
102+
IsBuiltinClassProfile errorProfile = IsBuiltinClassProfile.getUncached();
103103

104104
while (true) {
105105
try {

graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/test/parser/ParserTestBase.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,8 @@ public class ParserTestBase {
7474
protected boolean printFormatStringLiteralValues = false;
7575
protected int printOnlyDiffIfLenIsBigger = 1000;
7676

77+
private static final boolean REGENERATE_TREE = false;
78+
7779
@Rule public TestName name = new TestName();
7880

7981
private ScopeInfo lastGlobalScope;
@@ -155,7 +157,7 @@ public void saveNewTreeResult(File testFile, boolean goldenFileNextToTestFile) t
155157
File newGoldenFile = goldenFileNextToTestFile
156158
? new File(testFile.getParentFile(), getFileName(testFile) + NEW_GOLDEN_FILE_EXT)
157159
: getGoldenFile(NEW_GOLDEN_FILE_EXT);
158-
if (!newGoldenFile.exists()) {
160+
if (REGENERATE_TREE || !newGoldenFile.exists()) {
159161
try (FileWriter fw = new FileWriter(newGoldenFile)) {
160162
fw.write(tree);
161163
}
@@ -172,7 +174,7 @@ public void checkTreeFromFile(File testFile, boolean goldenFileNextToTestFile) t
172174
File goldenFile = goldenFileNextToTestFile
173175
? new File(testFile.getParentFile(), getFileName(testFile) + GOLDEN_FILE_EXT)
174176
: getGoldenFile(GOLDEN_FILE_EXT);
175-
if (!goldenFile.exists()) {
177+
if (REGENERATE_TREE || !goldenFile.exists()) {
176178
try (FileWriter fw = new FileWriter(goldenFile)) {
177179
fw.write(tree);
178180
}
@@ -192,7 +194,7 @@ public void saveNewScope(File testFile, boolean goldenFileNextToTestFile) throws
192194
File newScopeFile = goldenFileNextToTestFile
193195
? new File(testFile.getParentFile(), getFileName(testFile) + NEW_SCOPE_FILE_EXT)
194196
: getGoldenFile(NEW_SCOPE_FILE_EXT);
195-
if (!newScopeFile.exists()) {
197+
if (REGENERATE_TREE || !newScopeFile.exists()) {
196198
try (FileWriter fw = new FileWriter(newScopeFile)) {
197199
fw.write(scopes.toString());
198200
}
@@ -210,7 +212,7 @@ public void checkScopeFromFile(File testFile, boolean goldenFileNextToTestFile)
210212
File goldenScopeFile = goldenFileNextToTestFile
211213
? new File(testFile.getParentFile(), getFileName(testFile) + SCOPE_FILE_EXT)
212214
: getGoldenFile(SCOPE_FILE_EXT);
213-
if (!goldenScopeFile.exists()) {
215+
if (REGENERATE_TREE || !goldenScopeFile.exists()) {
214216
try (FileWriter fw = new FileWriter(goldenScopeFile)) {
215217
fw.write(scopes.toString());
216218
}
@@ -223,7 +225,7 @@ public void checkTreeResult(String source, PythonParser.ParserMode mode, Frame f
223225
Node resultNew = parse(source, name.getMethodName(), mode, frame);
224226
String tree = printTreeToString(resultNew);
225227
File goldenFile = getGoldenFile(GOLDEN_FILE_EXT);
226-
if (!goldenFile.exists()) {
228+
if (REGENERATE_TREE || !goldenFile.exists()) {
227229
try (FileWriter fw = new FileWriter(goldenFile)) {
228230
fw.write(tree);
229231
}
@@ -242,7 +244,7 @@ public void checkScopeResult(String source, PythonParser.ParserMode mode) throws
242244
StringBuilder scopes = new StringBuilder();
243245
scopeNew.debugPrint(scopes, 0);
244246
File goldenScopeFile = getGoldenFile(SCOPE_FILE_EXT);
245-
if (!goldenScopeFile.exists()) {
247+
if (REGENERATE_TREE || !goldenScopeFile.exists()) {
246248
try (FileWriter fw = new FileWriter(goldenScopeFile)) {
247249
fw.write(scopes.toString());
248250
}

graalpython/com.oracle.graal.python.test/testData/goldenFiles/AssignmentTests/annotationType01.tast

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,11 @@ ModuleRootNode Name: <module 'annotationType01'> SourceSection: [0,6]`j: int`
1212
SetItemNodeGen SourceSection: [0,0]Empty
1313
ReadNameNodeGen SourceSection: None
1414
Identifier: __annotations__
15+
IsBuiltinClassProfile SourceSection: None
16+
CachedDispatchFirst SourceSection: None
1517
StringLiteralNode SourceSection: [0,0]Empty
1618
ReadNameNodeGen SourceSection: [3,6]`int`
1719
Identifier: int
20+
IsBuiltinClassProfile SourceSection: None
21+
CachedDispatchFirst SourceSection: None
1822
EmptyNode SourceSection: None

graalpython/com.oracle.graal.python.test/testData/goldenFiles/AssignmentTests/annotationType02.tast

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,12 @@ ModuleRootNode Name: <module 'annotationType02'> SourceSection: [0,28]`def fn():
3838
Identifier: index
3939
WriteLocalFrameSlotNodeGen SourceSection: None
4040
Frame: [0,index,Illegal]
41+
IsBuiltinClassProfile SourceSection: None
42+
CachedDispatchFirst SourceSection: None
4143
IntegerLiteralNode SourceSection: [26,27]`0`
4244
Value: 0
4345
Return Expresssion: ReadLocalVariableNode SourceSection: None
4446
Frame: [1,<return_val>,Illegal]
47+
IsBuiltinClassProfile SourceSection: None
48+
CachedDispatchFirst SourceSection: None
4549
ReadVariableFromFrameNodeGen SourceSection: None

graalpython/com.oracle.graal.python.test/testData/goldenFiles/AssignmentTests/annotationType03.tast

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,17 @@ ModuleRootNode Name: <module 'annotationType03'> SourceSection: [0,39]`j = 1↵a
1717
Key: __annotations__
1818
LookupAndCallBinaryNodeGen SourceSection: None
1919
Op: __getattribute__
20+
IsBuiltinClassProfile SourceSection: None
21+
CachedDispatchFirst SourceSection: None
2022
ReadNameNodeGen SourceSection: [6,10]`ahoj`
2123
Identifier: ahoj
24+
IsBuiltinClassProfile SourceSection: None
25+
CachedDispatchFirst SourceSection: None
2226
StringLiteralNode SourceSection: [27,30]`'j'`
2327
ReadNameNodeGen SourceSection: [34,39]`float`
2428
Identifier: float
29+
IsBuiltinClassProfile SourceSection: None
30+
CachedDispatchFirst SourceSection: None
2531
SideEffect:
2632
WriteNameNodeGen SourceSection: [0,5]`j = 1`
2733
Identifier: j

graalpython/com.oracle.graal.python.test/testData/goldenFiles/AssignmentTests/assignment02.tast

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,22 @@ ModuleRootNode Name: <module 'assignment02'> SourceSection: [0,9]`a = b = 1`
1010
Identifier: <>temp0
1111
WriteLocalFrameSlotNodeGen SourceSection: None
1212
Frame: [0,<>temp0,Illegal]
13+
IsBuiltinClassProfile SourceSection: None
14+
CachedDispatchFirst SourceSection: None
1315
IntegerLiteralNode SourceSection: [8,9]`1`
1416
Value: 1
1517
WriteNameNodeGen SourceSection: None
1618
Identifier: a
1719
ReadLocalVariableNode SourceSection: None
1820
Frame: [0,<>temp0,Illegal]
21+
IsBuiltinClassProfile SourceSection: None
22+
CachedDispatchFirst SourceSection: None
1923
ReadVariableFromFrameNodeGen SourceSection: None
2024
WriteNameNodeGen SourceSection: None
2125
Identifier: b
2226
ReadLocalVariableNode SourceSection: None
2327
Frame: [0,<>temp0,Illegal]
28+
IsBuiltinClassProfile SourceSection: None
29+
CachedDispatchFirst SourceSection: None
2430
ReadVariableFromFrameNodeGen SourceSection: None
2531
EmptyNode SourceSection: None

graalpython/com.oracle.graal.python.test/testData/goldenFiles/AssignmentTests/assignment03.tast

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ ModuleRootNode Name: <module 'assignment03'> SourceSection: [0,25]`a = 0↵b = a
1414
Identifier: b
1515
ReadNameNodeGen SourceSection: [10,11]`a`
1616
Identifier: a
17+
IsBuiltinClassProfile SourceSection: None
18+
CachedDispatchFirst SourceSection: None
1719
ExpressionWithSideEffect SourceSection: None
1820
Expression:
1921
EmptyNode SourceSection: None
@@ -28,7 +30,13 @@ ModuleRootNode Name: <module 'assignment03'> SourceSection: [0,25]`a = 0↵b = a
2830
Op: __add__
2931
ReadNameNodeGen SourceSection: [16,17]`a`
3032
Identifier: a
33+
IsBuiltinClassProfile SourceSection: None
34+
CachedDispatchFirst SourceSection: None
3135
ReadNameNodeGen SourceSection: [20,21]`a`
3236
Identifier: a
37+
IsBuiltinClassProfile SourceSection: None
38+
CachedDispatchFirst SourceSection: None
3339
ReadNameNodeGen SourceSection: [24,25]`b`
3440
Identifier: b
41+
IsBuiltinClassProfile SourceSection: None
42+
CachedDispatchFirst SourceSection: None

graalpython/com.oracle.graal.python.test/testData/goldenFiles/AssignmentTests/assignment04.tast

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,26 +10,38 @@ ModuleRootNode Name: <module 'assignment04'> SourceSection: [0,17]`a = b = c = d
1010
Identifier: <>temp0
1111
WriteLocalFrameSlotNodeGen SourceSection: None
1212
Frame: [0,<>temp0,Illegal]
13+
IsBuiltinClassProfile SourceSection: None
14+
CachedDispatchFirst SourceSection: None
1315
ReadNameNodeGen SourceSection: [16,17]`e`
1416
Identifier: e
17+
IsBuiltinClassProfile SourceSection: None
18+
CachedDispatchFirst SourceSection: None
1519
WriteNameNodeGen SourceSection: None
1620
Identifier: a
1721
ReadLocalVariableNode SourceSection: None
1822
Frame: [0,<>temp0,Illegal]
23+
IsBuiltinClassProfile SourceSection: None
24+
CachedDispatchFirst SourceSection: None
1925
ReadVariableFromFrameNodeGen SourceSection: None
2026
WriteNameNodeGen SourceSection: None
2127
Identifier: b
2228
ReadLocalVariableNode SourceSection: None
2329
Frame: [0,<>temp0,Illegal]
30+
IsBuiltinClassProfile SourceSection: None
31+
CachedDispatchFirst SourceSection: None
2432
ReadVariableFromFrameNodeGen SourceSection: None
2533
WriteNameNodeGen SourceSection: None
2634
Identifier: c
2735
ReadLocalVariableNode SourceSection: None
2836
Frame: [0,<>temp0,Illegal]
37+
IsBuiltinClassProfile SourceSection: None
38+
CachedDispatchFirst SourceSection: None
2939
ReadVariableFromFrameNodeGen SourceSection: None
3040
WriteNameNodeGen SourceSection: None
3141
Identifier: d
3242
ReadLocalVariableNode SourceSection: None
3343
Frame: [0,<>temp0,Illegal]
44+
IsBuiltinClassProfile SourceSection: None
45+
CachedDispatchFirst SourceSection: None
3446
ReadVariableFromFrameNodeGen SourceSection: None
3547
EmptyNode SourceSection: None

graalpython/com.oracle.graal.python.test/testData/goldenFiles/AssignmentTests/assignment05.tast

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,26 +22,38 @@ ModuleRootNode Name: <module 'assignment05'> SourceSection: [0,17]`a, b, c = 1,
2222
Identifier: <>temp0
2323
WriteLocalFrameSlotNodeGen SourceSection: None
2424
Frame: [0,<>temp0,Illegal]
25+
IsBuiltinClassProfile SourceSection: None
26+
CachedDispatchFirst SourceSection: None
2527
WriteLocalVariableNodeGen SourceSection: None
2628
Identifier: <>temp1
2729
WriteLocalFrameSlotNodeGen SourceSection: None
2830
Frame: [1,<>temp1,Illegal]
31+
IsBuiltinClassProfile SourceSection: None
32+
CachedDispatchFirst SourceSection: None
2933
WriteLocalVariableNodeGen SourceSection: None
3034
Identifier: <>temp2
3135
WriteLocalFrameSlotNodeGen SourceSection: None
3236
Frame: [2,<>temp2,Illegal]
37+
IsBuiltinClassProfile SourceSection: None
38+
CachedDispatchFirst SourceSection: None
3339
WriteNameNodeGen SourceSection: None
3440
Identifier: a
3541
ReadLocalVariableNode SourceSection: None
3642
Frame: [0,<>temp0,Illegal]
43+
IsBuiltinClassProfile SourceSection: None
44+
CachedDispatchFirst SourceSection: None
3745
ReadVariableFromFrameNodeGen SourceSection: None
3846
WriteNameNodeGen SourceSection: None
3947
Identifier: b
4048
ReadLocalVariableNode SourceSection: None
4149
Frame: [1,<>temp1,Illegal]
50+
IsBuiltinClassProfile SourceSection: None
51+
CachedDispatchFirst SourceSection: None
4252
ReadVariableFromFrameNodeGen SourceSection: None
4353
WriteNameNodeGen SourceSection: None
4454
Identifier: c
4555
ReadLocalVariableNode SourceSection: None
4656
Frame: [2,<>temp2,Illegal]
57+
IsBuiltinClassProfile SourceSection: None
58+
CachedDispatchFirst SourceSection: None
4759
ReadVariableFromFrameNodeGen SourceSection: None

graalpython/com.oracle.graal.python.test/testData/goldenFiles/AssignmentTests/assignment06.tast

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,37 +38,57 @@ ModuleRootNode Name: <module 'assignment06'> SourceSection: [0,29]`def fn():↵
3838
Identifier: <>temp4
3939
WriteLocalFrameSlotNodeGen SourceSection: None
4040
Frame: [4,<>temp4,Illegal]
41+
IsBuiltinClassProfile SourceSection: None
42+
CachedDispatchFirst SourceSection: None
4143
ReadGlobalOrBuiltinNodeGen SourceSection: [28,29]`e`
4244
Identifier: e
4345
ReadAttributeFromObjectNotTypeNodeGen SourceSection: None
4446
WriteLocalVariableNodeGen SourceSection: None
4547
Identifier: a
4648
WriteLocalFrameSlotNodeGen SourceSection: None
4749
Frame: [0,a,Illegal]
50+
IsBuiltinClassProfile SourceSection: None
51+
CachedDispatchFirst SourceSection: None
4852
ReadLocalVariableNode SourceSection: None
4953
Frame: [4,<>temp4,Illegal]
54+
IsBuiltinClassProfile SourceSection: None
55+
CachedDispatchFirst SourceSection: None
5056
ReadVariableFromFrameNodeGen SourceSection: None
5157
WriteLocalVariableNodeGen SourceSection: None
5258
Identifier: b
5359
WriteLocalFrameSlotNodeGen SourceSection: None
5460
Frame: [1,b,Illegal]
61+
IsBuiltinClassProfile SourceSection: None
62+
CachedDispatchFirst SourceSection: None
5563
ReadLocalVariableNode SourceSection: None
5664
Frame: [4,<>temp4,Illegal]
65+
IsBuiltinClassProfile SourceSection: None
66+
CachedDispatchFirst SourceSection: None
5767
ReadVariableFromFrameNodeGen SourceSection: None
5868
WriteLocalVariableNodeGen SourceSection: None
5969
Identifier: c
6070
WriteLocalFrameSlotNodeGen SourceSection: None
6171
Frame: [2,c,Illegal]
72+
IsBuiltinClassProfile SourceSection: None
73+
CachedDispatchFirst SourceSection: None
6274
ReadLocalVariableNode SourceSection: None
6375
Frame: [4,<>temp4,Illegal]
76+
IsBuiltinClassProfile SourceSection: None
77+
CachedDispatchFirst SourceSection: None
6478
ReadVariableFromFrameNodeGen SourceSection: None
6579
WriteLocalVariableNodeGen SourceSection: None
6680
Identifier: d
6781
WriteLocalFrameSlotNodeGen SourceSection: None
6882
Frame: [3,d,Illegal]
83+
IsBuiltinClassProfile SourceSection: None
84+
CachedDispatchFirst SourceSection: None
6985
ReadLocalVariableNode SourceSection: None
7086
Frame: [4,<>temp4,Illegal]
87+
IsBuiltinClassProfile SourceSection: None
88+
CachedDispatchFirst SourceSection: None
7189
ReadVariableFromFrameNodeGen SourceSection: None
7290
Return Expresssion: ReadLocalVariableNode SourceSection: None
7391
Frame: [5,<return_val>,Illegal]
92+
IsBuiltinClassProfile SourceSection: None
93+
CachedDispatchFirst SourceSection: None
7494
ReadVariableFromFrameNodeGen SourceSection: None

0 commit comments

Comments
 (0)