- Mar 04, 2024
-
-
Hannes Siebenhandl authored
When thunks are evaluated, the thunk closure is replaced with an `IndClosure`. To make sure we don't miss parts of the string, we also expand `IndClosure` types.
-
- Feb 28, 2024
-
-
Hannes Siebenhandl authored
-
- Feb 12, 2024
-
-
Matthew Pickering authored
515eb33d4fcc9382032a9e6b1757b9e2b00a145c changes the order and type of these two fields. Therefore we have to update the decoding logic.
-
Matthew Pickering authored
In particular we make sure to race all the appropiate threads against each other, so that if any of them fail the tests just fail rather than hang forever.
-
- Jan 26, 2024
-
-
-
Hannes Siebenhandl authored
`viewport` is unreasonably inefficient for our usecase when the IOTree grows, as it decides what to display once it rendered to full `IOTree`. Especially while scrolling, this inefficiency became apparent. Unfortunately, brick doesn't have any builtin way to improve this, see https://github.com/jtdaugherty/brick/issues/264 We take `drawListElement` as an inspiration, and only render up to `heightOfBox * 2` elements of the `IOTree`, including expanded tree nodes. This speeds up the view noticeably, giving the user a responsive experience. In particular, we decouple rendering metadata computation from the actual rendering to decide which rows to render.
-
- Jan 23, 2024
-
-
Matthew Pickering authored
-
Matthew Pickering authored
-
Matthew Pickering authored
-
Matthew Pickering authored
-
Matthew Pickering authored
We now display a "flat" cost centre stack rather than forcing the user to expand it at each level.
-
Matthew Pickering authored
We should never attempt to dereference a null pointer, any null pointers should be captured at the point of creation.
-
Matthew Pickering authored
-
Matthew Pickering authored
These are no longer used
-
- Jan 18, 2024
-
-
Inside an hBox if there are multiple greedy widgets they are allocated equal space. This meant the commands and number display were allocated the same number of columns which led to a lot of whitespace. (cherry picked from commit 7a1fdab5)
-
(cherry picked from commit d0250893)
-
(cherry picked from commit 865dd6a4)
-
* Add find retainer by address, precisely find retainers of a specific closure address. * Add ArrWords count analysis which performs a census of the ArrWords closures. * Generalise display pane, to allow displaying trees of different types (not just ClosureDetails) (used by the arr words census) * Allow commands to not have key bindings (and just appear in command picker) * Cleanup: Remove "Analysis" modes such as dominator and size analysis. (cherry picked from commit 349760d0)
- Jan 16, 2024
-
-
Matthew Pickering authored
-
- Jan 15, 2024
-
-
Teo Camarasu authored
Resolves #25
-
Matthew Pickering authored
-
Matthew Pickering authored
-
Zubin authored
-
- Jan 10, 2024
-
-
Matthew Pickering authored
-
Zubin authored
-
- Jan 08, 2024
-
-
Zubin authored
-
- Jan 04, 2024
-
-
Zubin authored
-
- Dec 21, 2023
-
-
Zubin authored
Query debugee for profiling mode and TNTC Deserialize closures instead of relying on ghc-heap The above is necessary to decode profiling headers and ghc-heap does not Additionally, deserialize info tables in haskell code instead of relying on ghc-heap. This is also necessary to decode profiling info tables properly. Perhaps we should introduce a type for profiling info tables instead of using StgInfoTable
-
- Dec 05, 2023
-
-
1. When forking, don't repond to a pause request in the parent after the child has already responded 2. use waitpid() instead of wait() because wait can race with other wait() calls in the program
-