comparison src/share/vm/memory/dump.cpp @ 287:6e76352f1f62

6459085: naked pointer subtractions in class data sharing code Reviewed-by: jcoomes
author xlu
date Mon, 18 Aug 2008 14:53:36 -0700
parents d1605aabd0a1
children 70c4fb9cf899
comparison
equal deleted inserted replaced
286:3529d0e8d09c 287:6e76352f1f62
1198 mapinfo->write_space(CompactingPermGenGen::ro, _ro_space, true); 1198 mapinfo->write_space(CompactingPermGenGen::ro, _ro_space, true);
1199 _ro_space->set_saved_mark(); 1199 _ro_space->set_saved_mark();
1200 mapinfo->write_space(CompactingPermGenGen::rw, _rw_space, false); 1200 mapinfo->write_space(CompactingPermGenGen::rw, _rw_space, false);
1201 _rw_space->set_saved_mark(); 1201 _rw_space->set_saved_mark();
1202 mapinfo->write_region(CompactingPermGenGen::md, _md_vs->low(), 1202 mapinfo->write_region(CompactingPermGenGen::md, _md_vs->low(),
1203 md_top - _md_vs->low(), SharedMiscDataSize, 1203 pointer_delta(md_top, _md_vs->low(), sizeof(char)),
1204 SharedMiscDataSize,
1204 false, false); 1205 false, false);
1205 mapinfo->write_region(CompactingPermGenGen::mc, _mc_vs->low(), 1206 mapinfo->write_region(CompactingPermGenGen::mc, _mc_vs->low(),
1206 mc_top - _mc_vs->low(), SharedMiscCodeSize, 1207 pointer_delta(mc_top, _mc_vs->low(), sizeof(char)),
1208 SharedMiscCodeSize,
1207 true, true); 1209 true, true);
1208 1210
1209 // Pass 2 - write data. 1211 // Pass 2 - write data.
1210 mapinfo->open_for_write(); 1212 mapinfo->open_for_write();
1211 mapinfo->write_header(); 1213 mapinfo->write_header();
1212 mapinfo->write_space(CompactingPermGenGen::ro, _ro_space, true); 1214 mapinfo->write_space(CompactingPermGenGen::ro, _ro_space, true);
1213 mapinfo->write_space(CompactingPermGenGen::rw, _rw_space, false); 1215 mapinfo->write_space(CompactingPermGenGen::rw, _rw_space, false);
1214 mapinfo->write_region(CompactingPermGenGen::md, _md_vs->low(), 1216 mapinfo->write_region(CompactingPermGenGen::md, _md_vs->low(),
1215 md_top - _md_vs->low(), SharedMiscDataSize, 1217 pointer_delta(md_top, _md_vs->low(), sizeof(char)),
1218 SharedMiscDataSize,
1216 false, false); 1219 false, false);
1217 mapinfo->write_region(CompactingPermGenGen::mc, _mc_vs->low(), 1220 mapinfo->write_region(CompactingPermGenGen::mc, _mc_vs->low(),
1218 mc_top - _mc_vs->low(), SharedMiscCodeSize, 1221 pointer_delta(mc_top, _mc_vs->low(), sizeof(char)),
1222 SharedMiscCodeSize,
1219 true, true); 1223 true, true);
1220 mapinfo->close(); 1224 mapinfo->close();
1221 1225
1222 // Summarize heap. 1226 // Summarize heap.
1223 memmove(vtbl_list, saved_vtbl, vtbl_list_size * sizeof(void*)); 1227 memmove(vtbl_list, saved_vtbl, vtbl_list_size * sizeof(void*));