https://github.com/Jlalond created
https://github.com/llvm/llvm-project/pull/102018
… Options. (#100443)"
This reverts commit 3e4af616334eae532f308605b89ff158dd195180.
@adrian-prantl FYI
Reverts #100443
>From c2eb655327120d794c49a21908c5c664f3283f92 Mon Sep 17 00:00:00 2001
From: Jacob Lalo
https://github.com/Jlalond closed
https://github.com/llvm/llvm-project/pull/102018
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/Jlalond updated
https://github.com/llvm/llvm-project/pull/101272
>From 78ab13e3da15832117a7e2f8f85090a63482ca41 Mon Sep 17 00:00:00 2001
From: Jacob Lalonde
Date: Tue, 30 Jul 2024 11:04:45 -0700
Subject: [PATCH 01/10] Squash 64b-memory-regions-minidump and take only
llvm-cha
@@ -132,6 +140,79 @@ class MinidumpFile : public Binary {
size_t Stride;
};
+class Memory64Iterator {
+ public:
+static Memory64Iterator begin(ArrayRef Storage,
ArrayRef Descriptors, uint64_t BaseRVA) {
+ return Memory64Iterator(Storage, Descriptors, BaseRVA);
https://github.com/Jlalond updated
https://github.com/llvm/llvm-project/pull/101272
>From d28a238367aebb814be76749a3422a49963da8ac Mon Sep 17 00:00:00 2001
From: Jacob Lalonde
Date: Tue, 30 Jul 2024 11:04:45 -0700
Subject: [PATCH 01/11] Squash 64b-memory-regions-minidump and take only
llvm-cha
https://github.com/Jlalond updated
https://github.com/llvm/llvm-project/pull/101272
>From d28a238367aebb814be76749a3422a49963da8ac Mon Sep 17 00:00:00 2001
From: Jacob Lalonde
Date: Tue, 30 Jul 2024 11:04:45 -0700
Subject: [PATCH 01/12] Squash 64b-memory-regions-minidump and take only
llvm-cha
https://github.com/Jlalond closed
https://github.com/llvm/llvm-project/pull/97470
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/Jlalond updated
https://github.com/llvm/llvm-project/pull/101272
>From d28a238367aebb814be76749a3422a49963da8ac Mon Sep 17 00:00:00 2001
From: Jacob Lalonde
Date: Tue, 30 Jul 2024 11:04:45 -0700
Subject: [PATCH 01/13] Squash 64b-memory-regions-minidump and take only
llvm-cha
@@ -132,6 +140,95 @@ class MinidumpFile : public Binary {
size_t Stride;
};
+ /// Class the provides an iterator over the memory64 memory ranges. Only the
+ /// the first descriptor is validated as readable beforehand.
+ class Memory64Iterator {
+ public:
+static
@@ -132,6 +140,95 @@ class MinidumpFile : public Binary {
size_t Stride;
};
+ /// Class the provides an iterator over the memory64 memory ranges. Only the
+ /// the first descriptor is validated as readable beforehand.
+ class Memory64Iterator {
+ public:
+static
@@ -336,3 +336,89 @@ TEST(MinidumpYAML, ExceptionStream_ExtraParameter) {
0xab, 0xad, 0xca, 0xfe}),
*ExpectedContext);
}
+
+TEST(MinidumpYAML, MemoryRegion_64bit) {
+ SmallString<0> Storage;
+ auto ExpectedFile = toBinary(Storage, R"
https://github.com/Jlalond edited
https://github.com/llvm/llvm-project/pull/101272
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
Jlalond wrote:
@labath Implemented almost all of your feedback, once again I appreciate the in
depth review. The only functional thing I did not change was the assertion in
the iterator constructor that the first element is readable.
https://github.com/llvm/llvm-project/pull/101272
___
Jlalond wrote:
> I saw the msan failure when integrating LLVM into our internal codebase, it
> is a msan-build lldb.
>
> The second error `AssertionError: launching (4) != stopped (5)` occurred in a
> non-msan-build lldb from the upstream repository. And I ran `llvm-lit -sv
> lldb/test/API/fu
@@ -336,3 +336,89 @@ TEST(MinidumpYAML, ExceptionStream_ExtraParameter) {
0xab, 0xad, 0xca, 0xfe}),
*ExpectedContext);
}
+
+TEST(MinidumpYAML, MemoryRegion_64bit) {
+ SmallString<0> Storage;
+ auto ExpectedFile = toBinary(Storage, R"
@@ -494,6 +528,23 @@ Stream::create(const Directory &StreamDesc, const
object::MinidumpFile &File) {
}
return std::make_unique(std::move(Ranges));
}
+ case StreamKind::Memory64List: {
+Error Err = Error::success();
+auto Memory64List = File.getMemory64List(E
https://github.com/Jlalond reopened
https://github.com/llvm/llvm-project/pull/97470
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -1095,3 +1095,9 @@ bool ProcessElfCore::GetProcessInfo(ProcessInstanceInfo
&info) {
}
return true;
}
+
+const uint8_t *ProcessElfCore::PeekMemory(lldb::addr_t low, lldb::addr_t high,
Jlalond wrote:
Would an `ArrayRef` be better for reading from a core
@@ -111,6 +111,9 @@ class ProcessElfCore : public
lldb_private::PostMortemProcess {
bool SupportsMemoryTagging() override { return !m_core_tag_ranges.IsEmpty();
}
+ const uint8_t *PeekMemory(lldb::addr_t low, lldb::addr_t high,
Jlalond wrote:
Same Array
Jlalond wrote:
Great catch @bulbazord!
https://github.com/llvm/llvm-project/pull/102539
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/Jlalond created
https://github.com/llvm/llvm-project/pull/102708
This PR adds a statistics provider cache, which allows an individual target to
keep a rolling tally of it's total time and number of invocations for a given
summary provider. This information is then available
https://github.com/Jlalond created
https://github.com/llvm/llvm-project/pull/92002
Currently in Core dumps, the entire pthread is copied, including the unused
space beyond the stack pointer. This causes large amounts of core dump
inflation when the number of threads is high, but the stack usag
Jlalond wrote:
@clayborg Could you take a look at this?
https://github.com/llvm/llvm-project/pull/92002
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -6410,12 +6410,20 @@ GetCoreFileSaveRangesStackOnly(Process &process,
if (!reg_ctx_sp)
continue;
const addr_t sp = reg_ctx_sp->GetSP();
+const size_t red_zone = process.GetABI()->GetRedZoneSize();
Jlalond wrote:
Correct, but on systems whe
https://github.com/Jlalond edited
https://github.com/llvm/llvm-project/pull/92002
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/Jlalond updated
https://github.com/llvm/llvm-project/pull/92002
>From 2d192f640b332c2f1381cf96b75be60ad18de3ac Mon Sep 17 00:00:00 2001
From: Jacob Lalonde
Date: Fri, 10 May 2024 09:35:11 -0700
Subject: [PATCH 1/5] change core dump stacks to only include up to the stack
poin
@@ -6335,16 +6335,51 @@ static void AddRegion(const MemoryRegionInfo ®ion,
bool try_dirty_pages,
ranges.push_back(CreateCoreFileMemoryRange(region));
}
+static void
+SaveOffRegionsWithStackPointers(Process &process,
+ const MemoryRegionInfos ®i
@@ -3857,8 +3857,8 @@ thread_result_t Process::RunPrivateStateThread(bool
is_secondary_thread) {
// case we should tell it to stop doing that. Normally, we don't NEED
// to do that because we will next close the communication to the stub
// and that wi
https://github.com/Jlalond updated
https://github.com/llvm/llvm-project/pull/89110
>From e0316188d22605c670079e37855d3d8b5c944cee Mon Sep 17 00:00:00 2001
From: Jacob John Lalonde
Date: Wed, 10 Apr 2024 14:33:40 -0700
Subject: [PATCH 1/5] Fix bug where an sbvalue containing a std::string create
https://github.com/Jlalond updated
https://github.com/llvm/llvm-project/pull/89110
>From 5955863f22d5048cad91f089e96b10ea15c05446 Mon Sep 17 00:00:00 2001
From: Jacob John Lalonde
Date: Wed, 10 Apr 2024 14:33:40 -0700
Subject: [PATCH 1/7] Fix bug where an sbvalue containing a std::string create
Jlalond wrote:
@jimingham it turned out when created by data, the value object's address
points to it's buffer which itself contains the char* of the string.
I'm not sure how we can support the small string optimization if this is the
case, my testing was against a small string "test2", and it
@@ -2763,10 +2763,10 @@ ValueObjectSP ValueObject::Cast(const CompilerType
&compiler_type) {
ExecutionContextScope *exe_scope
= ExecutionContext(GetExecutionContextRef())
.GetBestExecutionContextScope();
- if (compiler_type.GetByteSize(exe_scope)
- <= G
@@ -17,6 +17,15 @@ def setUp(self):
# Find the line number to break at.
self.line = line_number("main.cpp", "// Set break point at this line.")
+# This is the function to remove the custom formats in order to have a
Jlalond wrote:
This PR
@@ -254,13 +254,17 @@ bool
lldb_private::formatters::LibStdcppStringSummaryProvider(
} else
addr_of_string =
valobj.GetAddressOf(scalar_is_load_addr, &addr_type);
- if (addr_of_string != LLDB_INVALID_ADDRESS) {
+
+ // We have to check for host address here
+ /
@@ -254,13 +254,17 @@ bool
lldb_private::formatters::LibStdcppStringSummaryProvider(
} else
addr_of_string =
valobj.GetAddressOf(scalar_is_load_addr, &addr_type);
- if (addr_of_string != LLDB_INVALID_ADDRESS) {
+
+ // We have to check for host address here
+ /
https://github.com/Jlalond created
https://github.com/llvm/llvm-project/pull/95312
Currently, LLDB does not support taking a minidump over the 4.2gb limit imposed
by uint32. In fact, currently it writes the RVA's and the headers to the end of
the file, which can become corrupted due to the hea
@@ -40,7 +46,7 @@ lldb_private::Status WriteString(const std::string &to_write,
/// the data on heap.
class MinidumpFileBuilder {
public:
- MinidumpFileBuilder() = default;
+ MinidumpFileBuilder(lldb::FileUP&& core_file):
m_core_file(std::move(core_file)) {};
---
@@ -797,20 +822,75 @@ void MinidumpFileBuilder::AddLinuxFileStreams(
}
}
-Status MinidumpFileBuilder::Dump(lldb::FileUP &core_file) const {
- constexpr size_t header_size = sizeof(llvm::minidump::Header);
- constexpr size_t directory_size = sizeof(llvm::minidump::Directory
@@ -797,20 +822,75 @@ void MinidumpFileBuilder::AddLinuxFileStreams(
}
}
-Status MinidumpFileBuilder::Dump(lldb::FileUP &core_file) const {
- constexpr size_t header_size = sizeof(llvm::minidump::Header);
- constexpr size_t directory_size = sizeof(llvm::minidump::Directory
@@ -59,39 +68,67 @@ class MinidumpFileBuilder {
// Add ThreadList stream, containing information about all threads running
// at the moment of core saving. Contains information about thread
// contexts.
- lldb_private::Status AddThreadList(const lldb::ProcessSP &process_
@@ -797,20 +822,75 @@ void MinidumpFileBuilder::AddLinuxFileStreams(
}
}
-Status MinidumpFileBuilder::Dump(lldb::FileUP &core_file) const {
- constexpr size_t header_size = sizeof(llvm::minidump::Header);
- constexpr size_t directory_size = sizeof(llvm::minidump::Directory
@@ -59,39 +68,67 @@ class MinidumpFileBuilder {
// Add ThreadList stream, containing information about all threads running
// at the moment of core saving. Contains information about thread
// contexts.
- lldb_private::Status AddThreadList(const lldb::ProcessSP &process_
@@ -59,39 +68,67 @@ class MinidumpFileBuilder {
// Add ThreadList stream, containing information about all threads running
// at the moment of core saving. Contains information about thread
// contexts.
- lldb_private::Status AddThreadList(const lldb::ProcessSP &process_
@@ -797,20 +822,75 @@ void MinidumpFileBuilder::AddLinuxFileStreams(
}
}
-Status MinidumpFileBuilder::Dump(lldb::FileUP &core_file) const {
- constexpr size_t header_size = sizeof(llvm::minidump::Header);
- constexpr size_t directory_size = sizeof(llvm::minidump::Directory
https://github.com/Jlalond edited
https://github.com/llvm/llvm-project/pull/95312
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -858,10 +953,247 @@ Status MinidumpFileBuilder::Dump(lldb::FileUP
&core_file) const {
return error;
}
-size_t MinidumpFileBuilder::GetDirectoriesNum() const {
- return m_directories.size();
+static size_t GetLargestRange(const Process::CoreFileMemoryRanges &ranges) {
+
@@ -858,10 +923,224 @@ Status MinidumpFileBuilder::Dump(lldb::FileUP
&core_file) const {
return error;
}
-size_t MinidumpFileBuilder::GetDirectoriesNum() const {
- return m_directories.size();
+Status MinidumpFileBuilder::AddMemoryList_32(
+const Process::CoreFileMemor
@@ -858,10 +953,247 @@ Status MinidumpFileBuilder::Dump(lldb::FileUP
&core_file) const {
return error;
}
-size_t MinidumpFileBuilder::GetDirectoriesNum() const {
- return m_directories.size();
+static size_t GetLargestRange(const Process::CoreFileMemoryRanges &ranges) {
+
@@ -791,26 +807,101 @@ void MinidumpFileBuilder::AddLinuxFileStreams(
size_t size = memory_buffer->getBufferSize();
if (size == 0)
continue;
- AddDirectory(stream, size);
+ error = AddDirectory(stream, size);
+ if (error.Fail())
+retur
Jlalond wrote:
@petrhosek because it's just going to be a change to something like `size_t`,
would you mind if I just did a quick commit to fix this and assign you as the
reviewer?
https://github.com/llvm/llvm-project/pull/95312
___
lldb-commits mai
https://github.com/Jlalond created
https://github.com/llvm/llvm-project/pull/96564
In !95312 I incorrectly set `m_expected_directories` to uint, this broke the
windows build and is the incorrect type.
`size_t` is more accurate because this value only ever represents the expected
upper bound
https://github.com/Jlalond edited
https://github.com/llvm/llvm-project/pull/96564
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/Jlalond edited
https://github.com/llvm/llvm-project/pull/96564
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
Jlalond wrote:
Fixed uint issue in #96564
https://github.com/llvm/llvm-project/pull/95312
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/Jlalond closed
https://github.com/llvm/llvm-project/pull/96564
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
Jlalond wrote:
@vvereschaka I'll work on this today. Is it time pressing enough you would want
everything reverted?
https://github.com/llvm/llvm-project/pull/95312
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bi
Jlalond wrote:
@petrhosek I am working on this. I think it's only the header thankfully
https://github.com/llvm/llvm-project/pull/95312
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commi
https://github.com/Jlalond created
https://github.com/llvm/llvm-project/pull/96724

In #95312 uint and `#include ` were introduced. These broke the
windows build. I addressed uint in #96564, but
Jlalond wrote:
Hey @petrhosek @vvereschaka apologies about the delay, I had to get a Windows
machine up to validate this.
https://github.com/llvm/llvm-project/pull/96724
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/
https://github.com/Jlalond closed
https://github.com/llvm/llvm-project/pull/96724
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
Jlalond wrote:
@labath those did get omitted due to github marking them as outdated due to
moving the code around, I mixed that. I appreciate your long review on this
one, I learned a lot from your feedback.
I'm going to let CI run and merge when it's completed
https://github.com/llvm/llvm-pr
@@ -615,7 +615,16 @@ bool ValueObject::GetSummaryAsCString(TypeSummaryImpl
*summary_ptr,
m_synthetic_value->UpdateValueIfNeeded(); // the summary might depend on
// the synthetic children being
https://github.com/Jlalond edited
https://github.com/llvm/llvm-project/pull/102708
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -174,6 +176,83 @@ struct StatisticsOptions {
std::optional m_include_transcript;
};
+/// A class that represents statistics about a TypeSummaryProviders invocations
+class SummaryStatistics {
+public:
+ SummaryStatistics() = default;
+ SummaryStatistics(lldb_private::Co
@@ -174,6 +176,83 @@ struct StatisticsOptions {
std::optional m_include_transcript;
};
+/// A class that represents statistics about a TypeSummaryProviders invocations
+class SummaryStatistics {
+public:
+ SummaryStatistics() = default;
+ SummaryStatistics(lldb_private::Co
@@ -174,6 +176,83 @@ struct StatisticsOptions {
std::optional m_include_transcript;
};
+/// A class that represents statistics about a TypeSummaryProviders invocations
+class SummaryStatistics {
+public:
+ SummaryStatistics() = default;
+ SummaryStatistics(lldb_private::Co
https://github.com/Jlalond edited
https://github.com/llvm/llvm-project/pull/102708
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/Jlalond closed
https://github.com/llvm/llvm-project/pull/101272
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/Jlalond updated
https://github.com/llvm/llvm-project/pull/102708
>From c0a7286b0107d3161b18de8f05d4d016150e96a5 Mon Sep 17 00:00:00 2001
From: Jacob Lalonde
Date: Thu, 8 Aug 2024 08:58:52 -0700
Subject: [PATCH 1/4] Initial attempt at new classes Summary statistics in
Summary
https://github.com/Jlalond updated
https://github.com/llvm/llvm-project/pull/102708
>From c0a7286b0107d3161b18de8f05d4d016150e96a5 Mon Sep 17 00:00:00 2001
From: Jacob Lalonde
Date: Thu, 8 Aug 2024 08:58:52 -0700
Subject: [PATCH 1/5] Initial attempt at new classes Summary statistics in
Summary
@@ -1,7 +1,13 @@
// Test that the lldb command `statistics` works.
+#include
+
+void foo() {
+ std::string str = "hello world";
Jlalond wrote:
@clayborg
I created a basic template test, and made sure the formatter was invoked, and I
added a different test f
@@ -174,6 +176,83 @@ struct StatisticsOptions {
std::optional m_include_transcript;
};
+/// A class that represents statistics about a TypeSummaryProviders invocations
+class SummaryStatistics {
+public:
+ SummaryStatistics() = default;
+ SummaryStatistics(lldb_private::Co
https://github.com/Jlalond updated
https://github.com/llvm/llvm-project/pull/102708
>From c0a7286b0107d3161b18de8f05d4d016150e96a5 Mon Sep 17 00:00:00 2001
From: Jacob Lalonde
Date: Thu, 8 Aug 2024 08:58:52 -0700
Subject: [PATCH 1/6] Initial attempt at new classes Summary statistics in
Summary
@@ -258,6 +258,9 @@ class TypeSummaryImpl {
virtual std::string GetDescription() = 0;
+ virtual ConstString GetName() = 0;
+ virtual ConstString GetImplType() = 0;
Jlalond wrote:
@Michael137 I also prefer `KindName`, but there is also an existing `Kind`
@@ -258,6 +258,9 @@ class TypeSummaryImpl {
virtual std::string GetDescription() = 0;
+ virtual ConstString GetName() = 0;
+ virtual ConstString GetImplType() = 0;
+
Jlalond wrote:
Phew,
I 100% agree, this was getting quite messy
https://github.com/llv
@@ -174,6 +177,84 @@ struct StatisticsOptions {
std::optional m_include_transcript;
};
+/// A class that represents statistics about a TypeSummaryProviders invocations
+class SummaryStatistics {
+public:
+ explicit SummaryStatistics(lldb_private::ConstString name,
+
@@ -174,6 +177,84 @@ struct StatisticsOptions {
std::optional m_include_transcript;
};
+/// A class that represents statistics about a TypeSummaryProviders invocations
+class SummaryStatistics {
+public:
+ explicit SummaryStatistics(lldb_private::ConstString name,
+
@@ -145,15 +148,34 @@ std::string CXXFunctionSummaryFormat::GetDescription() {
return std::string(sstr.GetString());
}
+std::string CXXFunctionSummaryFormat::GetName() {
+ return m_description;
+}
+
+std::string CXXFunctionSummaryFormat::GetSummaryKindName() {
+ return "c+
https://github.com/Jlalond updated
https://github.com/llvm/llvm-project/pull/102708
>From c0a7286b0107d3161b18de8f05d4d016150e96a5 Mon Sep 17 00:00:00 2001
From: Jacob Lalonde
Date: Thu, 8 Aug 2024 08:58:52 -0700
Subject: [PATCH 1/7] Initial attempt at new classes Summary statistics in
Summary
https://github.com/Jlalond updated
https://github.com/llvm/llvm-project/pull/102708
>From c0a7286b0107d3161b18de8f05d4d016150e96a5 Mon Sep 17 00:00:00 2001
From: Jacob Lalonde
Date: Thu, 8 Aug 2024 08:58:52 -0700
Subject: [PATCH 1/7] Initial attempt at new classes Summary statistics in
Summary
https://github.com/Jlalond updated
https://github.com/llvm/llvm-project/pull/102708
>From c0a7286b0107d3161b18de8f05d4d016150e96a5 Mon Sep 17 00:00:00 2001
From: Jacob Lalonde
Date: Thu, 8 Aug 2024 08:58:52 -0700
Subject: [PATCH 1/7] Initial attempt at new classes Summary statistics in
Summary
Jlalond wrote:
@labath Agree on all counts, I'll split this into a different PR. With what I
learned from our obj2yaml adventure I would like to do it better anyway.
https://github.com/llvm/llvm-project/pull/97470
___
lldb-commits mailing list
lldb-co
@@ -615,7 +615,15 @@ bool ValueObject::GetSummaryAsCString(TypeSummaryImpl
*summary_ptr,
m_synthetic_value->UpdateValueIfNeeded(); // the summary might depend on
// the synthetic children being
@@ -258,6 +258,9 @@ class TypeSummaryImpl {
virtual std::string GetDescription() = 0;
+ virtual ConstString GetName() = 0;
+ virtual ConstString GetImplType() = 0;
Jlalond wrote:
I ended up just going with kind name
https://github.com/llvm/llvm-project/
https://github.com/Jlalond updated
https://github.com/llvm/llvm-project/pull/102708
>From c0a7286b0107d3161b18de8f05d4d016150e96a5 Mon Sep 17 00:00:00 2001
From: Jacob Lalonde
Date: Thu, 8 Aug 2024 08:58:52 -0700
Subject: [PATCH 1/8] Initial attempt at new classes Summary statistics in
Summary
@@ -25,6 +26,7 @@ namespace lldb_private {
using StatsClock = std::chrono::high_resolution_clock;
using StatsTimepoint = std::chrono::time_point;
+using Duration = std::chrono::duration;
Jlalond wrote:
Originally I had this passed down to the invocation as we
https://github.com/Jlalond updated
https://github.com/llvm/llvm-project/pull/102708
>From c0a7286b0107d3161b18de8f05d4d016150e96a5 Mon Sep 17 00:00:00 2001
From: Jacob Lalonde
Date: Thu, 8 Aug 2024 08:58:52 -0700
Subject: [PATCH 1/9] Initial attempt at new classes Summary statistics in
Summary
@@ -174,6 +177,86 @@ struct StatisticsOptions {
std::optional m_include_transcript;
};
+/// A class that represents statistics about a TypeSummaryProviders invocations
+class SummaryStatistics {
+public:
+ explicit SummaryStatistics(std::string name, std::string impl_type)
@@ -174,6 +177,86 @@ struct StatisticsOptions {
std::optional m_include_transcript;
};
+/// A class that represents statistics about a TypeSummaryProviders invocations
+class SummaryStatistics {
+public:
+ explicit SummaryStatistics(std::string name, std::string impl_type)
@@ -0,0 +1,35 @@
+// Test that the lldb command `statistics` works.
Jlalond wrote:
Sounds good, any sample test cases of multi threaded access I can steal the
homework of?
https://github.com/llvm/llvm-project/pull/102708
https://github.com/Jlalond updated
https://github.com/llvm/llvm-project/pull/102708
>From c0a7286b0107d3161b18de8f05d4d016150e96a5 Mon Sep 17 00:00:00 2001
From: Jacob Lalonde
Date: Thu, 8 Aug 2024 08:58:52 -0700
Subject: [PATCH 01/10] Initial attempt at new classes Summary statistics in
Summa
@@ -201,3 +216,12 @@ std::string ScriptSummaryFormat::GetDescription() {
}
return std::string(sstr.GetString());
}
+
+std::string ScriptSummaryFormat::GetName() { return m_script_formatter_name; }
+
+std::string ScriptSummaryFormat::GetSummaryKindName() {
+ if (!m_python_s
@@ -408,3 +410,21 @@ llvm::json::Value DebuggerStats::ReportStatistics(
return std::move(global_stats);
}
+
+llvm::json::Value SummaryStatistics::ToJSON() const {
+ return json::Object{{
+ {"name", GetName()},
+ {"type", GetSummaryKindName()},
+ {"invocationC
@@ -174,6 +177,83 @@ struct StatisticsOptions {
std::optional m_include_transcript;
};
+/// A class that represents statistics about a TypeSummaryProviders invocations
+class SummaryStatistics {
+public:
+ explicit SummaryStatistics(std::string name, std::string impl_type)
https://github.com/Jlalond updated
https://github.com/llvm/llvm-project/pull/102708
>From c0a7286b0107d3161b18de8f05d4d016150e96a5 Mon Sep 17 00:00:00 2001
From: Jacob Lalonde
Date: Thu, 8 Aug 2024 08:58:52 -0700
Subject: [PATCH 01/11] Initial attempt at new classes Summary statistics in
Summa
@@ -174,6 +177,84 @@ struct StatisticsOptions {
std::optional m_include_transcript;
};
+/// A class that represents statistics about a TypeSummaryProviders invocations
+class SummaryStatistics {
+public:
+ explicit SummaryStatistics(lldb_private::ConstString name,
+
https://github.com/Jlalond updated
https://github.com/llvm/llvm-project/pull/102708
>From c0a7286b0107d3161b18de8f05d4d016150e96a5 Mon Sep 17 00:00:00 2001
From: Jacob Lalonde
Date: Thu, 8 Aug 2024 08:58:52 -0700
Subject: [PATCH 01/11] Initial attempt at new classes Summary statistics in
Summa
https://github.com/Jlalond updated
https://github.com/llvm/llvm-project/pull/102708
>From c0a7286b0107d3161b18de8f05d4d016150e96a5 Mon Sep 17 00:00:00 2001
From: Jacob Lalonde
Date: Thu, 8 Aug 2024 08:58:52 -0700
Subject: [PATCH 01/12] Initial attempt at new classes Summary statistics in
Summa
https://github.com/Jlalond created
https://github.com/llvm/llvm-project/pull/104497
Reapply #100443 and #101770. These were originally reverted due to a test
failure and an MSAN failure. I changed the test attribute to restrict to x86
(following the other existing tests). I could not reproduce
https://github.com/Jlalond updated
https://github.com/llvm/llvm-project/pull/101086
>From 2860a75fdc243f55d1e675068f9d120fb43cb21d Mon Sep 17 00:00:00 2001
From: Jacob Lalonde
Date: Fri, 26 Jul 2024 14:14:42 -0700
Subject: [PATCH] Remove 64b specific method and create Cache from both memory
32
101 - 200 of 642 matches
Mail list logo