llvm/lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetThreadItemInfoHandler.cpp

//===-- AppleGetThreadItemInfoHandler.cpp ---------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#include "AppleGetThreadItemInfoHandler.h"

#include "Plugins/TypeSystem/Clang/TypeSystemClang.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/Value.h"
#include "lldb/Expression/DiagnosticManager.h"
#include "lldb/Expression/Expression.h"
#include "lldb/Expression/FunctionCaller.h"
#include "lldb/Expression/UtilityFunction.h"
#include "lldb/Symbol/Symbol.h"
#include "lldb/Target/ExecutionContext.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/StackFrame.h"
#include "lldb/Target/Target.h"
#include "lldb/Target/Thread.h"
#include "lldb/Utility/ConstString.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/StreamString.h"
#include "lldb/lldb-private.h"

usingnamespacelldb;
usingnamespacelldb_private;

const char
    *AppleGetThreadItemInfoHandler::g_get_thread_item_info_function_name =;
const char
    *AppleGetThreadItemInfoHandler::g_get_thread_item_info_function_code =;

AppleGetThreadItemInfoHandler::AppleGetThreadItemInfoHandler(Process *process)
    :{}

AppleGetThreadItemInfoHandler::~AppleGetThreadItemInfoHandler() = default;

void AppleGetThreadItemInfoHandler::Detach() {}

// Compile our __lldb_backtrace_recording_get_thread_item_info() function (from
// the source above in g_get_thread_item_info_function_code) if we don't find
// that function in the inferior already with USE_BUILTIN_FUNCTION defined.
// (e.g. this would be the case for testing.)
//
// Insert the __lldb_backtrace_recording_get_thread_item_info into the inferior
// process if needed.
//
// Write the get_thread_item_info_arglist into the inferior's memory space to
// prepare for the call.
//
// Returns the address of the arguments written down in the inferior process,
// which can be used to make the function call.

lldb::addr_t AppleGetThreadItemInfoHandler::SetupGetThreadItemInfoFunction(
    Thread &thread, ValueList &get_thread_item_info_arglist) {}

AppleGetThreadItemInfoHandler::GetThreadItemInfoReturnInfo
AppleGetThreadItemInfoHandler::GetThreadItemInfo(Thread &thread,
                                                 lldb::tid_t thread_id,
                                                 addr_t page_to_free,
                                                 uint64_t page_to_free_size,
                                                 Status &error) {}