changeset 1697:62b9b14aff25

2009-02-27 Gary Benson <gbenson@redhat.com> * ports/hotspot/src/share/vm/shark/sharkBlock.cpp (SharkBlock::maybe_inline_accessor): Remove a hack (transplanted from ffde78306a6aab3598ed00176b30b5af1b2be25d)
author Gary Benson <gbenson@redhat.com>
date Fri, 27 Feb 2009 14:55:51 +0000
parents 414319d21b40
children 8dec00360b24
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
@@ -71,6 +71,11 @@
 
 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
 	(SharkEntryState::initialize): Mark the receiver as
 	zero-checked for non-static methods.
--- 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);