changeset 2028:221817e944c5

PR icedtea/459: shark do nothing on stub frame 2010-04-12 Xerxes R?nby <xerxes@zafena.se> PR icedtea/459: * Makefile.am: (ICEDTEA_PATCHES): Apply patches/zero/shark_do_nothing_on_stub_frame.patch. * ports/hotspot/src/cpu/zero/vm/frame_zero.cpp (frame::is_fake_stub_frame): New method. * ports/hotspot/src/cpu/zero/vm/frame_zero.hpp (frame::is_fake_stub_frame): Likewise. * patches/zero/shark_do_nothing_on_stub_frame.patch: New.
author Xerxes R?nby <xerxes@zafena.se>
date Mon, 12 Apr 2010 15:06:09 +0200
parents 86669f47e779
children 4e82b3353fad e525579f0bf2
files ChangeLog Makefile.am patches/zero/shark_do_nothing_on_stub_frame.patch ports/hotspot/src/cpu/zero/vm/frame_zero.cpp ports/hotspot/src/cpu/zero/vm/frame_zero.hpp
diffstat 5 files changed, 34 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon Apr 12 13:29:35 2010 +0100
+++ b/ChangeLog	Mon Apr 12 15:06:09 2010 +0200
@@ -1,3 +1,14 @@
+2010-04-12  Xerxes RĂ„nby  <xerxes@zafena.se>
+
+	PR icedtea/459:
+	* Makefile.am: (ICEDTEA_PATCHES):
+	Apply patches/zero/shark_do_nothing_on_stub_frame.patch.
+	* ports/hotspot/src/cpu/zero/vm/frame_zero.cpp
+	(frame::is_fake_stub_frame): New method.
+	* ports/hotspot/src/cpu/zero/vm/frame_zero.hpp
+	(frame::is_fake_stub_frame): Likewise.
+	* patches/zero/shark_do_nothing_on_stub_frame.patch: New.
+
 2010-04-12  Andrew John Hughes  <ahughes@redhat.com>
 
 	* Makefile.am:
--- a/Makefile.am	Mon Apr 12 13:29:35 2010 +0100
+++ b/Makefile.am	Mon Apr 12 15:06:09 2010 +0200
@@ -232,6 +232,7 @@
 	patches/zero/6913869.patch \
 	patches/zero/6914622.patch \
 	patches/zero/6939845.patch \
+	patches/zero/shark_do_nothing_on_stub_frame.patch \
 	patches/icedtea-notice-safepoints.patch \
 	patches/icedtea-parisc-opt.patch \
 	patches/icedtea-lucene-crash.patch \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/zero/shark_do_nothing_on_stub_frame.patch	Mon Apr 12 15:06:09 2010 +0200
@@ -0,0 +1,15 @@
+Index: hotspot/src/share/vm/runtime/frame.cpp
+===================================================================
+--- openjdk/hotspot.orig/src/share/vm/runtime/frame.cpp	2010-02-17 04:11:10.000000000 +0100
++++ openjdk/hotspot/src/share/vm/runtime/frame.cpp	2010-03-25 10:06:18.334380336 +0100
+@@ -1205,6 +1205,10 @@
+          if (is_interpreted_frame())    { oops_interpreted_do(f, map, use_interpreter_oop_map_cache);
+   } else if (is_entry_frame())          { oops_entry_do      (f, map);
+   } else if (CodeCache::contains(pc())) { oops_code_blob_do  (f, map);
++#ifdef SHARK
++  } else if (is_fake_stub_frame()) {
++    // nothing to do
++#endif // SHARK
+   } else {
+     ShouldNotReachHere();
+   }
--- a/ports/hotspot/src/cpu/zero/vm/frame_zero.cpp	Mon Apr 12 13:29:35 2010 +0100
+++ b/ports/hotspot/src/cpu/zero/vm/frame_zero.cpp	Mon Apr 12 15:06:09 2010 +0200
@@ -36,6 +36,10 @@
   return zeroframe()->is_interpreter_frame();
 }
 
+bool frame::is_fake_stub_frame() const {
+  return zeroframe()->is_fake_stub_frame();
+}
+
 frame frame::sender_for_entry_frame(RegisterMap *map) const {
   assert(zeroframe()->is_entry_frame(), "wrong type of frame");
   assert(map != NULL, "map must be set");
--- a/ports/hotspot/src/cpu/zero/vm/frame_zero.hpp	Mon Apr 12 13:29:35 2010 +0100
+++ b/ports/hotspot/src/cpu/zero/vm/frame_zero.hpp	Mon Apr 12 15:06:09 2010 +0200
@@ -65,6 +65,9 @@
   }
 
  public:
+  bool is_fake_stub_frame() const;
+
+ public:
   frame sender_for_nonentry_frame(RegisterMap* map) const;
 
  public: