comparison src/share/vm/memory/restore.cpp @ 6197:d2a62e0f25eb

6995781: Native Memory Tracking (Phase 1) 7151532: DCmd for hotspot native memory tracking Summary: Implementation of native memory tracking phase 1, which tracks VM native memory usage, and related DCmd Reviewed-by: acorn, coleenp, fparain
author zgu
date Thu, 28 Jun 2012 17:03:16 -0400
parents 1d1603768966
children
comparison
equal deleted inserted replaced
6174:74533f63b116 6197:d2a62e0f25eb
130 130
131 int symbolTableLen = *(intptr_t*)buffer; 131 int symbolTableLen = *(intptr_t*)buffer;
132 buffer += sizeof(intptr_t); 132 buffer += sizeof(intptr_t);
133 int number_of_entries = *(intptr_t*)buffer; 133 int number_of_entries = *(intptr_t*)buffer;
134 buffer += sizeof(intptr_t); 134 buffer += sizeof(intptr_t);
135 SymbolTable::create_table((HashtableBucket*)buffer, symbolTableLen, 135 SymbolTable::create_table((HashtableBucket<mtSymbol>*)buffer, symbolTableLen,
136 number_of_entries); 136 number_of_entries);
137 buffer += symbolTableLen; 137 buffer += symbolTableLen;
138 138
139 // Create the string table using the bucket array at this spot in the 139 // Create the string table using the bucket array at this spot in the
140 // misc data space. Since the string table is often modified, this 140 // misc data space. Since the string table is often modified, this
142 142
143 int stringTableLen = *(intptr_t*)buffer; 143 int stringTableLen = *(intptr_t*)buffer;
144 buffer += sizeof(intptr_t); 144 buffer += sizeof(intptr_t);
145 number_of_entries = *(intptr_t*)buffer; 145 number_of_entries = *(intptr_t*)buffer;
146 buffer += sizeof(intptr_t); 146 buffer += sizeof(intptr_t);
147 StringTable::create_table((HashtableBucket*)buffer, stringTableLen, 147 StringTable::create_table((HashtableBucket<mtSymbol>*)buffer, stringTableLen,
148 number_of_entries); 148 number_of_entries);
149 buffer += stringTableLen; 149 buffer += stringTableLen;
150 150
151 // Create the shared dictionary using the bucket array at this spot in 151 // Create the shared dictionary using the bucket array at this spot in
152 // the misc data space. Since the shared dictionary table is never 152 // the misc data space. Since the shared dictionary table is never
155 155
156 int sharedDictionaryLen = *(intptr_t*)buffer; 156 int sharedDictionaryLen = *(intptr_t*)buffer;
157 buffer += sizeof(intptr_t); 157 buffer += sizeof(intptr_t);
158 number_of_entries = *(intptr_t*)buffer; 158 number_of_entries = *(intptr_t*)buffer;
159 buffer += sizeof(intptr_t); 159 buffer += sizeof(intptr_t);
160 SystemDictionary::set_shared_dictionary((HashtableBucket*)buffer, 160 SystemDictionary::set_shared_dictionary((HashtableBucket<mtClass>*)buffer,
161 sharedDictionaryLen, 161 sharedDictionaryLen,
162 number_of_entries); 162 number_of_entries);
163 buffer += sharedDictionaryLen; 163 buffer += sharedDictionaryLen;
164 164
165 // Create the package info table using the bucket array at this spot in 165 // Create the package info table using the bucket array at this spot in
169 169
170 int pkgInfoLen = *(intptr_t*)buffer; 170 int pkgInfoLen = *(intptr_t*)buffer;
171 buffer += sizeof(intptr_t); 171 buffer += sizeof(intptr_t);
172 number_of_entries = *(intptr_t*)buffer; 172 number_of_entries = *(intptr_t*)buffer;
173 buffer += sizeof(intptr_t); 173 buffer += sizeof(intptr_t);
174 ClassLoader::create_package_info_table((HashtableBucket*)buffer, pkgInfoLen, 174 ClassLoader::create_package_info_table((HashtableBucket<mtClass>*)buffer, pkgInfoLen,
175 number_of_entries); 175 number_of_entries);
176 buffer += pkgInfoLen; 176 buffer += pkgInfoLen;
177 ClassLoader::verify(); 177 ClassLoader::verify();
178 178
179 // The following data in the shared misc data region are the linked 179 // The following data in the shared misc data region are the linked