xref: /aosp_15_r20/external/bcc/examples/cpp/pyperf/Py36Offsets.cc (revision 387f9dfdfa2baef462e92476d413c7bc2470293e)
1*387f9dfdSAndroid Build Coastguard Worker /*
2*387f9dfdSAndroid Build Coastguard Worker  * Copyright (c) Facebook, Inc.
3*387f9dfdSAndroid Build Coastguard Worker  * Licensed under the Apache License, Version 2.0 (the "License")
4*387f9dfdSAndroid Build Coastguard Worker  */
5*387f9dfdSAndroid Build Coastguard Worker 
6*387f9dfdSAndroid Build Coastguard Worker #include "PyPerfType.h"
7*387f9dfdSAndroid Build Coastguard Worker 
8*387f9dfdSAndroid Build Coastguard Worker namespace ebpf {
9*387f9dfdSAndroid Build Coastguard Worker namespace pyperf {
10*387f9dfdSAndroid Build Coastguard Worker 
11*387f9dfdSAndroid Build Coastguard Worker extern const OffsetConfig kPy36OffsetConfig = {
12*387f9dfdSAndroid Build Coastguard Worker     .PyObject_type = 8,               // offsetof(PyObject, ob_type)
13*387f9dfdSAndroid Build Coastguard Worker     .PyTypeObject_name = 24,          // offsetof(PyTypeObject, tp_name)
14*387f9dfdSAndroid Build Coastguard Worker     .PyThreadState_frame = 24,        // offsetof(PyThreadState, frame)
15*387f9dfdSAndroid Build Coastguard Worker     .PyThreadState_thread = 152,      // offsetof(PyThreadState, thread_id)
16*387f9dfdSAndroid Build Coastguard Worker     .PyFrameObject_back = 24,         // offsetof(PyFrameObject, f_back)
17*387f9dfdSAndroid Build Coastguard Worker     .PyFrameObject_code = 32,         // offsetof(PyFrameObject, f_code)
18*387f9dfdSAndroid Build Coastguard Worker     .PyFrameObject_lineno = 124,      // offsetof(PyFrameObject, f_lineno)
19*387f9dfdSAndroid Build Coastguard Worker     .PyFrameObject_localsplus = 376,  // offsetof(PyFrameObject, f_localsplus)
20*387f9dfdSAndroid Build Coastguard Worker     .PyCodeObject_filename = 96,      // offsetof(PyCodeObject, co_filename)
21*387f9dfdSAndroid Build Coastguard Worker     .PyCodeObject_name = 104,         // offsetof(PyCodeObject, co_name)
22*387f9dfdSAndroid Build Coastguard Worker     .PyCodeObject_varnames = 64,      // offsetof(PyCodeObject, co_varnames)
23*387f9dfdSAndroid Build Coastguard Worker     .PyTupleObject_item = 24,         // offsetof(PyTupleObject, ob_item)
24*387f9dfdSAndroid Build Coastguard Worker     .String_data = 48,                // sizeof(PyASCIIObject)
25*387f9dfdSAndroid Build Coastguard Worker     .String_size = 16,                // offsetof(PyVarObject, ob_size)
26*387f9dfdSAndroid Build Coastguard Worker };
27*387f9dfdSAndroid Build Coastguard Worker 
28*387f9dfdSAndroid Build Coastguard Worker }
29*387f9dfdSAndroid Build Coastguard Worker }  // namespace ebpf
30