-
Notifications
You must be signed in to change notification settings - Fork 56
Expand file tree
/
Copy pathvmp_stack.h
More file actions
41 lines (35 loc) · 1.2 KB
/
vmp_stack.h
File metadata and controls
41 lines (35 loc) · 1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#pragma once
#include "vmprof.h"
#ifndef RPYTHON_VMPROF
#if PY_VERSION_HEX >= 0x030b00f0 /* >= 3.11 */
#define Py_BUILD_CORE
#if PY_VERSION_HEX >= 0x030E0000 /* >= 3.14 */
#include "internal/pycore_interpframe.h"
#else
#include "internal/pycore_frame.h"
#endif
#undef Py_BUILD_CORE
#include "populate_frames.h"
#endif
#endif
#if PY_VERSION_HEX >= 0x030B0000 && !defined(RPYTHON_VMPROF) /* >= 3.11 */
int vmp_walk_and_record_stack(_PyInterpreterFrame * frame, void **data,
int max_depth, int signal, intptr_t pc);
#else
int vmp_walk_and_record_stack(PY_STACK_FRAME_T * frame, void **data,
int max_depth, int signal, intptr_t pc);
#endif
int vmp_native_enabled(void);
int vmp_native_enable(void);
int vmp_ignore_ip(intptr_t ip);
int vmp_binary_search_ranges(intptr_t ip, intptr_t * l, int count);
int vmp_native_symbols_read(void);
void vmp_profile_lines(int);
int vmp_profiles_python_lines(void);
int vmp_ignore_symbol_count(void);
intptr_t * vmp_ignore_symbols(void);
void vmp_set_ignore_symbols(intptr_t * symbols, int count);
void vmp_native_disable(void);
#ifdef __unix__
int vmp_read_vmaps(const char * fname);
#endif