SystemRuntimeMacOSX::ItemInfo SystemRuntimeMacOSX::ExtractItemInfoFromBuffer (lldb_private::DataExtractor &extractor) { ItemInfo item; offset_t offset = 0; item.item_that_enqueued_this = extractor.GetPointer (&offset); item.function_or_block = extractor.GetPointer (&offset); item.enqueuing_thread_id = extractor.GetU64 (&offset); item.enqueuing_queue_serialnum = extractor.GetU64 (&offset); item.target_queue_serialnum = extractor.GetU64 (&offset); item.enqueuing_callstack_frame_count = extractor.GetU32 (&offset); item.stop_id = extractor.GetU32 (&offset); offset = m_lib_backtrace_recording_info.item_info_data_offset; for (uint32_t i = 0; i < item.enqueuing_callstack_frame_count; i++) { item.enqueuing_callstack.push_back (extractor.GetPointer (&offset)); } item.enqueuing_thread_label = extractor.GetCStr (&offset); item.enqueuing_queue_label = extractor.GetCStr (&offset); item.target_queue_label = extractor.GetCStr (&offset); return item; }