Skip to content
  • Ben Gamari's avatar
    Improve accuracy of get/setAllocationCounter · 20cbb016
    Ben Gamari authored and Ben Gamari's avatar Ben Gamari committed
    Summary:
    get/setAllocationCounter didn't take into account allocations in the
    current block. This was known at the time, but it turns out to be
    important to have more accuracy when using these in a fine-grained
    way.
    
    Test Plan:
    New unit test to test incrementally larger allocaitons.  Before I got
    results like this:
    
    ```
    +0
    +0
    +0
    +0
    +0
    +4096
    +0
    +0
    +0
    +0
    +0
    +4064
    +0
    +0
    +4088
    +4056
    +0
    +0
    +0
    +4088
    +4096
    +4056
    +4096
    ```
    
    Notice how the results aren't always monotonically increasing.  After
    this patch:
    
    ```
    +344
    +416
    +488
    +560
    +632
    +704
    +776
    +848
    +920
    +992
    +1064
    +1136
    +1208
    +1280
    +1352
    +1424
    +1496
    +1568
    +1640
    +1712
    +1784
    +1856
    +1928
    +2000
    +2072
    +2144
    ```
    
    Reviewers: hvr, erikd, simonmar, jrtc27, trommler
    
    Reviewed By: simonmar
    
    Subscribers: trommler, jrtc27, rwbarton, thomie, carter
    
    Differential Revision: https://phabricator.haskell.org/D4363
    20cbb016