[Lldb-commits] [lldb] ff29fdf - [lldb] Format AppleObjCRuntimeV2 (NFC)
Jonas Devlieghere via lldb-commits
lldb-commits at lists.llvm.org
Wed Mar 24 20:08:14 PDT 2021
Author: Jonas Devlieghere
Date: 2021-03-24T20:08:06-07:00
New Revision: ff29fdfe4e1390a99f118588b283940ef205f0a8
URL: https://github.com/llvm/llvm-project/commit/ff29fdfe4e1390a99f118588b283940ef205f0a8
DIFF: https://github.com/llvm/llvm-project/commit/ff29fdfe4e1390a99f118588b283940ef205f0a8.diff
LOG: [lldb] Format AppleObjCRuntimeV2 (NFC)
Added:
Modified:
lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h
Removed:
################################################################################
diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
index 30ee257f2b29..2d48c798912d 100644
--- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
+++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
@@ -75,8 +75,7 @@ char AppleObjCRuntimeV2::ID = 0;
static const char *g_get_dynamic_class_info_name =
"__lldb_apple_objc_v2_get_dynamic_class_info";
-// Testing using the new C++11 raw string literals. If this breaks GCC then we
-// will need to revert to the code above...
+
static const char *g_get_dynamic_class_info_body = R"(
extern "C"
@@ -176,8 +175,7 @@ extern "C"
static const char *g_get_shared_cache_class_info_name =
"__lldb_apple_objc_v2_get_shared_cache_class_info";
-// Testing using the new C++11 raw string literals. If this breaks GCC then we
-// will need to revert to the code above...
+
static const char *g_get_shared_cache_class_info_body = R"(
extern "C"
@@ -297,7 +295,7 @@ __lldb_apple_objc_v2_get_shared_cache_class_info (void *objc_opt_ro_ptr,
DEBUG_PRINTF("clsOffset == invalidEntryOffset\n");
continue; // invalid offset
}
-
+
if (class_infos && idx < max_class_infos)
{
class_infos[idx].isa = (Class)((uint8_t *)clsopt + clsOffset);
@@ -327,7 +325,7 @@ __lldb_apple_objc_v2_get_shared_cache_class_info (void *objc_opt_ro_ptr,
}
++idx;
}
-
+
const uint32_t *duplicate_count_ptr = (uint32_t *)&classOffsets[clsopt->capacity];
const uint32_t duplicate_count = *duplicate_count_ptr;
const objc_classheader_t *duplicateClassOffsets = (const objc_classheader_t *)(&duplicate_count_ptr[1]);
@@ -340,7 +338,7 @@ __lldb_apple_objc_v2_get_shared_cache_class_info (void *objc_opt_ro_ptr,
continue; // duplicate
else if (clsOffset == invalidEntryOffset)
continue; // invalid offset
-
+
if (class_infos && idx < max_class_infos)
{
class_infos[idx].isa = (Class)((uint8_t *)clsopt + clsOffset);
@@ -359,7 +357,7 @@ __lldb_apple_objc_v2_get_shared_cache_class_info (void *objc_opt_ro_ptr,
{
h = 0;
break;
- }
+ }
h = ((h << 5) + h) + c;
}
class_infos[idx].hash = h;
@@ -401,8 +399,7 @@ ExtractRuntimeGlobalSymbol(Process *process, ConstString name,
if (read_value)
return process->ReadUnsignedIntegerFromMemory(
symbol_load_addr, byte_size, default_value, error);
- else
- return symbol_load_addr;
+ return symbol_load_addr;
} else {
error.SetErrorString("symbol address invalid");
return default_value;
@@ -504,15 +501,21 @@ LanguageRuntime *AppleObjCRuntimeV2::CreateInstance(Process *process,
if (AppleObjCRuntime::GetObjCVersion(process, objc_module_sp) ==
ObjCRuntimeVersions::eAppleObjC_V2)
return new AppleObjCRuntimeV2(process, objc_module_sp);
- else
- return nullptr;
+ return nullptr;
} else
return nullptr;
}
static constexpr OptionDefinition g_objc_classtable_dump_options[] = {
- {LLDB_OPT_SET_ALL, false, "verbose", 'v', OptionParser::eNoArgument,
- nullptr, {}, 0, eArgTypeNone,
+ {LLDB_OPT_SET_ALL,
+ false,
+ "verbose",
+ 'v',
+ OptionParser::eNoArgument,
+ nullptr,
+ {},
+ 0,
+ eArgTypeNone,
"Print ivar and method information in detail"}};
class CommandObjectObjC_ClassTable_Dump : public CommandObjectParsed {
@@ -554,12 +557,13 @@ class CommandObjectObjC_ClassTable_Dump : public CommandObjectParsed {
};
CommandObjectObjC_ClassTable_Dump(CommandInterpreter &interpreter)
- : CommandObjectParsed(
- interpreter, "dump", "Dump information on Objective-C classes "
- "known to the current process.",
- "language objc class-table dump",
- eCommandRequiresProcess | eCommandProcessMustBeLaunched |
- eCommandProcessMustBePaused),
+ : CommandObjectParsed(interpreter, "dump",
+ "Dump information on Objective-C classes "
+ "known to the current process.",
+ "language objc class-table dump",
+ eCommandRequiresProcess |
+ eCommandProcessMustBeLaunched |
+ eCommandProcessMustBePaused),
m_options() {
CommandArgumentEntry arg;
CommandArgumentData index_arg;
@@ -661,11 +665,10 @@ class CommandObjectObjC_ClassTable_Dump : public CommandObjectParsed {
}
result.SetStatus(lldb::eReturnStatusSuccessFinishResult);
return true;
- } else {
- result.AppendError("current process has no Objective-C runtime loaded");
- result.SetStatus(lldb::eReturnStatusFailed);
- return false;
}
+ result.AppendError("current process has no Objective-C runtime loaded");
+ result.SetStatus(lldb::eReturnStatusFailed);
+ return false;
}
CommandOptions m_options;
@@ -747,11 +750,10 @@ class CommandObjectMultiwordObjC_TaggedPointer_Info
}
result.SetStatus(lldb::eReturnStatusSuccessFinishResult);
return true;
- } else {
- result.AppendError("current process has no Objective-C runtime loaded");
- result.SetStatus(lldb::eReturnStatusFailed);
- return false;
}
+ result.AppendError("current process has no Objective-C runtime loaded");
+ result.SetStatus(lldb::eReturnStatusFailed);
+ return false;
}
};
@@ -1220,11 +1222,9 @@ AppleObjCRuntimeV2::GetClassDescriptor(ValueObject &valobj) {
objc_class_sp = GetClassDescriptorFromISA(isa);
if (isa && !objc_class_sp) {
- Log *log(GetLogIfAllCategoriesSet(LIBLLDB_LOG_PROCESS |
- LIBLLDB_LOG_TYPES));
+ Log *log(GetLogIfAllCategoriesSet(LIBLLDB_LOG_PROCESS | LIBLLDB_LOG_TYPES));
LLDB_LOGF(log,
- "0x%" PRIx64
- ": AppleObjCRuntimeV2::GetClassDescriptor() ISA was "
+ "0x%" PRIx64 ": AppleObjCRuntimeV2::GetClassDescriptor() ISA was "
"not in class descriptor cache 0x%" PRIx64,
isa_pointer, isa);
}
@@ -1235,28 +1235,29 @@ lldb::addr_t AppleObjCRuntimeV2::GetTaggedPointerObfuscator() {
if (m_tagged_pointer_obfuscator != LLDB_INVALID_ADDRESS)
return m_tagged_pointer_obfuscator;
-
Process *process = GetProcess();
ModuleSP objc_module_sp(GetObjCModule());
if (!objc_module_sp)
return LLDB_INVALID_ADDRESS;
- static ConstString g_gdb_objc_obfuscator("objc_debug_taggedpointer_obfuscator");
+ static ConstString g_gdb_objc_obfuscator(
+ "objc_debug_taggedpointer_obfuscator");
const Symbol *symbol = objc_module_sp->FindFirstSymbolWithNameAndType(
- g_gdb_objc_obfuscator, lldb::eSymbolTypeAny);
+ g_gdb_objc_obfuscator, lldb::eSymbolTypeAny);
if (symbol) {
lldb::addr_t g_gdb_obj_obfuscator_ptr =
- symbol->GetLoadAddress(&process->GetTarget());
+ symbol->GetLoadAddress(&process->GetTarget());
if (g_gdb_obj_obfuscator_ptr != LLDB_INVALID_ADDRESS) {
Status error;
- m_tagged_pointer_obfuscator = process->ReadPointerFromMemory(
- g_gdb_obj_obfuscator_ptr, error);
+ m_tagged_pointer_obfuscator =
+ process->ReadPointerFromMemory(g_gdb_obj_obfuscator_ptr, error);
}
}
- // If we don't have a correct value at this point, there must be no obfuscation.
+ // If we don't have a correct value at this point, there must be no
+ // obfuscation.
if (m_tagged_pointer_obfuscator == LLDB_INVALID_ADDRESS)
m_tagged_pointer_obfuscator = 0;
@@ -1402,12 +1403,12 @@ AppleObjCRuntimeV2::UpdateISAToDescriptorMapDynamic(
arguments.GetValueAtIndex(0)->GetScalar() = hash_table.GetTableLoadAddress();
arguments.GetValueAtIndex(1)->GetScalar() = class_infos_addr;
arguments.GetValueAtIndex(2)->GetScalar() = class_infos_byte_size;
-
+
// Only dump the runtime classes from the expression evaluation if the log is
// verbose:
Log *type_log = GetLogIfAllCategoriesSet(LIBLLDB_LOG_TYPES);
bool dump_log = type_log && type_log->GetVerbose();
-
+
arguments.GetValueAtIndex(3)->GetScalar() = dump_log ? 1 : 0;
bool success = false;
@@ -1513,15 +1514,16 @@ uint32_t AppleObjCRuntimeV2::ParseClassInfoArray(const DataExtractor &data,
ClassDescriptorSP descriptor_sp(
new ClassDescriptorV2(*this, isa, nullptr));
- // The code in g_get_shared_cache_class_info_body sets the value of the hash
- // to 0 to signal a demangled symbol. We use class_getName() in that code to
- // find the class name, but this returns a demangled name for Swift symbols.
- // For those symbols, recompute the hash here by reading their name from the
- // runtime.
+ // The code in g_get_shared_cache_class_info_body sets the value of the
+ // hash to 0 to signal a demangled symbol. We use class_getName() in that
+ // code to find the class name, but this returns a demangled name for
+ // Swift symbols. For those symbols, recompute the hash here by reading
+ // their name from the runtime.
if (name_hash)
AddClass(isa, descriptor_sp, name_hash);
else
- AddClass(isa, descriptor_sp, descriptor_sp->GetClassName().AsCString(nullptr));
+ AddClass(isa, descriptor_sp,
+ descriptor_sp->GetClassName().AsCString(nullptr));
num_parsed++;
if (should_log)
LLDB_LOGF(log,
@@ -1591,17 +1593,17 @@ AppleObjCRuntimeV2::UpdateISAToDescriptorMapSharedCache() {
// use that in our jitted expression. Else fall back to the old
// class_getName.
static ConstString g_class_getName_symbol_name("class_getName");
- static ConstString g_class_getNameRaw_symbol_name("objc_debug_class_getNameRaw");
+ static ConstString g_class_getNameRaw_symbol_name(
+ "objc_debug_class_getNameRaw");
ConstString class_name_getter_function_name = g_class_getName_symbol_name;
ObjCLanguageRuntime *objc_runtime = ObjCLanguageRuntime::Get(*process);
if (objc_runtime) {
for (lldb::ModuleSP mod_sp : process->GetTarget().GetImages().Modules()) {
if (objc_runtime->IsModuleObjCLibrary(mod_sp)) {
- const Symbol *symbol =
- mod_sp->FindFirstSymbolWithNameAndType(g_class_getNameRaw_symbol_name,
- lldb::eSymbolTypeCode);
- if (symbol &&
+ const Symbol *symbol = mod_sp->FindFirstSymbolWithNameAndType(
+ g_class_getNameRaw_symbol_name, lldb::eSymbolTypeCode);
+ if (symbol &&
(symbol->ValueIsAddress() || symbol->GetAddressRef().IsValid())) {
class_name_getter_function_name = g_class_getNameRaw_symbol_name;
}
@@ -1613,10 +1615,10 @@ AppleObjCRuntimeV2::UpdateISAToDescriptorMapSharedCache() {
// concatenate the two parts of our expression text. The format string
// has two %s's, so provide the name twice.
std::string shared_class_expression;
- llvm::raw_string_ostream(shared_class_expression) << llvm::format(
- g_shared_cache_class_name_funcptr,
- class_name_getter_function_name.AsCString(),
- class_name_getter_function_name.AsCString());
+ llvm::raw_string_ostream(shared_class_expression)
+ << llvm::format(g_shared_cache_class_name_funcptr,
+ class_name_getter_function_name.AsCString(),
+ class_name_getter_function_name.AsCString());
shared_class_expression += g_get_shared_cache_class_info_body;
@@ -1684,7 +1686,7 @@ AppleObjCRuntimeV2::UpdateISAToDescriptorMapSharedCache() {
// verbose:
Log *type_log = GetLogIfAllCategoriesSet(LIBLLDB_LOG_TYPES);
bool dump_log = type_log && type_log->GetVerbose();
-
+
arguments.GetValueAtIndex(3)->GetScalar() = dump_log ? 1 : 0;
bool success = false;
@@ -1981,9 +1983,10 @@ lldb::addr_t AppleObjCRuntimeV2::LookupRuntimeSymbol(ConstString name) {
const ConstString ivar_name_cs(class_and_ivar.second);
const char *ivar_name_cstr = ivar_name_cs.AsCString();
- auto ivar_func = [&ret, ivar_name_cstr](
- const char *name, const char *type, lldb::addr_t offset_addr,
- uint64_t size) -> lldb::addr_t {
+ auto ivar_func = [&ret,
+ ivar_name_cstr](const char *name, const char *type,
+ lldb::addr_t offset_addr,
+ uint64_t size) -> lldb::addr_t {
if (!strcmp(name, ivar_name_cstr)) {
ret = offset_addr;
return true;
@@ -2401,9 +2404,9 @@ AppleObjCRuntimeV2::TaggedPointerVendorExtended::GetClassDescriptor(
m_ext_cache[slot] = actual_class_descriptor_sp;
}
- data_payload =
- (((uint64_t)unobfuscated << m_objc_debug_taggedpointer_ext_payload_lshift) >>
- m_objc_debug_taggedpointer_ext_payload_rshift);
+ data_payload = (((uint64_t)unobfuscated
+ << m_objc_debug_taggedpointer_ext_payload_lshift) >>
+ m_objc_debug_taggedpointer_ext_payload_rshift);
return ClassDescriptorSP(
new ClassDescriptorV2Tagged(actual_class_descriptor_sp, data_payload));
@@ -2604,13 +2607,14 @@ void AppleObjCRuntimeV2::GetValuesForGlobalCFBooleans(lldb::addr_t &cf_true,
#pragma mark Frame recognizers
class ObjCExceptionRecognizedStackFrame : public RecognizedStackFrame {
- public:
+public:
ObjCExceptionRecognizedStackFrame(StackFrameSP frame_sp) {
ThreadSP thread_sp = frame_sp->GetThread();
ProcessSP process_sp = thread_sp->GetProcess();
const lldb::ABISP &abi = process_sp->GetABI();
- if (!abi) return;
+ if (!abi)
+ return;
TypeSystemClang *clang_ast_context =
ScratchTypeSystemClang::GetForTarget(process_sp->GetTarget());
@@ -2624,7 +2628,8 @@ class ObjCExceptionRecognizedStackFrame : public RecognizedStackFrame {
input_value.SetCompilerType(voidstar);
args.PushValue(input_value);
- if (!abi->GetArgumentValues(*thread_sp, args)) return;
+ if (!abi->GetArgumentValues(*thread_sp, args))
+ return;
addr_t exception_addr = args.GetValueAtIndex(0)->GetScalar().ULongLong();
diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h
index c6fb6ea26b98..3121431adca1 100644
--- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h
+++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h
@@ -26,7 +26,6 @@ class AppleObjCRuntimeV2 : public AppleObjCRuntime {
public:
~AppleObjCRuntimeV2() override = default;
- // Static Functions
static void Initialize();
static void Terminate();
@@ -46,7 +45,6 @@ class AppleObjCRuntimeV2 : public AppleObjCRuntime {
return runtime->isA(&ID);
}
- // These are generic runtime functions:
bool GetDynamicTypeAndAddress(ValueObject &in_value,
lldb::DynamicValueType use_dynamic,
TypeAndOrName &class_type_or_name,
@@ -56,7 +54,6 @@ class AppleObjCRuntimeV2 : public AppleObjCRuntime {
llvm::Expected<std::unique_ptr<UtilityFunction>>
CreateObjectChecker(std::string name, ExecutionContext &exe_ctx) override;
- // PluginInterface protocol
ConstString GetPluginName() override;
uint32_t GetPluginVersion() override;
@@ -105,8 +102,8 @@ class AppleObjCRuntimeV2 : public AppleObjCRuntime {
protected:
lldb::BreakpointResolverSP
- CreateExceptionResolver(const lldb::BreakpointSP &bkpt,
- bool catch_bp, bool throw_bp) override;
+ CreateExceptionResolver(const lldb::BreakpointSP &bkpt, bool catch_bp,
+ bool throw_bp) override;
private:
class HashTableSignature {
More information about the lldb-commits
mailing list