<div dir="ltr"><div class="gmail_default" style><div class="gmail_default" style>Thanks, guys.  New patch:</div><div class="gmail_default"><br></div><div class="gmail_default"><br></div><div class="gmail_default"># HG changeset patch</div>

<div class="gmail_default"># User jeremymanson</div><div class="gmail_default"># Date 1358538471 28800</div><div class="gmail_default"># Node ID 8772cd78f8090d8f6a8e87709894b834b02b9a0c</div><div class="gmail_default"># Parent  1a3e54283c54aaa8b3437813e8507fbdc966e5b6</div>

<div class="gmail_default">8006508 : Wrong frame constructor is called in os_linux_x86.cpp</div><div class="gmail_default"><br></div><div class="gmail_default">diff --git a/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp b/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp</div>

<div class="gmail_default">--- a/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp</div><div class="gmail_default">+++ b/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp</div><div class="gmail_default">@@ -372,7 +372,7 @@</div><div class="gmail_default">

                 CAST_FROM_FN_PTR(address, os::current_frame));</div><div class="gmail_default">   if (os::is_first_C_frame(&amp;myframe)) {</div><div class="gmail_default">     // stack is not walkable</div><div class="gmail_default">

-    return frame(NULL, NULL, NULL);</div><div class="gmail_default">+    return frame();</div><div class="gmail_default">   } else {</div><div class="gmail_default">     return os::get_sender_for_C_frame(&amp;myframe);</div>

<div class="gmail_default">   }</div><div class="gmail_default">diff --git a/src/os_cpu/linux_x86/vm/os_linux_x86.cpp b/src/os_cpu/linux_x86/vm/os_linux_x86.cpp</div><div class="gmail_default">--- a/src/os_cpu/linux_x86/vm/os_linux_x86.cpp</div>

<div class="gmail_default">+++ b/src/os_cpu/linux_x86/vm/os_linux_x86.cpp</div><div class="gmail_default">@@ -189,7 +189,7 @@</div><div class="gmail_default">                 CAST_FROM_FN_PTR(address, os::current_frame));</div>

<div class="gmail_default">   if (os::is_first_C_frame(&amp;myframe)) {</div><div class="gmail_default">     // stack is not walkable</div><div class="gmail_default">-    return frame(NULL, NULL, NULL);</div><div class="gmail_default">

+    return frame();</div><div class="gmail_default">   } else {</div><div class="gmail_default">     return os::get_sender_for_C_frame(&amp;myframe);</div><div class="gmail_default">   }</div><div class="gmail_default">
diff --git a/src/os_cpu/windows_x86/vm/os_windows_x86.cpp b/src/os_cpu/windows_x86/vm/os_windows_x86.cpp</div>
<div class="gmail_default">--- a/src/os_cpu/windows_x86/vm/os_windows_x86.cpp</div><div class="gmail_default">+++ b/src/os_cpu/windows_x86/vm/os_windows_x86.cpp</div><div class="gmail_default">@@ -399,7 +399,7 @@</div><div class="gmail_default">

   typedef intptr_t*      get_fp_func           ();</div><div class="gmail_default">   get_fp_func* func = CAST_TO_FN_PTR(get_fp_func*,</div><div class="gmail_default">                                      StubRoutines::x86::get_previous_fp_entry());</div>

<div class="gmail_default">-  if (func == NULL) return frame(NULL, NULL, NULL);</div><div class="gmail_default">+  if (func == NULL) return frame();</div><div class="gmail_default">   intptr_t* fp = (*func)();</div><div class="gmail_default">

 #else</div><div class="gmail_default">   intptr_t* fp = _get_previous_fp();</div><div class="gmail_default">@@ -410,7 +410,7 @@</div><div class="gmail_default">                 CAST_FROM_FN_PTR(address, os::current_frame));</div>

<div class="gmail_default">   if (os::is_first_C_frame(&amp;myframe)) {</div><div class="gmail_default">     // stack is not walkable</div><div class="gmail_default">-    return frame(NULL, NULL, NULL);</div><div class="gmail_default">

+    return frame();</div><div class="gmail_default">   } else {</div><div class="gmail_default">     return os::get_sender_for_C_frame(&amp;myframe);</div><div class="gmail_default">   }</div><div><br></div></div><div dir="ltr">

<div class="gmail_extra"><br></div></div></div>