-
Bug
-
Resolution: Fixed
-
P4
-
6
-
b76
-
generic
-
generic
-
Verified
The line marked below isn't 64-bit clean:
void GenMarkSweep::allocate_stacks() {
GenCollectedHeap* gch = GenCollectedHeap::heap();
// Scratch request on behalf of oldest generation; will do no
// allocation.
ScratchBlock* scratch = gch->gather_scratch(gch->_gens[gch->_n_gens-1], 0);
// $$$ To cut a corner, we'll only use the first scratch block, and then
// revert to malloc.
if (scratch != NULL) {
_preserved_count_max =
-----> scratch->num_words * sizeof(juint) / sizeof(PreservedMark);
} else {
_preserved_count_max = 0;
}
void GenMarkSweep::allocate_stacks() {
GenCollectedHeap* gch = GenCollectedHeap::heap();
// Scratch request on behalf of oldest generation; will do no
// allocation.
ScratchBlock* scratch = gch->gather_scratch(gch->_gens[gch->_n_gens-1], 0);
// $$$ To cut a corner, we'll only use the first scratch block, and then
// revert to malloc.
if (scratch != NULL) {
_preserved_count_max =
-----> scratch->num_words * sizeof(juint) / sizeof(PreservedMark);
} else {
_preserved_count_max = 0;
}