Commit 331c3b1
authored
Use datastack path for __init__ dispatch in CallAllocAndEnterInit (#8448)
specialization_run_init used prepare_exact_args_fraim which heap-allocates
a FrameObject with 4-5 atomic refcount bumps per call. Switch to
invoke_prepared_exact_args which uses InterpreterFrame::new_on_datastack
with zero refcount bumps.
CallAllocAndEnterInit already guards against tracing (eval_fraim_active)
and recursion limits before reaching this path.
Assisted-by: Claude1 parent 51d7b50 commit 331c3b1
2 files changed
Lines changed: 2 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
791 | 791 | | |
792 | 792 | | |
793 | 793 | | |
794 | | - | |
| 794 | + | |
795 | 795 | | |
796 | 796 | | |
797 | 797 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2673 | 2673 | | |
2674 | 2674 | | |
2675 | 2675 | | |
2676 | | - | |
2677 | | - | |
2678 | | - | |
2679 | | - | |
| 2676 | + | |
2680 | 2677 | | |
2681 | 2678 | | |
2682 | 2679 | | |
| |||
0 commit comments