Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6391274

minor 64-bit cleanliness problem in GenMarkSweep::allocate_stacks()

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 6
    • 6
    • hotspot
    • gc
    • 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;
          }

            jcoomes John Coomes (Inactive)
            jcoomes John Coomes (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: