Python: new-call-graph: pragma[noinline] => pragma[nomagic]

As suggested by @tausbn. Obviously, this needs to be performance tested.
This commit is contained in:
Rasmus Wriedt Larsen
2023-01-16 20:45:44 +01:00
parent a3b7273844
commit 690a09d9b6

View File

@@ -841,7 +841,7 @@ private module MethodCalls {
* reference to the class `cls`, or to an instance of the class `cls`. The reference the
* attribute-read is made on is `self`.
*/
pragma[noinline]
pragma[nomagic]
private predicate directCall(
CallNode call, Function target, string functionName, Class cls, AttrRead attr, Node self
) {
@@ -850,7 +850,7 @@ private module MethodCalls {
}
/** Extracted to give good join order */
pragma[noinline]
pragma[nomagic]
private predicate directCall_join(
CallNode call, string functionName, Class cls, AttrRead attr, Node self
) {
@@ -872,7 +872,7 @@ private module MethodCalls {
* reference to an implicit `self`/`cls` argument. The reference the attribute-read is
* made on is `self`.
*/
pragma[noinline]
pragma[nomagic]
private predicate callWithinMethodImplicitSelfOrCls(
CallNode call, Function target, string functionName, Class classWithMethod, AttrRead attr,
Node self
@@ -882,7 +882,7 @@ private module MethodCalls {
}
/** Extracted to give good join order */
pragma[noinline]
pragma[nomagic]
private predicate callWithinMethodImplicitSelfOrCls_join(
CallNode call, string functionName, Class classWithMethod, AttrRead attr, Node self
) {
@@ -921,7 +921,7 @@ private module MethodCalls {
* The method call is found by making an attribute read `attr` with the name
* `functionName` on the return value from the `super` call.
*/
pragma[noinline]
pragma[nomagic]
predicate fromSuper(
CallNode call, Function target, string functionName, Class classUsedInSuper, AttrRead attr,
Node self
@@ -931,7 +931,7 @@ private module MethodCalls {
}
/** Extracted to give good join order */
pragma[noinline]
pragma[nomagic]
private predicate fromSuper_join(
CallNode call, string functionName, Class classUsedInSuper, AttrRead attr, Node self
) {