<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    CDS stores a non-relocatable permgen image, so in order to use it,
    the<br>
    jvm must be able to load it at the same address it occupied when it
    was<br>
    generated.  If I remember correctly, serial and CMS/Parnew/G1 put
    the<br>
    permgen above the old/young gens in the address space, while the<br>
    parallel collectors put it below the old/young gens.  There can be
    issues<br>
    with trying to map the permgen in the latter case, esp. on windows
    where<br>
    it's already a pain to find contiguous virtual address space for the
    heap<br>
    (dlls are loaded all over the place).  I believe CDS more-or-less
    works<br>
    with CMS/Parnew/G1, but no one's had time to get all the bugs out.<br>
    We'd welcome help. :)<br>
    <br>
    Paul<br>
    <br>
    On 4/14/11 5:14 AM, Krystal Mok wrote:
    <blockquote
      cite="mid:BANLkTimf_E2UNdHHew89JGbDYgRFKgSgzQ@mail.gmail.com"
      type="cite">Hi all,
      <div><br>
      </div>
      <div>I've had this doubt for quite a long time but was too shy to
        ask on this list. Anyway, here I go:</div>
      <div><br>
      </div>
      <div>According to the logic in
        hotspot/src/share/vm/runtime/arguments.cpp, CDS doesn't work
        with ParNew/CMS/PS/G1. That means only serial GCs works with
        CDS.</div>
      <div>I'd like to know, what are the conflicting points between CDS
        and these parallel/concurrent GCs? Are there any plans to
        resolve the conflicts, or are there any suggestions on how the
        conflicts would be resolved?</div>
      <meta http-equiv="content-type" content="text/html;
        charset=ISO-8859-1">
      <div><br>
      </div>
      <div>Sincerely,</div>
      <div>Kris Mok</div>
    </blockquote>
  </body>
</html>