Skip to content

Commit 8796611

Browse files
author
Matias Saavedra Silva
committed
8272160: Avoid using 32-bit counters in CDS code
Reviewed-by: iklam, kvn
1 parent 8a0c47d commit 8796611

File tree

7 files changed

+37
-40
lines changed

7 files changed

+37
-40
lines changed

src/hotspot/share/cds/aotMetaspace.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2057,13 +2057,13 @@ void AOTMetaspace::unmap_archive(FileMapInfo* mapinfo) {
20572057
// For -XX:PrintSharedArchiveAndExit
20582058
class CountSharedSymbols : public SymbolClosure {
20592059
private:
2060-
int _count;
2060+
size_t _count;
20612061
public:
20622062
CountSharedSymbols() : _count(0) {}
20632063
void do_symbol(Symbol** sym) {
20642064
_count++;
20652065
}
2066-
int total() { return _count; }
2066+
size_t total() { return _count; }
20672067

20682068
};
20692069

@@ -2137,7 +2137,7 @@ void AOTMetaspace::initialize_shared_spaces() {
21372137
// collect shared symbols and strings
21382138
CountSharedSymbols cl;
21392139
SymbolTable::shared_symbols_do(&cl);
2140-
tty->print_cr("Number of shared symbols: %d", cl.total());
2140+
tty->print_cr("Number of shared symbols: %zu", cl.total());
21412141
tty->print_cr("Number of shared strings: %zu", StringTable::shared_entry_count());
21422142
tty->print_cr("VM version: %s\r\n", static_mapinfo->vm_version());
21432143
if (FileMapInfo::current_info() == nullptr || _archive_loading_failed) {

src/hotspot/share/cds/archiveUtils.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -324,14 +324,14 @@ class HeapRootSegments {
324324
size_t _base_offset;
325325
size_t _count;
326326
int _roots_count;
327-
int _max_size_in_bytes;
327+
size_t _max_size_in_bytes;
328328
int _max_size_in_elems;
329329

330330
public:
331331
size_t base_offset() { return _base_offset; }
332332
size_t count() { return _count; }
333333
int roots_count() { return _roots_count; }
334-
int max_size_in_bytes() { return _max_size_in_bytes; }
334+
size_t max_size_in_bytes() { return _max_size_in_bytes; }
335335
int max_size_in_elems() { return _max_size_in_elems; }
336336

337337
size_t size_in_bytes(size_t seg_idx);

src/hotspot/share/cds/cdsHeapVerifier.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ void CDSHeapVerifier::add_shared_secret_accessors() {
254254

255255
CDSHeapVerifier::~CDSHeapVerifier() {
256256
if (_problems > 0) {
257-
log_error(aot, heap)("Scanned %d objects. Found %d case(s) where "
257+
log_error(aot, heap)("Scanned %zu objects. Found %d case(s) where "
258258
"an object points to a static field that "
259259
"may hold a different value at runtime.", _archived_objs, _problems);
260260
log_error(aot, heap)("Please see cdsHeapVerifier.cpp and aotClassInitializer.cpp for details");

src/hotspot/share/cds/cdsHeapVerifier.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class CDSHeapVerifier : public KlassClosure {
4141
class SharedSecretsAccessorFinder;
4242
class TraceFields;
4343

44-
int _archived_objs;
44+
size_t _archived_objs;
4545
int _problems;
4646

4747
struct StaticFieldInfo {

src/hotspot/share/cds/filemap.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,7 @@ void FileMapHeader::print(outputStream* st) {
309309
st->print_cr("- heap_root_segments.base_offset: 0x%zx", _heap_root_segments.base_offset());
310310
st->print_cr("- heap_root_segments.count: %zu", _heap_root_segments.count());
311311
st->print_cr("- heap_root_segments.max_size_elems: %d", _heap_root_segments.max_size_in_elems());
312-
st->print_cr("- heap_root_segments.max_size_bytes: %d", _heap_root_segments.max_size_in_bytes());
312+
st->print_cr("- heap_root_segments.max_size_bytes: %zu", _heap_root_segments.max_size_in_bytes());
313313
st->print_cr("- _heap_oopmap_start_pos: %zu", _heap_oopmap_start_pos);
314314
st->print_cr("- _heap_ptrmap_start_pos: %zu", _heap_ptrmap_start_pos);
315315
st->print_cr("- _rw_ptrmap_start_pos: %zu", _rw_ptrmap_start_pos);

src/hotspot/share/cds/heapShared.cpp

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1049,7 +1049,7 @@ void HeapShared::write_subgraph_info_table() {
10491049

10501050
_run_time_subgraph_info_table.reset();
10511051

1052-
CompactHashtableWriter writer(d_table->_count, &stats);
1052+
CompactHashtableWriter writer(d_table->number_of_entries(), &stats);
10531053
CopyKlassSubGraphInfoToArchive copy(&writer);
10541054
d_table->iterate(&copy);
10551055
writer.dump(&_run_time_subgraph_info_table, "subgraphs");
@@ -1820,15 +1820,15 @@ void HeapShared::check_special_subgraph_classes() {
18201820

18211821
HeapShared::SeenObjectsTable* HeapShared::_seen_objects_table = nullptr;
18221822
HeapShared::PendingOop HeapShared::_object_being_archived;
1823-
int HeapShared::_num_new_walked_objs;
1824-
int HeapShared::_num_new_archived_objs;
1825-
int HeapShared::_num_old_recorded_klasses;
1823+
size_t HeapShared::_num_new_walked_objs;
1824+
size_t HeapShared::_num_new_archived_objs;
1825+
size_t HeapShared::_num_old_recorded_klasses;
18261826

1827-
int HeapShared::_num_total_subgraph_recordings = 0;
1828-
int HeapShared::_num_total_walked_objs = 0;
1829-
int HeapShared::_num_total_archived_objs = 0;
1830-
int HeapShared::_num_total_recorded_klasses = 0;
1831-
int HeapShared::_num_total_verifications = 0;
1827+
size_t HeapShared::_num_total_subgraph_recordings = 0;
1828+
size_t HeapShared::_num_total_walked_objs = 0;
1829+
size_t HeapShared::_num_total_archived_objs = 0;
1830+
size_t HeapShared::_num_total_recorded_klasses = 0;
1831+
size_t HeapShared::_num_total_verifications = 0;
18321832

18331833
bool HeapShared::has_been_seen_during_subgraph_recording(oop obj) {
18341834
return _seen_objects_table->get(obj) != nullptr;
@@ -1851,10 +1851,10 @@ void HeapShared::start_recording_subgraph(InstanceKlass *k, const char* class_na
18511851
}
18521852

18531853
void HeapShared::done_recording_subgraph(InstanceKlass *k, const char* class_name) {
1854-
int num_new_recorded_klasses = get_subgraph_info(k)->num_subgraph_object_klasses() -
1854+
size_t num_new_recorded_klasses = get_subgraph_info(k)->num_subgraph_object_klasses() -
18551855
_num_old_recorded_klasses;
18561856
log_info(aot, heap)("Done recording subgraph(s) for archived fields in %s: "
1857-
"walked %d objs, archived %d new objs, recorded %d classes",
1857+
"walked %zu objs, archived %zu new objs, recorded %zu classes",
18581858
class_name, _num_new_walked_objs, _num_new_archived_objs,
18591859
num_new_recorded_klasses);
18601860

@@ -2102,18 +2102,18 @@ void HeapShared::archive_object_subgraphs(ArchivableStaticFieldInfo fields[],
21022102
done_recording_subgraph(info->klass, klass_name);
21032103
}
21042104

2105-
log_info(aot, heap)("Archived subgraph records = %d",
2105+
log_info(aot, heap)("Archived subgraph records = %zu",
21062106
_num_total_subgraph_recordings);
2107-
log_info(aot, heap)(" Walked %d objects", _num_total_walked_objs);
2108-
log_info(aot, heap)(" Archived %d objects", _num_total_archived_objs);
2109-
log_info(aot, heap)(" Recorded %d klasses", _num_total_recorded_klasses);
2107+
log_info(aot, heap)(" Walked %zu objects", _num_total_walked_objs);
2108+
log_info(aot, heap)(" Archived %zu objects", _num_total_archived_objs);
2109+
log_info(aot, heap)(" Recorded %zu klasses", _num_total_recorded_klasses);
21102110

21112111
#ifndef PRODUCT
21122112
for (int i = 0; fields[i].valid(); i++) {
21132113
ArchivableStaticFieldInfo* f = &fields[i];
21142114
verify_subgraph_from_static_field(f->klass, f->offset);
21152115
}
2116-
log_info(aot, heap)(" Verified %d references", _num_total_verifications);
2116+
log_info(aot, heap)(" Verified %zu references", _num_total_verifications);
21172117
#endif
21182118
}
21192119

@@ -2165,8 +2165,8 @@ void HeapShared::debug_trace() {
21652165
class FindEmbeddedNonNullPointers: public BasicOopIterateClosure {
21662166
void* _start;
21672167
BitMap *_oopmap;
2168-
int _num_total_oops;
2169-
int _num_null_oops;
2168+
size_t _num_total_oops;
2169+
size_t _num_null_oops;
21702170
public:
21712171
FindEmbeddedNonNullPointers(void* start, BitMap* oopmap)
21722172
: _start(start), _oopmap(oopmap), _num_total_oops(0), _num_null_oops(0) {}
@@ -2192,8 +2192,8 @@ class FindEmbeddedNonNullPointers: public BasicOopIterateClosure {
21922192
_num_null_oops ++;
21932193
}
21942194
}
2195-
int num_total_oops() const { return _num_total_oops; }
2196-
int num_null_oops() const { return _num_null_oops; }
2195+
size_t num_total_oops() const { return _num_total_oops; }
2196+
size_t num_null_oops() const { return _num_null_oops; }
21972197
};
21982198
#endif
21992199

src/hotspot/share/cds/heapShared.hpp

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -217,10 +217,7 @@ class HeapShared: AllStatic {
217217
137, // prime number
218218
AnyObj::C_HEAP,
219219
mtClassShared,
220-
DumpTimeSharedClassTable_hash> {
221-
public:
222-
int _count;
223-
};
220+
DumpTimeSharedClassTable_hash> {};
224221

225222
public: // solaris compiler wants this for RunTimeKlassSubGraphInfoTable
226223
inline static bool record_equals_compact_hashtable_entry(
@@ -301,16 +298,16 @@ class HeapShared: AllStatic {
301298
}
302299

303300
// Statistics (for one round of start_recording_subgraph ... done_recording_subgraph)
304-
static int _num_new_walked_objs;
305-
static int _num_new_archived_objs;
306-
static int _num_old_recorded_klasses;
301+
static size_t _num_new_walked_objs;
302+
static size_t _num_new_archived_objs;
303+
static size_t _num_old_recorded_klasses;
307304

308305
// Statistics (for all archived subgraphs)
309-
static int _num_total_subgraph_recordings;
310-
static int _num_total_walked_objs;
311-
static int _num_total_archived_objs;
312-
static int _num_total_recorded_klasses;
313-
static int _num_total_verifications;
306+
static size_t _num_total_subgraph_recordings;
307+
static size_t _num_total_walked_objs;
308+
static size_t _num_total_archived_objs;
309+
static size_t _num_total_recorded_klasses;
310+
static size_t _num_total_verifications;
314311

315312
static void start_recording_subgraph(InstanceKlass *k, const char* klass_name,
316313
bool is_full_module_graph);

0 commit comments

Comments
 (0)