[Tarantool-patches] [PATCH] memprof: introduce a CLI flag to run dump parser

Максим Корякшин m.kokryashkin at tarantool.org
Sun Sep 5 16:59:40 MSK 2021


 
 
<snipped>
>
>>
>> Closes tarantool/tarantool#5688
>> ---
>> CMakeLists.txt | 8 +++++---
>> src/CMakeLists.txt | 5 +++++
>> src/lj_tools_conf.h.in | 6 ++++++
>> src/luajit.c | 36 ++++++++++++++++++++++++++++--------
>> tools/CMakeLists.txt | 2 ++
>> 5 files changed, 46 insertions(+), 11 deletions(-)
>> create mode 100644 src/lj_tools_conf.h.in
>>
>> diff --git a/CMakeLists.txt b/CMakeLists.txt
>> index 5348e043..619e9441 100644
>> --- a/CMakeLists.txt
>> +++ b/CMakeLists.txt
>> @@ -250,6 +250,11 @@ endif()
>> # related compiler and linker flags passed. This should be done
>> # the right way later.
>>
>> +# --- Tools --------------------------------------------------------------------
>> +
>> +add_subdirectory(tools)
>> +set(LUAJIT_TOOLS_DIR "${LUAJIT_TOOLS_DIR}")
>> +
>> # --- Main source tree ---------------------------------------------------------
>>
>> add_subdirectory(src)
>> @@ -258,9 +263,6 @@ add_subdirectory(src)
>>
>> add_subdirectory(etc)
>>
>> -# --- Tools --------------------------------------------------------------------
>> -
>> -add_subdirectory(tools)
>Why do we need this code movement?
We need this because there is a template file, which CMake generates during the
build process. 
>>
>> # --- Testing source tree ------------------------------------------------------
>>
>> diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
>> index 809aac68..d9debccf 100644
>> --- a/src/CMakeLists.txt
>> +++ b/src/CMakeLists.txt
>> @@ -142,6 +142,8 @@ make_source_list(SOURCES_CORE_NO_JIT_FFI
>> ${SOURCES_UTILS}
>> )
>>
>> +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lj_tools_conf.h.in ${CMAKE_CURRENT_SOURCE_DIR}/lj_tools_conf.h)
>> +
>> set(SOURCES_CORE ${SOURCES_CORE_NO_JIT_FFI})
>>
>> # Build JIT sources if JIT support is enabled.
>> @@ -248,6 +250,9 @@ add_custom_target(
>> jit/vmdef.lua
>> )
>>
>> +# --- Generate luajit tools config header -------------------------------------
>> +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lj_tools_conf.h.in ${CMAKE_CURRENT_SOURCE_DIR}/lj_tools_conf.h)
>> +
>> # --- Generate core and VM object files ---------------------------------------
>>
>> # Virtual machine.
>> diff --git a/src/lj_tools_conf.h.in b/src/lj_tools_conf.h.in
>> new file mode 100644
>> index 00000000..366c3ec4
>> --- /dev/null
>> +++ b/src/lj_tools_conf.h.in
>> @@ -0,0 +1,6 @@
>> +#ifndef LJ_TOOLS_CONF_H
>> +#define LJ_TOOLS_CONF_H
>> +
>> +#define PARSER_PATH "@LUAJIT_TOOLS_DIR@/memprof.lua"
>> +
>> +#endif
As I already said, this is a template file, which holds a path to
memprof.lua script after build completion. Thanks to this template,
the flag will properly work regardless of whether the luajit was
installed or not. 
>For what do we need this file?
<snipped>
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.tarantool.org/pipermail/tarantool-patches/attachments/20210905/80ae3899/attachment.htm>


More information about the Tarantool-patches mailing list