|
1 /* |
|
2 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * |
|
5 * Redistribution and use in source and binary forms, with or without |
|
6 * modification, are permitted provided that the following conditions are met: |
|
7 * |
|
8 * - Redistributions of source code must retain the above copyright notice, |
|
9 * this list of conditions and the following disclaimer. |
|
10 * - Redistributions in binary form must reproduce the above copyright notice, |
|
11 * this list of conditions and the following disclaimer in the documentation |
|
12 * and/or other materials provided with the distribution. |
|
13 * - Neither the name of Nokia Corporation nor the names of its contributors |
|
14 * may be used to endorse or promote products derived from this software |
|
15 * without specific prior written permission. |
|
16 * |
|
17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|
18 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|
19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
|
20 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
|
21 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
|
22 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
|
23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
|
24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
|
25 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
|
26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
|
27 * POSSIBILITY OF SUCH DAMAGE. |
|
28 * |
|
29 * Initial Contributors: |
|
30 * Nokia Corporation - initial contribution. |
|
31 * |
|
32 * Contributors: |
|
33 * |
|
34 * Description: |
|
35 * |
|
36 */ |
|
37 |
|
38 using System; |
|
39 |
|
40 namespace HeapLib.Reconstructor.Misc |
|
41 { |
|
42 public sealed class Prefixes |
|
43 { |
|
44 #region Constructors & destructor |
|
45 public Prefixes() |
|
46 { |
|
47 } |
|
48 #endregion |
|
49 |
|
50 #region Properties |
|
51 // <summary> |
|
52 // This is the prefix for the base address of the heap, NOT the base address of the heap chunk. |
|
53 // </summary> |
|
54 public string[] HeapBaseAddress |
|
55 { |
|
56 get { return iHeapBaseAddress; } |
|
57 } |
|
58 |
|
59 // <summary> |
|
60 // This is the prefix for the size of the heap chunk, not the size of the heap |
|
61 // </summary> |
|
62 public string[] HeapChunkSize |
|
63 { |
|
64 get { return iHeapSize; } |
|
65 } |
|
66 |
|
67 // <summary> |
|
68 // This is the prefix for the size of the RHeap object |
|
69 // </summary> |
|
70 public string[] SizeOfRHeap |
|
71 { |
|
72 get { return iSizeOfRHeap; } |
|
73 } |
|
74 |
|
75 public string[] DebugAllocator |
|
76 { |
|
77 get { return iDebugAllocator; } |
|
78 } |
|
79 |
|
80 public string[] AllocCellCount |
|
81 { |
|
82 get { return iAllocCellCount; } |
|
83 } |
|
84 |
|
85 public string[] AllocStatistics |
|
86 { |
|
87 get { return iAllocStatistics; } |
|
88 } |
|
89 |
|
90 public string[] FreeCellAddress |
|
91 { |
|
92 get { return iFreeCellAddress; } |
|
93 } |
|
94 |
|
95 public string[] FreeCellLength |
|
96 { |
|
97 get { return iFreeCellLength; } |
|
98 } |
|
99 |
|
100 public string[] FreeCellCount |
|
101 { |
|
102 get { return iFreeCellCount; } |
|
103 } |
|
104 |
|
105 public string[] FreeStatistics |
|
106 { |
|
107 get { return iFreeStatistics; } |
|
108 } |
|
109 |
|
110 public string[] FreeCellList |
|
111 { |
|
112 get { return iFreeCellList; } |
|
113 } |
|
114 |
|
115 public string[] CommonStatisticsSizeOfCells |
|
116 { |
|
117 get { return iStatisticsSizeOfCells; } |
|
118 } |
|
119 |
|
120 public string[] HeapCellMinimumSize |
|
121 { |
|
122 get { return iHeapCellMinimumSize; } |
|
123 } |
|
124 |
|
125 public string[] CodeSegment |
|
126 { |
|
127 get { return iCodeSegment; } |
|
128 } |
|
129 |
|
130 public string[] MiscRHeapRand |
|
131 { |
|
132 get { return iMisc_RHeap_iRand; } |
|
133 } |
|
134 #endregion |
|
135 |
|
136 #region Data members |
|
137 private static readonly string[] iHeapSize = new string[] { "HeapInfo - heapSize:", "Chunk Size:" }; |
|
138 private static readonly string[] iHeapBaseAddress = new string[] { "HeapInfo - heapBaseAddress:", "RHeap::iBase" }; |
|
139 private static readonly string[] iDebugAllocator = new string[] { "HeapInfo - heapUsingDebugAlloc:", "Debug Allocator:" }; |
|
140 private static readonly string[] iSizeOfRHeap = new string[] { "Object Size:" }; |
|
141 private static readonly string[] iStatisticsSizeOfCells = new string[] { "Size of cells:" }; |
|
142 // |
|
143 private static readonly string[] iMisc_RHeap_iRand = new string[] { "RHeap::iRand" }; |
|
144 // |
|
145 private static readonly string[] iAllocCellCount = new string[] { "HeapInfo - heapCellAllocCount:", "Number of cells:" }; |
|
146 private static readonly string[] iAllocStatistics = new string[] { "Allocated Cell Statistics" }; |
|
147 // |
|
148 private static readonly string[] iFreeCellAddress = new string[] { "HeapInfo - heapFreeCellAddress:", "RHeap::iFree.next" }; |
|
149 private static readonly string[] iFreeCellCount = new string[] { "HeapInfo - heapFreeCellCount:", "Number of cells:" }; |
|
150 private static readonly string[] iFreeCellLength = new string[] { "HeapInfo - heapFreeCellLength:", "RHeap::iFree.len" }; |
|
151 private static readonly string[] iFreeStatistics = new string[] { "Free Cell Statistics" }; |
|
152 private static readonly string[] iFreeCellList = new string[] { "Free Cell List" }; |
|
153 // |
|
154 private static readonly string[] iHeapCellMinimumSize = new string[] { "HeapInfo - heapMinCellSize:", "RHeap::iMinCell" }; |
|
155 private static readonly string[] iCodeSegment = new string[] { "CodeSegs - " }; |
|
156 #endregion |
|
157 } |
|
158 } |