static void print_fold_user_stack_with_lua()

in profiler/stack_printer.cpp [166:194]


static void print_fold_user_stack_with_lua(const lua_stack_backtrace *lua_bt, const struct syms *syms, unsigned long *uip, unsigned int nr_uip)
{
    const struct sym *sym = NULL;
    int lua_bt_count = lua_bt->size() - 1;
    for (int j = nr_uip - 1; j >= 0; j--)
    {
        sym = syms__map_addr(syms, uip[j]);
        if (sym)
        {
            if (!env.lua_user_stacks_only)
            {
                printf(";%s", sym->name);
            }
        }
        else
        {
            if (lua_bt_count >= 0)
            {
                print_fold_lua_func(syms, &((*lua_bt)[lua_bt_count]));
                lua_bt_count--;
            }
        }
    }
    while (lua_bt_count >= 0)
    {
        print_fold_lua_func(syms, &((*lua_bt)[lua_bt_count]));
        lua_bt_count--;
    }
}