@@ -63,24 +63,26 @@ public static CallQuaternaryMethodNode create() {
63
63
64
64
public abstract Object execute (Frame frame , Object callable , Object arg1 , Object arg2 , Object arg3 , Object arg4 );
65
65
66
- @ Specialization (guards = {"func == cachedFunc" , "builtinNode != null" , "frame != null || unusedFrame" }, limit = "getCallSiteInlineCacheMaxDepth()" , assumptions = "singleContextAssumption()" )
66
+ @ Specialization (guards = {"isSingleContext()" , "func == cachedFunc" , "builtinNode != null" , "frame != null || unusedFrame" }, //
67
+ limit = "getCallSiteInlineCacheMaxDepth()" )
67
68
Object callSingle (VirtualFrame frame , @ SuppressWarnings ("unused" ) PBuiltinFunction func , Object arg1 , Object arg2 , Object arg3 , Object arg4 ,
68
69
@ SuppressWarnings ("unused" ) @ Cached ("func" ) PBuiltinFunction cachedFunc ,
69
70
@ Cached ("getQuaternary(frame, func)" ) PythonQuaternaryBuiltinNode builtinNode ,
70
71
@ SuppressWarnings ("unused" ) @ Cached ("frameIsUnused(builtinNode)" ) boolean unusedFrame ) {
71
72
return builtinNode .execute (frame , arg1 , arg2 , arg3 , arg4 );
72
73
}
73
74
74
- @ Specialization (guards = {"func.getCallTarget() == ct" , "builtinNode != null" , "frame != null || unusedFrame" }, limit = "getCallSiteInlineCacheMaxDepth()" )
75
+ @ Specialization (guards = {"func.getCallTarget() == ct" , "builtinNode != null" , "frame != null || unusedFrame" }, //
76
+ limit = "getCallSiteInlineCacheMaxDepth()" )
75
77
Object call (VirtualFrame frame , @ SuppressWarnings ("unused" ) PBuiltinFunction func , Object arg1 , Object arg2 , Object arg3 , Object arg4 ,
76
78
@ SuppressWarnings ("unused" ) @ Cached ("func.getCallTarget()" ) RootCallTarget ct ,
77
79
@ Cached ("getQuaternary(frame, func)" ) PythonQuaternaryBuiltinNode builtinNode ,
78
80
@ SuppressWarnings ("unused" ) @ Cached ("frameIsUnused(builtinNode)" ) boolean unusedFrame ) {
79
81
return builtinNode .execute (frame , arg1 , arg2 , arg3 , arg4 );
80
82
}
81
83
82
- @ Specialization (guards = {"func == cachedFunc" , "builtinNode != null" , "!takesSelfArg" ,
83
- "frame != null || unusedFrame" }, limit = "getCallSiteInlineCacheMaxDepth()" , assumptions = "singleContextAssumption()" )
84
+ @ Specialization (guards = {"isSingleContext()" , " func == cachedFunc" , "builtinNode != null" , "!takesSelfArg" ,
85
+ "frame != null || unusedFrame" }, limit = "getCallSiteInlineCacheMaxDepth()" )
84
86
Object callMethodSingle (VirtualFrame frame , @ SuppressWarnings ("unused" ) PBuiltinMethod func , Object arg1 , Object arg2 , Object arg3 , Object arg4 ,
85
87
@ SuppressWarnings ("unused" ) @ Cached (value = "func" , weak = true ) PBuiltinMethod cachedFunc ,
86
88
@ SuppressWarnings ("unused" ) @ Cached ("takesSelfArg(func)" ) boolean takesSelfArg ,
@@ -89,7 +91,8 @@ Object callMethodSingle(VirtualFrame frame, @SuppressWarnings("unused") PBuiltin
89
91
return builtinNode .execute (frame , arg1 , arg2 , arg3 , arg4 );
90
92
}
91
93
92
- @ Specialization (guards = {"builtinNode != null" , "getCallTarget(func, getCt) == ct" , "!takesSelfArg" , "frame != null || unusedFrame" }, limit = "getCallSiteInlineCacheMaxDepth()" )
94
+ @ Specialization (guards = {"builtinNode != null" , "getCallTarget(func, getCt) == ct" , "!takesSelfArg" ,
95
+ "frame != null || unusedFrame" }, limit = "getCallSiteInlineCacheMaxDepth()" )
93
96
Object callMethod (VirtualFrame frame , @ SuppressWarnings ("unused" ) PBuiltinMethod func , Object arg1 , Object arg2 , Object arg3 , Object arg4 ,
94
97
@ SuppressWarnings ("unused" ) @ Cached GetCallTargetNode getCt ,
95
98
@ SuppressWarnings ("unused" ) @ Cached ("getCallTarget(func, getCt)" ) RootCallTarget ct ,
0 commit comments