Mercurial > vim
view src/proto/profiler.pro @ 33557:e9038f9de714 v9.0.2026
patch 9.0.2026: win32: python3 dll loading can be improved
Commit: https://github.com/vim/vim/commit/ae3cfa47d3dcee75061db598eb19879693b2393a
Author: Ken Takata <kentkt@csc.jp>
Date: Sat Oct 14 11:49:09 2023 +0200
patch 9.0.2026: win32: python3 dll loading can be improved
Problem: win32: python3 dll loading can be improved
Solution: Load DLL from registry path
Support loading python3.dll and/or python3xx.dll from the path written
in the registry. To support Stable ABI's forwarder DLL (python3.dll),
use the `LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR` flag for `LoadLibraryExW()`
because python3xx.dll is placed in the same directory of python3.dll.
If Stable ABI is used, search the latest version from the registry (both
from HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE). If Stable ABI is not
used, search only the matching version.
closes: #13315
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ken Takata <kentkt@csc.jp>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 15 Oct 2023 09:13:06 +0200 |
parents | 0082503ff2ff |
children |
line wrap: on
line source
/* profiler.c */ void profile_start(proftime_T *tm); void profile_end(proftime_T *tm); void profile_sub(proftime_T *tm, proftime_T *tm2); char *profile_msg(proftime_T *tm); float_T profile_float(proftime_T *tm); void profile_setlimit(long msec, proftime_T *tm); int profile_passed_limit(proftime_T *tm); void profile_zero(proftime_T *tm); void profile_divide(proftime_T *tm, int count, proftime_T *tm2); void profile_add(proftime_T *tm, proftime_T *tm2); void profile_self(proftime_T *self, proftime_T *total, proftime_T *children); void profile_sub_wait(proftime_T *tm, proftime_T *tma); int profile_cmp(const proftime_T *tm1, const proftime_T *tm2); void ex_profile(exarg_T *eap); char_u *get_profile_name(expand_T *xp, int idx); void set_context_in_profile_cmd(expand_T *xp, char_u *arg); void prof_inchar_enter(void); void prof_inchar_exit(void); int prof_def_func(void); void func_do_profile(ufunc_T *fp); void profile_may_start_func(profinfo_T *info, ufunc_T *fp, ufunc_T *caller); void profile_may_end_func(profinfo_T *info, ufunc_T *fp, ufunc_T *caller); void prof_child_enter(proftime_T *tm); void prof_child_exit(proftime_T *tm); void func_line_start(void *cookie, long lnum); void func_line_exec(void *cookie); void func_line_end(void *cookie); void script_do_profile(scriptitem_T *si); void script_prof_restore(proftime_T *tm); void profile_dump(void); void script_line_start(void); void script_line_exec(void); void script_line_end(void); /* vim: set ft=c : */