[Tarantool-patches] [PATCH luajit v5 0/7] introuduce platform profiler

Maxim Kokryashkin max.kokryashkin at gmail.com
Wed Apr 20 15:57:56 MSK 2022


Changes in v5:
- Disabled sysprof for OSX
- Fixed `memprof: add profile common section` patch non-atomicity

GitHub branch: https://github.com/tarantool/luajit/tree/fckxorg/gh-781-platform-and-lua-profiler-full-ci

Maxim Kokryashkin (4):
  memprof: move symtab to a separate module
  memprof: add profile common section
  sysprof: introduce Lua API
  tools: introduce parsers for sysprof

Mikhail Shishatskiy (3):
  vm: save topframe info into global_State
  core: separate the profiling timer from lj_profile
  core: introduce lua and platform profiler

 .gitignore                                    |   1 +
 CMakeLists.txt                                |   6 +
 cmake/SetTargetFlags.cmake                    |   2 +-
 src/CMakeLists.txt                            |   3 +
 src/Makefile.dep.original                     |  51 +-
 src/Makefile.original                         |   6 +-
 src/lib_misc.c                                | 264 ++++++++-
 src/lj_arch.h                                 |  11 +
 src/lj_errmsg.h                               |   2 +-
 src/lj_mapi.c                                 |  26 +
 src/lj_memprof.c                              |  82 +--
 src/lj_memprof.h                              |  49 +-
 src/lj_obj.h                                  |   1 +
 src/lj_profile.c                              | 176 +-----
 src/lj_profile_timer.c                        | 133 +++++
 src/lj_profile_timer.h                        |  83 +++
 src/lj_state.c                                |   7 +
 src/lj_symtab.c                               |  84 +++
 src/lj_symtab.h                               |  65 +++
 src/lj_sysprof.c                              | 528 ++++++++++++++++++
 src/lj_sysprof.h                              |  93 +++
 src/ljamalg.c                                 |   2 +
 src/lmisclib.h                                |  94 ++++
 src/vm_x64.dasc                               |  38 +-
 src/vm_x86.dasc                               |  41 +-
 test/tarantool-tests/CMakeLists.txt           |   1 +
 .../misclib-sysprof-capi.test.lua             |  54 ++
 .../misclib-sysprof-capi/CMakeLists.txt       |   1 +
 .../misclib-sysprof-capi/testsysprof.c        | 271 +++++++++
 .../misclib-sysprof-lapi.test.lua             | 122 ++++
 tools/CMakeLists.txt                          |  83 +++
 tools/luajit-parse-sysprof.in                 |   6 +
 tools/sysprof.lua                             | 119 ++++
 tools/sysprof/collapse.lua                    | 113 ++++
 tools/sysprof/parse.lua                       | 188 +++++++
 tools/utils/symtab.lua                        |   2 +-
 36 files changed, 2448 insertions(+), 360 deletions(-)
 create mode 100644 src/lj_profile_timer.c
 create mode 100644 src/lj_profile_timer.h
 create mode 100644 src/lj_symtab.c
 create mode 100644 src/lj_symtab.h
 create mode 100644 src/lj_sysprof.c
 create mode 100644 src/lj_sysprof.h
 create mode 100644 test/tarantool-tests/misclib-sysprof-capi.test.lua
 create mode 100644 test/tarantool-tests/misclib-sysprof-capi/CMakeLists.txt
 create mode 100644 test/tarantool-tests/misclib-sysprof-capi/testsysprof.c
 create mode 100644 test/tarantool-tests/misclib-sysprof-lapi.test.lua
 create mode 100644 tools/luajit-parse-sysprof.in
 create mode 100644 tools/sysprof.lua
 create mode 100755 tools/sysprof/collapse.lua
 create mode 100755 tools/sysprof/parse.lua

-- 
2.35.1



More information about the Tarantool-patches mailing list