@@ -29,8 +30,12 @@ Progress::Progress(std::string title, std::string details,
if (debugger)
m_debugger_id = debugger->GetID();
+
+ m_progress_data = {m_title, m_details, m_id,
+ m_completed, m_total, m_debugger_id};
https://github.com/chelcassanova updated
https://github.com/llvm/llvm-project/pull/83069
>From 2cef4a29f0105847fa11b7f6a6ee063184fb838a Mon Sep 17 00:00:00 2001
From: Chelsea Cassanova
Date: Tue, 20 Feb 2024 13:56:53 -0800
Subject: [PATCH] [lldb][progress] Hook up new broadcast bit and
https://github.com/chelcassanova updated
https://github.com/llvm/llvm-project/pull/83069
>From d2854ecb51d5996cd5cabf4e1c1ac9dc6e01240b Mon Sep 17 00:00:00 2001
From: Chelsea Cassanova
Date: Tue, 20 Feb 2024 13:56:53 -0800
Subject: [PATCH] [lldb][progress] Hook up new broadcast bit and
@@ -1433,11 +1434,30 @@ void Debugger::SetDestroyCallback(
static void PrivateReportProgress(Debugger , uint64_t progress_id,
std::string title, std::string details,
uint64_t completed, uint64_t total,
-
https://github.com/chelcassanova edited
https://github.com/llvm/llvm-project/pull/83069
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -1433,11 +1434,30 @@ void Debugger::SetDestroyCallback(
static void PrivateReportProgress(Debugger , uint64_t progress_id,
std::string title, std::string details,
uint64_t completed, uint64_t total,
-
@@ -1433,11 +1434,30 @@ void Debugger::SetDestroyCallback(
static void PrivateReportProgress(Debugger , uint64_t progress_id,
std::string title, std::string details,
uint64_t completed, uint64_t total,
-
@@ -593,6 +593,7 @@ class Debugger : public
std::enable_shared_from_this,
friend class CommandInterpreter;
friend class REPL;
friend class Progress;
+ friend class ProgressManager;
chelcassanova wrote:
`Debugger::ReportProgress` is protected, so to my
@@ -1433,11 +1434,30 @@ void Debugger::SetDestroyCallback(
static void PrivateReportProgress(Debugger , uint64_t progress_id,
std::string title, std::string details,
uint64_t completed, uint64_t total,
-
@@ -97,12 +98,32 @@ class Progress {
/// Used to indicate a non-deterministic progress report
static constexpr uint64_t kNonDeterministicTotal = UINT64_MAX;
+ /// Use a struct to send data from a Progress object to
+ /// ProgressManager::ReportProgress. In addition to
https://github.com/chelcassanova created
https://github.com/llvm/llvm-project/pull/83069
This commit adds the functionality to broadcast events using the
`Debugger::eBroadcastProgressCategory`
bit (https://github.com/llvm/llvm-project/pull/81169) by keeping track of these
reports with the
https://github.com/chelcassanova closed
https://github.com/llvm/llvm-project/pull/81319
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/chelcassanova updated
https://github.com/llvm/llvm-project/pull/81319
>From f5ef07849c61ee9387f92376d5e1bd13bedc43e5 Mon Sep 17 00:00:00 2001
From: Chelsea Cassanova
Date: Thu, 8 Feb 2024 15:31:33 -0800
Subject: [PATCH 1/4] [lldb][progress] Add progress manager class
Per
@@ -66,3 +67,41 @@ void Progress::ReportProgress() {
m_debugger_id);
}
}
+
+ProgressManager ::InstanceImpl() {
+ static std::once_flag g_once_flag;
+ static ProgressManager *g_progress_manager = nullptr;
+ std::call_once(g_once_flag, []() {
+
@@ -119,6 +120,32 @@ class Progress {
bool m_complete = false;
};
+/// A class used to group progress reports by category. This is done by using a
+/// map that maintains a refcount of each category of progress reports that
have
+/// come in. Keeping track of progress
https://github.com/chelcassanova updated
https://github.com/llvm/llvm-project/pull/81319
>From f5ef07849c61ee9387f92376d5e1bd13bedc43e5 Mon Sep 17 00:00:00 2001
From: Chelsea Cassanova
Date: Thu, 8 Feb 2024 15:31:33 -0800
Subject: [PATCH 1/3] [lldb][progress] Add progress manager class
Per
@@ -66,3 +67,41 @@ void Progress::ReportProgress() {
m_debugger_id);
}
}
+
+ProgressManager ::InstanceImpl() {
+ static std::once_flag g_once_flag;
+ static ProgressManager *g_progress_manager = nullptr;
+ std::call_once(g_once_flag, []() {
+
@@ -66,3 +67,41 @@ void Progress::ReportProgress() {
m_debugger_id);
}
}
+
+ProgressManager ::InstanceImpl() {
+ static std::once_flag g_once_flag;
+ static ProgressManager *g_progress_manager = nullptr;
+ std::call_once(g_once_flag, []() {
+
https://github.com/chelcassanova updated
https://github.com/llvm/llvm-project/pull/81319
>From f5ef07849c61ee9387f92376d5e1bd13bedc43e5 Mon Sep 17 00:00:00 2001
From: Chelsea Cassanova
Date: Thu, 8 Feb 2024 15:31:33 -0800
Subject: [PATCH 1/2] [lldb][progress] Add progress manager class
Per
@@ -119,6 +120,32 @@ class Progress {
bool m_complete = false;
};
+/// A class used to group progress reports by category. This is done by using a
+/// map that maintains a refcount of each category of progress reports that
have
+/// come in. Keeping track of progress
https://github.com/chelcassanova updated
https://github.com/llvm/llvm-project/pull/81319
>From f5ef07849c61ee9387f92376d5e1bd13bedc43e5 Mon Sep 17 00:00:00 2001
From: Chelsea Cassanova
Date: Thu, 8 Feb 2024 15:31:33 -0800
Subject: [PATCH 1/2] [lldb][progress] Add progress manager class
Per
@@ -66,3 +66,47 @@ void Progress::ReportProgress() {
m_debugger_id);
}
}
+
+void ProgressManager::Initialize() {
+ lldbassert(!InstanceImpl() && "A progress report manager already exists.");
+ InstanceImpl().emplace();
+}
+
+void
https://github.com/chelcassanova updated
https://github.com/llvm/llvm-project/pull/81319
>From f5ef07849c61ee9387f92376d5e1bd13bedc43e5 Mon Sep 17 00:00:00 2001
From: Chelsea Cassanova
Date: Thu, 8 Feb 2024 15:31:33 -0800
Subject: [PATCH] [lldb][progress] Add progress manager class
Per
@@ -66,3 +66,47 @@ void Progress::ReportProgress() {
m_debugger_id);
}
}
+
+void ProgressManager::Initialize() {
+ lldbassert(!InstanceImpl() && "A progress report manager already exists.");
+ InstanceImpl().emplace();
+}
+
+void
@@ -66,3 +66,47 @@ void Progress::ReportProgress() {
m_debugger_id);
}
}
+
+void ProgressManager::Initialize() {
+ lldbassert(!InstanceImpl() && "A progress report manager already exists.");
+ InstanceImpl().emplace();
+}
+
+void
@@ -119,6 +120,32 @@ class Progress {
bool m_complete = false;
};
+/// A class used to group progress reports by category. This is done by using a
+/// map that maintains a refcount of each category of progress reports that
have
+/// come in. Keeping track of progress
https://github.com/chelcassanova created
https://github.com/llvm/llvm-project/pull/81319
Per discussions from https://github.com/llvm/llvm-project/pull/81026, it was
decided that having a class that manages a map of progress reports would be
beneficial in order to categorize them. This class
https://github.com/chelcassanova closed
https://github.com/llvm/llvm-project/pull/81026
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -12,6 +12,7 @@
#include "lldb/Utility/ConstString.h"
#include "lldb/lldb-types.h"
#include
+#include
chelcassanova wrote:
I shouldn't need a sorted map so I'll go with StringMap for the updated patch
with the class that will handle the progress report
https://github.com/chelcassanova closed
https://github.com/llvm/llvm-project/pull/81169
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/chelcassanova created
https://github.com/llvm/llvm-project/pull/81169
This commit adds a new broadcast bit to the debugger. When in use, it will be
listened to for progress events that will be delivered and kept track of by
category as opposed to the current behaviour of
chelcassanova wrote:
The discussions happening here are talking about 2 major things, how to do the
bookkeeping of the map that keeps track of progress reports and where to do
that bookkeeping. I think it makes sense to split up this work into smaller
patches as such:
1. Since it's best to
chelcassanova wrote:
I'll start with this by changing this so that bookkeeping is done with the new
bit instead of being done in the constructor for `Progress`.
https://github.com/llvm/llvm-project/pull/81026
___
lldb-commits mailing list
@@ -9,26 +9,34 @@
#include "lldb/Core/Progress.h"
#include "lldb/Core/Debugger.h"
-#include "lldb/Utility/StreamString.h"
#include
using namespace lldb;
using namespace lldb_private;
std::atomic Progress::g_id(0);
+std::atomic Progress::g_refcount(1);
@@ -99,6 +105,10 @@ class Progress {
private:
void ReportProgress();
static std::atomic g_id;
+ static std::atomic g_refcount;
+ /// Map that tracks each progress object and if we've seen its start and stop
+ /// events
+ static std::unordered_map g_map;
@@ -99,6 +105,10 @@ class Progress {
private:
void ReportProgress();
static std::atomic g_id;
+ static std::atomic g_refcount;
+ /// Map that tracks each progress object and if we've seen its start and stop
+ /// events
+ static std::unordered_map g_map;
@@ -9,26 +9,34 @@
#include "lldb/Core/Progress.h"
#include "lldb/Core/Debugger.h"
-#include "lldb/Utility/StreamString.h"
#include
using namespace lldb;
using namespace lldb_private;
std::atomic Progress::g_id(0);
+std::atomic Progress::g_refcount(1);
@@ -117,6 +127,7 @@ class Progress {
/// to ensure that we don't send progress updates after progress has
/// completed.
bool m_complete = false;
+ bool m_type;
chelcassanova wrote:
Holdover from when I used a bool for this value before switching an
https://github.com/chelcassanova updated
https://github.com/llvm/llvm-project/pull/81026
>From a80637fe2471c3f1adc2b353cef41887bcd55a3c Mon Sep 17 00:00:00 2001
From: Chelsea Cassanova
Date: Tue, 6 Feb 2024 10:48:39 -0800
Subject: [PATCH] [lldb][progress][NFC] Add groundwork to keep track of
https://github.com/chelcassanova created
https://github.com/llvm/llvm-project/pull/81026
As part of the effort to improve progress reporting in LLDB
(https://discourse.llvm.org/t/rfc-improve-lldb-progress-reporting/75717) we
want a way to keep track of progress reports to see if they're
https://github.com/chelcassanova closed
https://github.com/llvm/llvm-project/pull/80791
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/chelcassanova updated
https://github.com/llvm/llvm-project/pull/80791
>From 4760c7ca48790f5f87de8e6ba2a5a3eea002 Mon Sep 17 00:00:00 2001
From: Chelsea Cassanova
Date: Mon, 5 Feb 2024 19:00:52 -0800
Subject: [PATCH] Reland "[lldb][progress][NFC] Add unit test for
https://github.com/chelcassanova closed
https://github.com/llvm/llvm-project/pull/80788
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/chelcassanova updated
https://github.com/llvm/llvm-project/pull/80791
>From 16e468b938ade09c57fd1eb7ea3db7b673836cb0 Mon Sep 17 00:00:00 2001
From: Chelsea Cassanova
Date: Mon, 5 Feb 2024 19:00:52 -0800
Subject: [PATCH] Reland "[lldb][progress][NFC] Add unit test for
https://github.com/chelcassanova closed
https://github.com/llvm/llvm-project/pull/80786
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/chelcassanova updated
https://github.com/llvm/llvm-project/pull/80786
>From 0d56057bc9904b2079324b21b3625def7e15b6c2 Mon Sep 17 00:00:00 2001
From: Chelsea Cassanova
Date: Mon, 5 Feb 2024 18:41:14 -0800
Subject: [PATCH] [lldb][unittest] Add call_once flag to initialize
chelcassanova wrote:
I did, I'm adding them as separate patches. DiagnosticEventTest.cpp could
probably go here since it's a simple change but ProgressEventTest doesn't exist
upstream yet since I had to revert so I think that at least should be it's own
PR>
https://github.com/chelcassanova created
https://github.com/llvm/llvm-project/pull/80788
Incorporates the changes from
https://github.com/llvm/llvm-project/pull/80786 to use a once_flag from
`TestUtilities` instead of a local flag in order to prevent hitting an
assertion that the debugger was
https://github.com/chelcassanova created
https://github.com/llvm/llvm-project/pull/80786
I tried adding a new unit test to the core test
suite (https://github.com/llvm/llvm-project/pull/79533) but it broke the test
suite on AArch64 Linux due to hitting an assertion for calling
Author: Chelsea Cassanova
Date: 2024-01-31T15:31:52-08:00
New Revision: 40ebe522ea5fd56cb383e29c77373b1482d49c0f
URL:
https://github.com/llvm/llvm-project/commit/40ebe522ea5fd56cb383e29c77373b1482d49c0f
DIFF:
Author: Chelsea Cassanova
Date: 2024-01-31T15:19:39-08:00
New Revision: a5a8cbb110384825b99228891576f799082f200e
URL:
https://github.com/llvm/llvm-project/commit/a5a8cbb110384825b99228891576f799082f200e
DIFF:
Author: Chelsea Cassanova
Date: 2024-01-31T11:58:11-08:00
New Revision: 209fe1f3d70d1c4a20bb2687e0d0a94b1bbfa0c6
URL:
https://github.com/llvm/llvm-project/commit/209fe1f3d70d1c4a20bb2687e0d0a94b1bbfa0c6
DIFF:
https://github.com/chelcassanova closed
https://github.com/llvm/llvm-project/pull/79533
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/chelcassanova updated
https://github.com/llvm/llvm-project/pull/79533
>From 10343b6cdad410e09546dd5a98e29d272300ed2e Mon Sep 17 00:00:00 2001
From: Chelsea Cassanova
Date: Thu, 25 Jan 2024 16:40:42 -0800
Subject: [PATCH 1/4] [lldb][progress][NFC] Add unit test for progress
https://github.com/chelcassanova updated
https://github.com/llvm/llvm-project/pull/79533
>From 10343b6cdad410e09546dd5a98e29d272300ed2e Mon Sep 17 00:00:00 2001
From: Chelsea Cassanova
Date: Thu, 25 Jan 2024 16:40:42 -0800
Subject: [PATCH 1/4] [lldb][progress][NFC] Add unit test for progress
https://github.com/chelcassanova updated
https://github.com/llvm/llvm-project/pull/79533
>From 10343b6cdad410e09546dd5a98e29d272300ed2e Mon Sep 17 00:00:00 2001
From: Chelsea Cassanova
Date: Thu, 25 Jan 2024 16:40:42 -0800
Subject: [PATCH 1/4] [lldb][progress][NFC] Add unit test for progress
https://github.com/chelcassanova closed
https://github.com/llvm/llvm-project/pull/79912
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -0,0 +1,125 @@
+//===-- ProgressReportTest.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:
@@ -39,7 +39,7 @@ class ProgressEventData : public EventData {
GetAsStructuredData(const Event *event_ptr);
uint64_t GetID() const { return m_id; }
- bool IsFinite() const { return m_total != UINT64_MAX; }
+ bool IsFinite() const { return m_total != 1; }
https://github.com/chelcassanova updated
https://github.com/llvm/llvm-project/pull/79912
>From af9a5581702b5c9ca8009fc32c7ae10a1654d391 Mon Sep 17 00:00:00 2001
From: Chelsea Cassanova
Date: Mon, 29 Jan 2024 15:29:46 -0800
Subject: [PATCH 1/2] [lldb][progress] Correctly check total for
https://github.com/chelcassanova updated
https://github.com/llvm/llvm-project/pull/79912
>From af9a5581702b5c9ca8009fc32c7ae10a1654d391 Mon Sep 17 00:00:00 2001
From: Chelsea Cassanova
Date: Mon, 29 Jan 2024 15:29:46 -0800
Subject: [PATCH] [lldb][progress] Correctly check total for
https://github.com/chelcassanova created
https://github.com/llvm/llvm-project/pull/79912
The `total` parameter for the constructor for Progress was changed to a
std::optional in https://github.com/llvm/llvm-project/pull/77547. When
initializing the `m_total` member variable for progress, it
https://github.com/chelcassanova edited
https://github.com/llvm/llvm-project/pull/79533
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/chelcassanova edited
https://github.com/llvm/llvm-project/pull/79533
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -39,7 +39,7 @@ class ProgressEventData : public EventData {
GetAsStructuredData(const Event *event_ptr);
uint64_t GetID() const { return m_id; }
- bool IsFinite() const { return m_total != UINT64_MAX; }
+ bool IsFinite() const { return m_total != 1; }
https://github.com/chelcassanova updated
https://github.com/llvm/llvm-project/pull/79533
>From 9274bcd897cd3ecdb3a842bc72ee660ba335aa57 Mon Sep 17 00:00:00 2001
From: Chelsea Cassanova
Date: Thu, 25 Jan 2024 16:40:42 -0800
Subject: [PATCH 1/3] [lldb][progress][NFC] Add unit test for progress
@@ -0,0 +1,105 @@
+#include "Plugins/Platform/MacOSX/PlatformMacOSX.h"
+#include "Plugins/Platform/MacOSX/PlatformRemoteMacOSX.h"
+#include "lldb/Core/Debugger.h"
+#include "lldb/Core/Progress.h"
+#include "lldb/Host/FileSystem.h"
+#include "lldb/Host/HostInfo.h"
+#include
https://github.com/chelcassanova updated
https://github.com/llvm/llvm-project/pull/79533
>From 9274bcd897cd3ecdb3a842bc72ee660ba335aa57 Mon Sep 17 00:00:00 2001
From: Chelsea Cassanova
Date: Thu, 25 Jan 2024 16:40:42 -0800
Subject: [PATCH 1/2] [lldb][progress][NFC] Add unit test for progress
@@ -0,0 +1,105 @@
+#include "Plugins/Platform/MacOSX/PlatformMacOSX.h"
chelcassanova wrote:
Will do! I told myself I'd add it at the end then I fully forgot to do that
https://github.com/llvm/llvm-project/pull/79533
chelcassanova wrote:
LGTM, thanks for adding new reports!
https://github.com/llvm/llvm-project/pull/79624
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -0,0 +1,105 @@
+#include "Plugins/Platform/MacOSX/PlatformMacOSX.h"
+#include "Plugins/Platform/MacOSX/PlatformRemoteMacOSX.h"
+#include "lldb/Core/Debugger.h"
+#include "lldb/Core/Progress.h"
+#include "lldb/Host/FileSystem.h"
+#include "lldb/Host/HostInfo.h"
+#include
@@ -0,0 +1,105 @@
+#include "Plugins/Platform/MacOSX/PlatformMacOSX.h"
+#include "Plugins/Platform/MacOSX/PlatformRemoteMacOSX.h"
+#include "lldb/Core/Debugger.h"
+#include "lldb/Core/Progress.h"
+#include "lldb/Host/FileSystem.h"
+#include "lldb/Host/HostInfo.h"
+#include
https://github.com/chelcassanova created
https://github.com/llvm/llvm-project/pull/79533
This test is being added as a way to check the behaviour of how progress events
are broadcasted when reports are started and ended with the current
implementation of progress reports. Here we're mainly
https://github.com/chelcassanova closed
https://github.com/llvm/llvm-project/pull/78357
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/chelcassanova updated
https://github.com/llvm/llvm-project/pull/78357
>From f1e8b700c5db6f97db87fdda3f5a81ba5f2582ab Mon Sep 17 00:00:00 2001
From: Chelsea Cassanova
Date: Tue, 16 Jan 2024 13:51:10 -0800
Subject: [PATCH] [lldb][Progress] Fix test for trimmed progress reports
https://github.com/chelcassanova created
https://github.com/llvm/llvm-project/pull/78357
The test TestTrimmedProgressReporting tests that progress reports are being
sent by listening for events with the titles of specific progress reports.
Commit f1ef910b removed the report for Apple DWARF
https://github.com/chelcassanova closed
https://github.com/llvm/llvm-project/pull/77547
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/chelcassanova updated
https://github.com/llvm/llvm-project/pull/77547
>From 44a3cdca21bc9c2aa24eeaf5d82c8b8af382bfa7 Mon Sep 17 00:00:00 2001
From: Chelsea Cassanova
Date: Tue, 9 Jan 2024 18:32:06 -0800
Subject: [PATCH 1/6] [lldb][Progress] Separate title and details
Per
https://github.com/chelcassanova updated
https://github.com/llvm/llvm-project/pull/77547
>From 44a3cdca21bc9c2aa24eeaf5d82c8b8af382bfa7 Mon Sep 17 00:00:00 2001
From: Chelsea Cassanova
Date: Tue, 9 Jan 2024 18:32:06 -0800
Subject: [PATCH 1/5] [lldb][Progress] Separate title and details
Per
@@ -90,10 +90,11 @@ class Progress {
/// @param [in] amount The amount to increment m_completed by.
///
/// @param [in] an optional message associated with this update.
- void Increment(uint64_t amount = 1, std::string update = {});
+ void Increment(uint64_t amount =
https://github.com/chelcassanova updated
https://github.com/llvm/llvm-project/pull/77547
>From 44a3cdca21bc9c2aa24eeaf5d82c8b8af382bfa7 Mon Sep 17 00:00:00 2001
From: Chelsea Cassanova
Date: Tue, 9 Jan 2024 18:32:06 -0800
Subject: [PATCH 1/4] [lldb][Progress] Separate title and details
Per
@@ -30,18 +34,19 @@ Progress::~Progress() {
// Make sure to always report progress completed when this object is
// destructed so it indicates the progress dialog/activity should go away.
std::lock_guard guard(m_mutex);
- if (!m_completed)
-m_completed = m_total;
+
@@ -30,18 +34,19 @@ Progress::~Progress() {
// Make sure to always report progress completed when this object is
// destructed so it indicates the progress dialog/activity should go away.
std::lock_guard guard(m_mutex);
- if (!m_completed)
-m_completed = m_total;
+
@@ -51,9 +56,10 @@ void Progress::Increment(uint64_t amount, std::string
update) {
void Progress::ReportProgress(std::string update) {
if (!m_complete) {
// Make sure we only send one notification that indicates the progress is
-// complete.
-m_complete =
https://github.com/chelcassanova updated
https://github.com/llvm/llvm-project/pull/77547
>From 44a3cdca21bc9c2aa24eeaf5d82c8b8af382bfa7 Mon Sep 17 00:00:00 2001
From: Chelsea Cassanova
Date: Tue, 9 Jan 2024 18:32:06 -0800
Subject: [PATCH 1/3] [lldb][Progress] Separate title and details
Per
@@ -519,8 +519,7 @@ void SymbolFileDWARF::InitializeObject() {
if (apple_names.GetByteSize() > 0 || apple_namespaces.GetByteSize() > 0 ||
apple_types.GetByteSize() > 0 || apple_objc.GetByteSize() > 0) {
- Progress progress(llvm::formatv("Loading Apple DWARF
@@ -69,7 +69,8 @@ class Progress {
///
/// @param [in] debugger An optional debugger pointer to specify that this
/// progress is to be reported only to specific debuggers.
- Progress(std::string title, uint64_t total = UINT64_MAX,
+ Progress(std::string title,
@@ -1430,6 +1445,279 @@ void Debugger::SetDestroyCallback(
m_destroy_callback_baton = baton;
}
+
+ /// Notify the progress thread that there is new progress data.
+void Debugger::NotifyProgress(std::unique_ptr _up) {
+ // Start the progress thread if it isn't already
https://github.com/chelcassanova updated
https://github.com/llvm/llvm-project/pull/77547
>From 44a3cdca21bc9c2aa24eeaf5d82c8b8af382bfa7 Mon Sep 17 00:00:00 2001
From: Chelsea Cassanova
Date: Tue, 9 Jan 2024 18:32:06 -0800
Subject: [PATCH 1/2] [lldb][Progress] Separate title and details
Per
https://github.com/chelcassanova created
https://github.com/llvm/llvm-project/pull/77547
Per this RFC:
https://discourse.llvm.org/t/rfc-improve-lldb-progress-reporting/75717 on
improving progress reports, this commit separates the title field and details
field so that the title specifies the
@@ -20,17 +20,15 @@ using namespace lldb_private;
// class BreakpointIDList
-BreakpointIDList::BreakpointIDList()
-: m_invalid_id(LLDB_INVALID_BREAK_ID, LLDB_INVALID_BREAK_ID) {}
+BreakpointIDList::BreakpointIDList() : m_breakpoint_ids() {}
chelcassanova wrote:
It looks we have kind of an impasse here, I've posted an RFC to try and clear
up any misunderstandings and get some input about how we can move forward with
this: https://discourse.llvm.org/t/rfc-improve-lldb-progress-reporting/75717
Looking forward to everyone's
@@ -2225,7 +2225,8 @@ void ObjectFileMachO::ParseSymtab(Symtab ) {
const char *file_name = file.GetFilename().AsCString("");
LLDB_SCOPED_TIMERF("ObjectFileMachO::ParseSymtab () module = %s", file_name);
LLDB_LOG(log, "Parsing symbol table for {0}", file_name);
-
@@ -2225,7 +2225,8 @@ void ObjectFileMachO::ParseSymtab(Symtab ) {
const char *file_name = file.GetFilename().AsCString("");
LLDB_SCOPED_TIMERF("ObjectFileMachO::ParseSymtab () module = %s", file_name);
LLDB_LOG(log, "Parsing symbol table for {0}", file_name);
-
@@ -2225,7 +2225,8 @@ void ObjectFileMachO::ParseSymtab(Symtab ) {
const char *file_name = file.GetFilename().AsCString("");
LLDB_SCOPED_TIMERF("ObjectFileMachO::ParseSymtab () module = %s", file_name);
LLDB_LOG(log, "Parsing symbol table for {0}", file_name);
-
@@ -55,6 +55,11 @@ namespace lldb_private {
class Progress {
public:
+ /// Enum that indicates the type of progress report
+ enum class ProgressReportType {
+eAggregateProgressReport,
+eNonAggregateProgressReport
chelcassanova wrote:
To my
@@ -2225,7 +2225,8 @@ void ObjectFileMachO::ParseSymtab(Symtab ) {
const char *file_name = file.GetFilename().AsCString("");
LLDB_SCOPED_TIMERF("ObjectFileMachO::ParseSymtab () module = %s", file_name);
LLDB_LOG(log, "Parsing symbol table for {0}", file_name);
-
@@ -2225,7 +2225,8 @@ void ObjectFileMachO::ParseSymtab(Symtab ) {
const char *file_name = file.GetFilename().AsCString("");
LLDB_SCOPED_TIMERF("ObjectFileMachO::ParseSymtab () module = %s", file_name);
LLDB_LOG(log, "Parsing symbol table for {0}", file_name);
-
https://github.com/chelcassanova updated
https://github.com/llvm/llvm-project/pull/69516
>From 06e9b990b3513443e563a91b33ceab07fdbc952b Mon Sep 17 00:00:00 2001
From: Chelsea Cassanova
Date: Wed, 18 Oct 2023 13:07:51 -0700
Subject: [PATCH] [lldb][progress] Add discrete boolean flag to progress
@@ -63,13 +68,30 @@ class Progress {
///
/// @param [in] title The title of this progress activity.
///
- /// @param [in] total The total units of work to be done if specified, if
- /// set to UINT64_MAX then an indeterminate progress indicator should be
+ /// @param
101 - 200 of 267 matches
Mail list logo