Commit 164f351
Fix 3.12 super implementation
Summary:
Fixes a couple of issues which are causing `test_super` to fail on 3.12:
1) We don't actually respect the global super object at all! We are using the exported Cinder function to implement this on 3.10, but just calling the equivalent of `Ci_Super_Lookup` on 3.12. Because we need to have the `global_super != &PySuper_Type` logic on 3.12 this just brings it over and stops exporting it from Cinder 3.10.
3) We get `no_args_in_super_call` backwards as oparg is effectively the number of arguments.
2) Ports the fix in python/cpython#106977 to the implementation of super in both the JIT and Cinder 3.10.
Reviewed By: alexmalyshev
Differential Revision: D71638145
fbshipit-source-id: 0f5a189d8cea573034e578c921925ce2988c3bb11 parent af34be5 commit 164f351
2 files changed
Lines changed: 1 addition & 19 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
168 | 168 | | |
169 | 169 | | |
170 | 170 | | |
171 | | - | |
172 | | - | |
173 | | - | |
174 | | - | |
175 | | - | |
176 | 171 | | |
177 | 172 | | |
178 | 173 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1614 | 1614 | | |
1615 | 1615 | | |
1616 | 1616 | | |
1617 | | - | |
| 1617 | + | |
1618 | 1618 | | |
1619 | 1619 | | |
1620 | 1620 | | |
| |||
6469 | 6469 | | |
6470 | 6470 | | |
6471 | 6471 | | |
6472 | | - | |
6473 | | - | |
6474 | | - | |
6475 | | - | |
6476 | | - | |
6477 | | - | |
6478 | | - | |
6479 | | - | |
6480 | | - | |
6481 | | - | |
6482 | | - | |
6483 | | - | |
6484 | | - | |
6485 | 6472 | | |
6486 | 6473 | | |
6487 | 6474 | | |
| |||
0 commit comments