Skip to content

Commit d26992f

Browse files
committed
Additionally mention extract method and restrict
1 parent e8e342a commit d26992f

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

InternalDocs/interpreter.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -533,10 +533,12 @@ There are three different types of interpreters to choose from based on compiler
533533
In addition, compilers must do [escape analysis](https://gcc.gnu.org/onlinedocs/gcc/Common-Attributes.html#index-musttail)
534534
of the lifetimes of automatic variables, function parameters, and temporaries to ensure proper tail-calls. They
535535
emit a compile error in case of a violation or detection failure. The ability to detect this varies depending on the compiler and
536-
also on the optimization level. [Introducing additional scopes](https://github.com/python/cpython/blob/3908593039bde9d4b591ab09919003ee57418d64/Python/bytecodes.c#L2526)
536+
also on the optimization level. [Introducing additional scopes](https://github.com/python/cpython/blob/3908593039bde9d4b591ab09919003ee57418d64/Python/bytecodes.c#L2526),
537+
[extracting problematic code paths into a separate function]
538+
(https://github.com/python/cpython/pull/143068/files#diff-729a985b0cb8b431cb291f1edb561bbbfea22e3f8c262451cd83328a0936a342R3724)
537539
or [returning a pointer instead of taking it as an output parameter](https://github.com/python/cpython/blob/3908593039bde9d4b591ab09919003ee57418d64/Include/internal/pycore_ceval.h#L489-L492)
538-
is particularly helpful to the MSVC compiler in this regard.
539-
540+
is particularly helpful to the MSVC compiler in this regard. Using `restrict` is another (currently unused) remedy.
541+
540542
Additional resources
541543
--------------------
542544

0 commit comments

Comments
 (0)