forked from facebookincubator/cinder
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Always pass function as first argument to JITed functions
Summary: This modifies our native signature to always pass the Python function in `rdi` as the first argument. This will open up the possibility of using the function definitions inside of the v-table so that we can go directly to the static entry point on method invokes and by pass the type checks. The goal here is to get rid of the `Ci_Py_TPFLAGS_IS_STATICALLY_DEFINED` flag. It also means we no longer have the restriction that we can't invoke functions which have closures. This probably doesn't matter much practically as the only case where that would happen today is when a method contains `super()`. Otherwise we have a nested function which we're not going to ever do an `INVOKE_FUNCTION` against (as there's no way to resolve the inner function by name). Reviewed By: carljm Differential Revision: D44230044 fbshipit-source-id: c3c64327180eedfb11cf13ab6361f9620dc649ac
- Loading branch information
1 parent
ca8f4a5
commit d4a8494
Showing
9 changed files
with
110 additions
and
64 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.