◐ Shell
clean mode source ↗

Message 407188 - Python tracker

I requested the MSVC team to reconsider the inlining issues, including __forceinline.
https://developercommunity.visualstudio.com/t/1595341


The stuck at link due to __forceinline can be avoided by completing the _Py_DECREF optimization outside _PyEval_EvalFrameDefault:

    static inline void         // no __forceinline
    _Py_DECREF_impl(...) {
        ...
    }
    static __forceinline void
    _Py_DECREF(...) {          // no conditional branch in the function
        _Py_DECREF_impl(...);    
    }


In _PyEval_EvalFrameDefault, wrapping the callees like above seems better for performance than just specifying __forceinline under the current MSVC.