Page MenuHomePhabricator
Feed Advanced Search

Sep 14 2020

jarin accepted D87481: [lldb] Ignore certain Clang type sugar when creating the type name.

This makes sense, thanks!

Sep 14 2020, 4:50 AM · Restricted Project

Aug 13 2020

jarin added a comment to D81471: [lldb] Add support for using integral const static data members in the expression evaluator.

I am curious about constexpr static as well here.

Aug 13 2020, 4:00 AM

Aug 11 2020

jarin added inline comments to D81471: [lldb] Add support for using integral const static data members in the expression evaluator.
Aug 11 2020, 9:50 AM
jarin accepted D81471: [lldb] Add support for using integral const static data members in the expression evaluator.

This looks great! Thank you for the extensive test suite.

Aug 11 2020, 7:01 AM
jarin requested review of D85719: Initialize static const fields in the AST for expression evaluation.
Aug 11 2020, 3:26 AM · Restricted Project
jarin accepted D85132: [lldb] Add SubstTemplateTypeParm to RemoveWrappingTypes.

Looks good.

Aug 11 2020, 3:05 AM · Restricted Project

Jul 16 2020

jarin committed rG93ec6cd68426: [lldb] Desugar template specializations (authored by jarin).
[lldb] Desugar template specializations
Jul 16 2020, 12:02 AM
jarin closed D83858: [lldb] Desugar template specializations.
Jul 16 2020, 12:01 AM · Restricted Project

Jul 15 2020

jarin updated the diff for D83858: [lldb] Desugar template specializations.

Undo the infinite loop detection.

Jul 15 2020, 8:29 AM · Restricted Project
jarin added a comment to D83858: [lldb] Desugar template specializations.

This could cause that RemoveWrappingTypes goes into an infinite loop under some situations. Usually this function is reserved for types that are always 'sugar', but TemplateSpecializationTypes are not always sugar (e.g., dependent types are not sugar). And for types that are not sugar, getLocallyUnqualifiedSingleStepDesugaredType will return the type that was passed in. So that will make the loop in that function just keep spinning forever.

Jul 15 2020, 7:10 AM · Restricted Project
jarin updated the diff for D83858: [lldb] Desugar template specializations.

Addressed review comments.

Jul 15 2020, 7:05 AM · Restricted Project
jarin created D83858: [lldb] Desugar template specializations.
Jul 15 2020, 12:48 AM · Restricted Project

Jun 9 2020

jarin committed rGfac5d05eb75f: [lldb] Fix and enable Windows minidump tests (authored by jarin).
[lldb] Fix and enable Windows minidump tests
Jun 9 2020, 1:16 PM
jarin closed D81465: [lldb] Fix and enable Windows minidump tests.
Jun 9 2020, 1:15 PM · Restricted Project
jarin updated the diff for D81465: [lldb] Fix and enable Windows minidump tests.

Added a comment.

Jun 9 2020, 11:32 AM · Restricted Project
jarin updated the summary of D81465: [lldb] Fix and enable Windows minidump tests.
Jun 9 2020, 6:33 AM · Restricted Project
jarin created D81465: [lldb] Fix and enable Windows minidump tests.
Jun 9 2020, 6:32 AM · Restricted Project

Jun 8 2020

jarin committed rG6143874f734b: [lldb] Disable remove-add module test on Windows (authored by jarin).
[lldb] Disable remove-add module test on Windows
Jun 8 2020, 1:36 AM
jarin closed D81363: Disable remove-add module test on Windows.
Jun 8 2020, 1:35 AM · Restricted Project
jarin created D81363: Disable remove-add module test on Windows.
Jun 8 2020, 1:02 AM · Restricted Project
jarin added a reviewer for D81363: Disable remove-add module test on Windows: labath.
Jun 8 2020, 1:02 AM · Restricted Project

Jun 7 2020

jarin committed rG1beffc18886a: Support build-ids of other sizes than 16 in UUID::SetFromStringRef (authored by jarin).
Support build-ids of other sizes than 16 in UUID::SetFromStringRef
Jun 7 2020, 3:09 AM
jarin closed D80755: Support build-ids of other sizes than 16 in UUID::SetFromStringRef.
Jun 7 2020, 3:09 AM · Restricted Project

Jun 4 2020

jarin updated the diff for D80755: Support build-ids of other sizes than 16 in UUID::SetFromStringRef.

Exclude UUID strings ending with "-".

Jun 4 2020, 9:20 AM · Restricted Project

Jun 1 2020

jarin updated the diff for D80755: Support build-ids of other sizes than 16 in UUID::SetFromStringRef.

Added a test for missing nibble in UUID.

Jun 1 2020, 4:16 PM · Restricted Project
jarin added inline comments to D80755: Support build-ids of other sizes than 16 in UUID::SetFromStringRef.
Jun 1 2020, 2:39 PM · Restricted Project
jarin updated the diff for D80755: Support build-ids of other sizes than 16 in UUID::SetFromStringRef.

Removed size restrictions on UUIDs.

Jun 1 2020, 2:39 PM · Restricted Project

May 30 2020

jarin updated the diff for D80755: Support build-ids of other sizes than 16 in UUID::SetFromStringRef.

Change SetFromStringRef to return bool.

May 30 2020, 11:21 PM · Restricted Project

May 29 2020

jarin updated the diff for D80755: Support build-ids of other sizes than 16 in UUID::SetFromStringRef.
May 29 2020, 8:39 AM · Restricted Project

May 28 2020

jarin added inline comments to D80755: Support build-ids of other sizes than 16 in UUID::SetFromStringRef.
May 28 2020, 10:59 PM · Restricted Project
jarin created D80755: Support build-ids of other sizes than 16 in UUID::SetFromStringRef.
May 28 2020, 1:15 PM · Restricted Project

May 25 2020

jarin added a comment to D80254: Prevent GetNumChildren from transitively walking pointer chains.

Raphael, could you land this for me?

May 25 2020, 1:01 AM · Restricted Project

May 22 2020

jarin added a comment to D80254: Prevent GetNumChildren from transitively walking pointer chains.

This looks good, thanks for subscribing me. We need to have GetNumChildren and GetChildAtIndex agreeing on things and we definitely shouldn't be walking more than on pointer recursively. My only question is do we need helper functions added to TypeSystemClang to avoid this issue since we have GetNumChildren and GetChildAtIndex doing things differently? Some function both could/should be calling so that things can't get out of sync?

May 22 2020, 1:13 AM · Restricted Project

May 20 2020

jarin added a comment to D80254: Prevent GetNumChildren from transitively walking pointer chains.

Looks fine to me too. The way this test is phrased, it would probably make more sense under test/API/python_api/value, than here. (I mean, it's not technically wrong because everything is a "functionality", but i'd like to avoid putting stuff here precisely because the category is so vague.)

May 20 2020, 7:35 AM · Restricted Project
jarin updated the diff for D80254: Prevent GetNumChildren from transitively walking pointer chains.

Merged the ObjC pointer case with the reference case, simplified the test.

May 20 2020, 7:34 AM · Restricted Project

May 19 2020

jarin updated the diff for D80254: Prevent GetNumChildren from transitively walking pointer chains.

Added more assertions, reformatted the test code.

May 19 2020, 11:02 PM · Restricted Project
jarin added inline comments to D80254: Prevent GetNumChildren from transitively walking pointer chains.
May 19 2020, 11:02 PM · Restricted Project
jarin created D80254: Prevent GetNumChildren from transitively walking pointer chains.
May 19 2020, 4:00 PM · Restricted Project
jarin added a comment to D79308: [lldb-server] Reset stop reason of all threads when resuming.

Pavel, could you possibly land this for us?

May 19 2020, 3:27 PM · Restricted Project

May 12 2020

jarin added inline comments to D78654: Moving executable module symbols parsing to target creation method..
May 12 2020, 8:01 AM · Restricted Project

May 6 2020

jarin added a comment to D79308: [lldb-server] Reset stop reason of all threads when resuming.

Jim, do you think this is good to go?

May 6 2020, 11:25 PM · Restricted Project

May 5 2020

jarin reopened D73191: Only match mangled name in full-name function lookup (with accelerators).

Reopening for further investigation.

May 5 2020, 12:58 PM · Restricted Project
jarin added inline comments to D79308: [lldb-server] Reset stop reason of all threads when resuming.
May 5 2020, 6:25 AM · Restricted Project
jarin updated the diff for D79308: [lldb-server] Reset stop reason of all threads when resuming.

... now also fixed the 'volatile'. It took only three patches to copy four lines of code by hand. Not bad, huh?

May 5 2020, 6:25 AM · Restricted Project
jarin updated the diff for D79308: [lldb-server] Reset stop reason of all threads when resuming.

... and remove the extra braces.

May 5 2020, 5:52 AM · Restricted Project
jarin updated the diff for D79308: [lldb-server] Reset stop reason of all threads when resuming.

Addressed reviewer comments.

May 5 2020, 5:52 AM · Restricted Project
jarin added a comment to D79404: Fix error handling after [<index>] in 'frame variable'.

Do you think Raphael would want to review this as well? If you think it is not necessary, could you land the patch for me?

May 5 2020, 5:20 AM · Restricted Project
jarin created D79404: Fix error handling after [<index>] in 'frame variable'.
May 5 2020, 4:16 AM · Restricted Project
jarin retitled D79404: Fix error handling after [<index>] in 'frame variable' from Fix handling of [<index>] in 'frame variable' to Fix error handling after [<index>] in 'frame variable'.
May 5 2020, 4:16 AM · Restricted Project

May 4 2020

jarin updated the diff for D79308: [lldb-server] Reset stop reason of all threads when resuming.

Simplify the test based on the suggestion from labath@.

May 4 2020, 7:27 AM · Restricted Project
jarin added a comment to D79308: [lldb-server] Reset stop reason of all threads when resuming.

The test setup here seems unnecessarily complex. Wouldn't an inferior like this work better?

void thread1() {
  pseudo_barrier_wait(g_barrier); // See other tests how this works.
  g_foo = 0; // break_here
}
int main() {
  pseudo_barrier_init(g_barrier1, 2);
  std::thread t1(thread1);
  pseudo_barrier_wait(g_barrier);
  for (int i = 0; i<10000; ++i) g_bar = i; // empty loop to have something to step over
  t1.join();
}

That way you always know only one thread will hit a breakpoint, and and you can just pick the "other" thread as the target for stepping.

May 4 2020, 5:18 AM · Restricted Project

May 3 2020

jarin created D79308: [lldb-server] Reset stop reason of all threads when resuming.
May 3 2020, 2:20 PM · Restricted Project

Apr 22 2020

jarin added inline comments to D78654: Moving executable module symbols parsing to target creation method..
Apr 22 2020, 1:03 PM · Restricted Project

Apr 11 2020

jarin abandoned D77765: Fix incorrect L1 inferior memory cache flushing.
Apr 11 2020, 1:34 AM · Restricted Project
jarin added a comment to D77765: Fix incorrect L1 inferior memory cache flushing.

Abandoning the patch since we cannot reach agreement on how this should be tested.

Apr 11 2020, 1:34 AM · Restricted Project
jarin abandoned D77790: [NFC] Add a test for the inferior memory cache (mainly L1).
Apr 11 2020, 1:34 AM · Restricted Project
jarin added a comment to D77790: [NFC] Add a test for the inferior memory cache (mainly L1).

It appears it is really hard to reach agreement about this, so another alternative is I submit a bug report about the L1 invalidation problem and leave it to you to figure this out. In the mean time, we will fix the bug only in our private fork of lldb. Greg, perhaps you would prefer that?

I don't see this as really that hard to fix correctly. Feel free to do what you need to if this is too much.

Apr 11 2020, 1:34 AM · Restricted Project

Apr 10 2020

jarin added a comment to D77790: [NFC] Add a test for the inferior memory cache (mainly L1).

Regarding the callback idea, I have bad experience with callbacks because they break if the code is not crafted for re-entrancy and they are much harder to understand. That change feels out of scope for just adding a test and fixing an unrelated bug.

Apr 10 2020, 3:12 AM · Restricted Project

Apr 9 2020

jarin added a comment to D77765: Fix incorrect L1 inferior memory cache flushing.

As labath@ suggested, I have teased apart the test and the testability refactoring into a separate patch. The patch lives at https://reviews.llvm.org/D77790, could you please take a look?

Apr 9 2020, 7:01 AM · Restricted Project
jarin updated the diff for D77790: [NFC] Add a test for the inferior memory cache (mainly L1).

Addressed reviewer comments.

Apr 9 2020, 5:55 AM · Restricted Project
jarin added inline comments to D77790: [NFC] Add a test for the inferior memory cache (mainly L1).
Apr 9 2020, 5:55 AM · Restricted Project
jarin created D77790: [NFC] Add a test for the inferior memory cache (mainly L1).
Apr 9 2020, 4:50 AM · Restricted Project
jarin added a comment to D77765: Fix incorrect L1 inferior memory cache flushing.

I rewrote parts of the test, hopefully making it a bit clearer. Please let me know if this made it better.

Apr 9 2020, 1:03 AM · Restricted Project
jarin updated the diff for D77765: Fix incorrect L1 inferior memory cache flushing.

Addressed some of the reviewer comments.

Apr 9 2020, 1:03 AM · Restricted Project

Apr 8 2020

jarin retitled D77765: Fix incorrect L1 inferior memory cache flushing from Fix incorrect L1 cache flushing to Fix incorrect L1 inferior memory cache flushing.
Apr 8 2020, 4:51 PM · Restricted Project
jarin created D77765: Fix incorrect L1 inferior memory cache flushing.
Apr 8 2020, 4:51 PM · Restricted Project

Apr 7 2020

jarin added a comment to D74398: [lldb-server] jThreadsInfo returns stack memory.

Looking at the code for flushing L1 cache, it appears broken. I am guessing that is the reason for the failure of my patch on the bots.

Apr 7 2020, 6:28 AM · Restricted Project

Apr 2 2020

jarin added a comment to D74398: [lldb-server] jThreadsInfo returns stack memory.

Pavel, could you land this for me?

Apr 2 2020, 7:01 AM · Restricted Project

Mar 31 2020

jarin added a comment to D74398: [lldb-server] jThreadsInfo returns stack memory.

(and if you're still seeing mystery reads, put a breakpoint on ProcessGDBRemote::DoReadMemory and see who is doing it)

Thanks for the great explanations! I did put a breakpoint into DoReadMemory, and the unwinder doing the reads for each thread (called from https://github.com/llvm/llvm-project/blob/master/lldb/source/Target/ThreadList.cpp#L349). If I understand correctly, the Thread::WillStop/SelectMostRelevantFrame should care only about the current PC of each thread, but not about the stack contents. Let me double check that.

Mar 31 2020, 2:10 AM · Restricted Project

Mar 24 2020

jarin added a comment to D74398: [lldb-server] jThreadsInfo returns stack memory.

(and if you're still seeing mystery reads, put a breakpoint on ProcessGDBRemote::DoReadMemory and see who is doing it)

Mar 24 2020, 9:07 AM · Restricted Project
jarin updated the diff for D76650: Data formatters: fix detection of C strings.

Addressed reviewer comments.

Mar 24 2020, 5:20 AM · Restricted Project
jarin added a comment to D76650: Data formatters: fix detection of C strings.

Thanks for the review! Could you possibly land this for me?

Mar 24 2020, 5:20 AM · Restricted Project

Mar 23 2020

jarin created D76650: Data formatters: fix detection of C strings.
Mar 23 2020, 4:54 PM · Restricted Project

Mar 21 2020

jarin added a comment to D74398: [lldb-server] jThreadsInfo returns stack memory.

Regarding the packet savings - there are still things that worry me.

Mar 21 2020, 4:15 AM · Restricted Project

Mar 20 2020

jarin updated the diff for D74398: [lldb-server] jThreadsInfo returns stack memory.

Addressed comments.

Mar 20 2020, 12:28 PM · Restricted Project

Mar 19 2020

jarin updated the diff for D74398: [lldb-server] jThreadsInfo returns stack memory.

Adding a tighter x64 test as suggested by labath@.

Mar 19 2020, 5:33 PM · Restricted Project
jarin added a comment to D76216: Improve step over performance.

Pavel or Jim, could you possibly land this for me?

Mar 19 2020, 11:27 AM · Restricted Project
jarin added a comment to D76216: Improve step over performance.

Thanks Greg, I will wait for Jim's comment.

Mar 19 2020, 1:03 AM · Restricted Project

Mar 18 2020

jarin updated the diff for D76216: Improve step over performance.

Rebase

Mar 18 2020, 4:51 PM · Restricted Project
jarin added a comment to D74398: [lldb-server] jThreadsInfo returns stack memory.

Thanks. Could you also add the other kind of test (the one inline asm) I mentioned. In an ideal world we'd have a test case for every boundary condition, but we're pretty far from that right now. Even so, one test case like that would be nice.

Mar 18 2020, 3:46 PM · Restricted Project
jarin updated the diff for D74398: [lldb-server] jThreadsInfo returns stack memory.

Addressed reviewer comments in the code, but still have no clue how to write the test.

Mar 18 2020, 3:13 PM · Restricted Project

Mar 17 2020

jarin updated the diff for D74398: [lldb-server] jThreadsInfo returns stack memory.
  • Added a test that checks consistency of thread info's memory chunks with the actual memory.
  • Using DataExtractor to extract pointers with the right endian-ness and the right size.
Mar 17 2020, 5:51 PM · Restricted Project
jarin added a comment to D76216: Improve step over performance.

Thanks for all the clarifications, this is very useful. I have always wanted to learn about thread plans, and this was a nice opportunity to do that. The extra background from you guys is a nice bonus.

Mar 17 2020, 7:25 AM · Restricted Project

Mar 16 2020

jarin added inline comments to D76216: Improve step over performance.
Mar 16 2020, 1:53 AM · Restricted Project
jarin created D76216: Improve step over performance.
Mar 16 2020, 1:37 AM · Restricted Project

Feb 18 2020

jarin added a comment to D74759: Treat RangeDataVector as an augmented BST.

I like this idea a lot, in principle. It is much simpler than a full blown interval tree, and it should give us similar performance characteristics.

Have you done a proper complexity analysis here? I doubt the O(log n) claim is true in general. It would have to be at least O(m + log n) (m - number of elements found), but it's not clear to me whether even this is true in general. (However, I believe this can achieve ~~log(n) for non-degenerate cases.)

Feb 18 2020, 6:42 AM · Restricted Project
jarin added a comment to D74759: Treat RangeDataVector as an augmented BST.

Thanks for putting this together, some comments below. Let us see what Pavel thinks.

Feb 18 2020, 5:40 AM · Restricted Project

Feb 17 2020

jarin added inline comments to D74217: Add target.xml support for qXfer request..
Feb 17 2020, 10:53 PM · Restricted Project
jarin added inline comments to D74217: Add target.xml support for qXfer request..
Feb 17 2020, 10:43 PM · Restricted Project
jarin added inline comments to D74217: Add target.xml support for qXfer request..
Feb 17 2020, 10:34 PM · Restricted Project

Feb 12 2020

jarin added a comment to D74398: [lldb-server] jThreadsInfo returns stack memory.

Thank you for the feedback! I am a bit busy with other things ATM, but I should be able to get back to this next week.

Feb 12 2020, 11:30 PM · Restricted Project

Feb 11 2020

jarin created D74398: [lldb-server] jThreadsInfo returns stack memory.
Feb 11 2020, 5:34 AM · Restricted Project

Feb 7 2020

jarin added inline comments to D74217: Add target.xml support for qXfer request..
Feb 7 2020, 6:47 AM · Restricted Project

Jan 28 2020

jarin added a comment to rGd8de349951c2: Revert "[lldb/DWARF] Only match mangled name in full-name function lookup (with….

Right, this is pretty clearly my commit. This is a pretty crazy week here, so I am not quite sure when I have time to investigate.

Jan 28 2020, 7:27 AM

Jan 27 2020

jarin added a comment to D73191: Only match mangled name in full-name function lookup (with accelerators).

(I mean, if there is a real benefit to having some queries return only non-methods, then we can certainly do something like that as well, but that should be handled differently -- either we can create a new query mode, or change the behavior (and name?) of eFunctionNameTypeFull across the board).

Jan 27 2020, 2:06 AM · Restricted Project
jarin added a comment to D73191: Only match mangled name in full-name function lookup (with accelerators).

Pavel, could you take another look, please?

Jan 27 2020, 12:38 AM · Restricted Project
jarin updated the diff for D73191: Only match mangled name in full-name function lookup (with accelerators).

Only matching the mangled name now.

Jan 27 2020, 12:38 AM · Restricted Project
jarin added inline comments to D73191: Only match mangled name in full-name function lookup (with accelerators).
Jan 27 2020, 12:02 AM · Restricted Project

Jan 24 2020

jarin added inline comments to D73191: Only match mangled name in full-name function lookup (with accelerators).
Jan 24 2020, 6:22 AM · Restricted Project
jarin set the repository for D73191: Only match mangled name in full-name function lookup (with accelerators) to rG LLVM Github Monorepo.
Jan 24 2020, 3:49 AM · Restricted Project