changeset 1709:ffde78306a6a

2009-02-27 Gary Benson <gbenson@redhat.com> * ports/hotspot/src/share/vm/shark/sharkBlock.cpp (SharkBlock::maybe_inline_accessor): Remove a hack
author Gary Benson <gbenson@redhat.com>
date Fri, 27 Feb 2009 14:55:51 +0000
parents 9f1c16638724
children 073c27894e5d
files ChangeLog ports/hotspot/src/share/vm/shark/sharkBlock.cpp
diffstat 2 files changed, 11 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri Feb 27 14:52:57 2009 +0000
+++ b/ChangeLog	Fri Feb 27 14:55:51 2009 +0000
@@ -1,3 +1,8 @@
+2009-02-27  Gary Benson  <gbenson@redhat.com>
+
+	* ports/hotspot/src/share/vm/shark/sharkBlock.cpp
+	(SharkBlock::maybe_inline_accessor): Remove a hack
+
 2009-02-27  Gary Benson  <gbenson@redhat.com>
 
 	* ports/hotspot/src/share/vm/shark/sharkState.cpp
--- a/ports/hotspot/src/share/vm/shark/sharkBlock.cpp	Fri Feb 27 14:52:57 2009 +0000
+++ b/ports/hotspot/src/share/vm/shark/sharkBlock.cpp	Fri Feb 27 14:55:51 2009 +0000
@@ -2197,12 +2197,12 @@
   // entering the inlined section.  For the majority of accessors
   // this has already been done (in do_call) but if the accessor
   // was invoked by invokestatic (eg synthetic accessors) then it
-  // won't have been checked and do_field_access will try to do
-  // it and fail.  So we check here, which is moderately wrong in
-  // that the NullPointerException will have been thrown by the
-  // caller rather than the callee.
-  if (is_field)
-    check_null(xstack(0));
+  // may not have been checked and do_field_access will try to do
+  // it and fail.
+  if (is_field) {
+    if (!xstack(0)->zero_checked())
+      return false;
+  }
   
   current_state()->enter_inlined_section();
   do_field_access(is_get, is_field, field);