<html><head></head><body bgcolor="#FFFFFF"><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><div><br>/Mikael</div><div><br>On 17 jan 2013, at 22:36, Bengt Rutisson &lt;<a href="mailto:bengt.rutisson@oracle.com">bengt.rutisson@oracle.com</a>&gt; wrote:<br><br></div><div></div><blockquote type="cite"><div>
  

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  
  
    <br>
    <meta http-equiv="content-type" content="text/html;
      charset=ISO-8859-1">
    Hi all,<br>
    <br>
    Could I have a couple of reviews for this small fix?<br>
    <br>
    <a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~brutisso/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=ISO-8859-1">
    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 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>
    &nbsp;&nbsp;&nbsp; * instead of hw.physmem because we need size of allocatable
    memory<br>
    &nbsp;&nbsp;&nbsp; */<br>
    &nbsp;&nbsp; mib[0] = CTL_HW;<br>
    -&nbsp; mib[1] = HW_USERMEM;<br>
    +&nbsp; mib[1] = HW_MEMSIZE;<br>
    &nbsp;&nbsp; len = sizeof(mem_val);<br>
    &nbsp;&nbsp; if (sysctl(mib, 2, &amp;mem_val, &amp;len, NULL, 0) != -1)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _physical_memory = mem_val;<br>
    <br>
    Thanks,<br>
    Bengt<br>
  

</div></blockquote></body></html>