Changed Massif to record the 'slop' heap bytes caused by rounding asked-for
sizes up to a multiple of 8 (or whatever --alignment is).  This is combined
with the "admin" bytes, resulting in the "extra" bytes.  Added
VG_(malloc_usable_size) to the tool interface to support this.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7133 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/massif/tests/insig.post.exp b/massif/tests/insig.post.exp
index 23921b2..2e00dc6 100644
--- a/massif/tests/insig.post.exp
+++ b/massif/tests/insig.post.exp
@@ -1,12 +1,12 @@
 --------------------------------------------------------------------------------
 Command:            ./insig
-Massif arguments:   --stacks=no --time-unit=B
+Massif arguments:   --stacks=no --time-unit=B --heap-admin=64
 ms_print arguments: massif.out
 --------------------------------------------------------------------------------
 
 
     KB
-1.202^                                                                      .:
+9.617^                                                                      .:
      |                                                                  ..:@::
      |                                                               ..::::@::
      |                                                            .:::@::::@::
@@ -27,58 +27,58 @@
      |                                                          : ::::@::::@::
      |                                                          : ::::@::::@::
    0 +----------------------------------------------------------------@----@->KB
-     0                                                                   1.202
+     0                                                                   9.617
 
 Number of snapshots: 24
  Detailed snapshots: [9, 19]
 --------------------------------------------------------------------------------
-  n        time(B)         total(B)   useful-heap(B) admin-heap(B)    stacks(B)
+  n        time(B)         total(B)   useful-heap(B) extra-heap(B)    stacks(B)
 --------------------------------------------------------------------------------
   0              0                0                0             0            0
-  1          1,008            1,008            1,000             8            0
-  2          1,031            1,031            1,015            16            0
-  3          1,051            1,051            1,027            24            0
-  4          1,060            1,060            1,028            32            0
-  5          1,069            1,069            1,029            40            0
-  6          1,078            1,078            1,030            48            0
-  7          1,087            1,087            1,031            56            0
-  8          1,096            1,096            1,032            64            0
-  9          1,105            1,105            1,033            72            0
-93.48% (1,033B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-->90.50% (1,000B) 0x........: main (insig.c:8)
+  1          8,064            8,064            8,000            64            0
+  2          8,248            8,248            8,120           128            0
+  3          8,408            8,408            8,216           192            0
+  4          8,480            8,480            8,224           256            0
+  5          8,552            8,552            8,232           320            0
+  6          8,624            8,624            8,240           384            0
+  7          8,696            8,696            8,248           448            0
+  8          8,768            8,768            8,256           512            0
+  9          8,840            8,840            8,264           576            0
+93.48% (8,264B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
+->90.50% (8,000B) 0x........: main (insig.c:8)
 | 
-->01.36% (15B) 0x........: main (insig.c:9)
+->01.36% (120B) 0x........: main (insig.c:9)
 | 
-->01.09% (12B) 0x........: main (insig.c:10)
+->01.09% (96B) 0x........: main (insig.c:10)
 | 
-->00.54% (6B) in 1+ places, all below ms_print's threshold (01.00%)
+->00.54% (48B) in 1+ places, all below ms_print's threshold (01.00%)
 
 --------------------------------------------------------------------------------
-  n        time(B)         total(B)   useful-heap(B) admin-heap(B)    stacks(B)
+  n        time(B)         total(B)   useful-heap(B) extra-heap(B)    stacks(B)
 --------------------------------------------------------------------------------
- 10          1,114            1,114            1,034            80            0
- 11          1,123            1,123            1,035            88            0
- 12          1,132            1,132            1,036            96            0
- 13          1,141            1,141            1,037           104            0
- 14          1,150            1,150            1,038           112            0
- 15          1,159            1,159            1,039           120            0
- 16          1,168            1,168            1,040           128            0
- 17          1,177            1,177            1,041           136            0
- 18          1,186            1,186            1,042           144            0
- 19          1,195            1,195            1,043           152            0
-87.28% (1,043B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-->83.68% (1,000B) 0x........: main (insig.c:8)
+ 10          8,912            8,912            8,272           640            0
+ 11          8,984            8,984            8,280           704            0
+ 12          9,056            9,056            8,288           768            0
+ 13          9,128            9,128            8,296           832            0
+ 14          9,200            9,200            8,304           896            0
+ 15          9,272            9,272            8,312           960            0
+ 16          9,344            9,344            8,320         1,024            0
+ 17          9,416            9,416            8,328         1,088            0
+ 18          9,488            9,488            8,336         1,152            0
+ 19          9,560            9,560            8,344         1,216            0
+87.28% (8,344B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
+->83.68% (8,000B) 0x........: main (insig.c:8)
 | 
-->01.34% (16B) in 16 places, all below massif's threshold (01.00%)
+->01.34% (128B) in 16 places, all below massif's threshold (01.00%)
 | 
-->01.26% (15B) 0x........: main (insig.c:9)
+->01.26% (120B) 0x........: main (insig.c:9)
 | 
-->01.00% (12B) 0x........: main (insig.c:10)
+->01.00% (96B) 0x........: main (insig.c:10)
   
 --------------------------------------------------------------------------------
-  n        time(B)         total(B)   useful-heap(B) admin-heap(B)    stacks(B)
+  n        time(B)         total(B)   useful-heap(B) extra-heap(B)    stacks(B)
 --------------------------------------------------------------------------------
- 20          1,204            1,204            1,044           160            0
- 21          1,213            1,213            1,045           168            0
- 22          1,222            1,222            1,046           176            0
- 23          1,231            1,231            1,047           184            0
+ 20          9,632            9,632            8,352         1,280            0
+ 21          9,704            9,704            8,360         1,344            0
+ 22          9,776            9,776            8,368         1,408            0
+ 23          9,848            9,848            8,376         1,472            0