<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix"><br>
      <br>
      Hi Mikael,<br>
      <br>
      Thanks for the review!<br>
      <br>
      On 1/18/13 8:09 AM, Mikael Vidstedt wrote:<br>
    </div>
    <blockquote
      cite="mid:684A859F-0A24-499D-8A0A-46048B0C8B0A@oracle.com"
      type="cite">
      <div><br>
      </div>
      <div>L<span class="Apple-style-span"
          style="-webkit-tap-highlight-color: rgba(26, 26, 26,
          0.296875); -webkit-composition-fill-color: rgba(175, 192, 227,
          0.230469); -webkit-composition-frame-color: rgba(77, 128, 180,
          0.230469); ">ooks good, assuming u_long is a 64-bit type.</span></div>
    </blockquote>
    <br>
    Good point. It seems like u_long is a 64 bit value on OSX, but
    that's not guaranteed since it is just "unsigned long". I changed
    mem_val to be julong, which should always be 64 bit. (The instance
    variable _physical_memory is also a julong.)<br>
    <br>
    So, now it is a two-word review request  :)<br>
    <br>
    diff --git a/src/os/bsd/vm/os_bsd.cpp b/src/os/bsd/vm/os_bsd.cpp<br>
    --- a/src/os/bsd/vm/os_bsd.cpp<br>
    +++ b/src/os/bsd/vm/os_bsd.cpp<br>
    @@ -243,7 +243,7 @@<br>
       int mib[2];<br>
       size_t len;<br>
       int cpu_val;<br>
    -  u_long mem_val;<br>
    +  julong mem_val;<br>
     <br>
       /* get processors count via hw.ncpus sysctl */<br>
       mib[0] = CTL_HW;<br>
    @@ -260,7 +260,7 @@<br>
        * instead of hw.physmem because we need size of allocatable
    memory<br>
        */<br>
       mib[0] = CTL_HW;<br>
    -  mib[1] = HW_USERMEM;<br>
    +  mib[1] = HW_MEMSIZE;<br>
       len = sizeof(mem_val);<br>
       if (sysctl(mib, 2, &amp;mem_val, &amp;len, NULL, 0) != -1)<br>
            _physical_memory = mem_val;<br>
    <br>
    <br>
    Thanks,<br>
    Bengt<br>
     <br>
    <br>
    <blockquote
      cite="mid:684A859F-0A24-499D-8A0A-46048B0C8B0A@oracle.com"
      type="cite">
      <div><br>
        /Mikael</div>
      <div><br>
        On 17 jan 2013, at 22:36, Bengt Rutisson &lt;<a
          moz-do-not-send="true" href="mailto:bengt.rutisson@oracle.com">bengt.rutisson@oracle.com</a>&gt;
        wrote:<br>
        <br>
      </div>
      <blockquote type="cite">
        <div>
          <meta http-equiv="content-type" content="text/html;
            charset=UTF-8">
          <br>
          <meta http-equiv="content-type" content="text/html;
            charset=UTF-8">
          Hi all,<br>
          <br>
          Could I have a couple of reviews for this small fix?<br>
          <br>
          <a moz-do-not-send="true" class="moz-txt-link-freetext"
            href="http://cr.openjdk.java.net/%7Ebrutisso/8006431/webrev.00/">http://cr.openjdk.java.net/~brutisso/8006431/webrev.00/</a><br>
          <br>
          On OSX we used HW_USERMEM value from
          <meta http-equiv="content-type" content="text/html;
            charset=UTF-8">
          sysctl() to get the available physical memory on the machine.
          This is a 32 bit value but we store it in a 64 bit variable.
          This means that we get kind of random and normally very large
          values for what we think the physical memory is.<br>
          <br>
          We actually don't want a 32 bit value since we want to handle
          machines with more than 2 or 4 GB of memory. Instead of
          HW_USERMEM we should be using HW_MEMSIZE which will give us a
          64 bit value.<br>
          <br>
          See:<br>
          <a moz-do-not-send="true" class="moz-txt-link-freetext"
href="https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man3/sysctl.3.html">https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man3/sysctl.3.html</a><br>
          <br>
          Thanks Staffan Larsen for both detecting the problem and
          providing a solution.<br>
          <br>
          This is a one-word-change. So, to save you a mouse click on
          the webrev link above, here is the diff:<br>
          <br>
          --- a/src/os/bsd/vm/os_bsd.cpp<br>
          +++ b/src/os/bsd/vm/os_bsd.cpp<br>
          @@ -260,7 +260,7 @@<br>
              * instead of hw.physmem because we need size of
          allocatable memory<br>
              */<br>
             mib[0] = CTL_HW;<br>
          -  mib[1] = HW_USERMEM;<br>
          +  mib[1] = HW_MEMSIZE;<br>
             len = sizeof(mem_val);<br>
             if (sysctl(mib, 2, &amp;mem_val, &amp;len, NULL, 0) != -1)<br>
                  _physical_memory = mem_val;<br>
          <br>
          Thanks,<br>
          Bengt<br>
        </div>
      </blockquote>
    </blockquote>
    <br>
  </body>
</html>