changeset in /hg/icedtea6: 2009-06-04 Gary Benson <gbenson at red...

Gary Benson gbenson at redhat.com
Thu Jun 4 08:09:20 PDT 2009


changeset 2a14fec2301f in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=2a14fec2301f
description:
	2009-06-04  Gary Benson  <gbenson at redhat.com>

		* ports/hotspot/src/share/vm/shark/sharkBlock.hpp
		(SharkBlock::lookup_for_field_access): Removed.
		* ports/hotspot/src/share/vm/shark/sharkBlock.cpp
		(SharkBlock::do_field_access): Inline receiver for static fields.
		(SharkBlock::lookup_for_field_access): Removed.

		* ports/hotspot/src/share/vm/shark/sharkInliner.cpp
		(SharkInlinerHelper::do_field_access): Allow static fields.

		* ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp
		(SharkBlock::lookup_for_field_access): Removed.
		* ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp
		(SharkTopLevelBlock::scan_for_traps): Removed static field traps.
		(SharkBlock::lookup_for_field_access): Removed.

diffstat:

6 files changed, 22 insertions(+), 41 deletions(-)
ChangeLog                                               |   17 ++++++++++
ports/hotspot/src/share/vm/shark/sharkBlock.cpp         |    7 ----
ports/hotspot/src/share/vm/shark/sharkBlock.hpp         |    1 
ports/hotspot/src/share/vm/shark/sharkInliner.cpp       |    8 +---
ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp |   25 ---------------
ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp |    5 +--

diffs (134 lines):

diff -r 89bd8e0f38c5 -r 2a14fec2301f ChangeLog
--- a/ChangeLog	Thu Jun 04 09:48:19 2009 -0400
+++ b/ChangeLog	Thu Jun 04 11:07:53 2009 -0400
@@ -1,3 +1,20 @@ 2009-06-04  Gary Benson  <gbenson at redhat
+2009-06-04  Gary Benson  <gbenson at redhat.com>
+
+	* ports/hotspot/src/share/vm/shark/sharkBlock.hpp
+	(SharkBlock::lookup_for_field_access): Removed.
+	* ports/hotspot/src/share/vm/shark/sharkBlock.cpp
+	(SharkBlock::do_field_access): Inline receiver for static fields.
+	(SharkBlock::lookup_for_field_access): Removed.
+
+	* ports/hotspot/src/share/vm/shark/sharkInliner.cpp
+	(SharkInlinerHelper::do_field_access): Allow static fields.
+
+	* ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp
+	(SharkBlock::lookup_for_field_access): Removed.
+	* ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp
+	(SharkTopLevelBlock::scan_for_traps): Removed static field traps.
+	(SharkBlock::lookup_for_field_access): Removed.
+
 2009-06-04  Gary Benson  <gbenson at redhat.com>
 
 	* ports/hotspot/src/share/vm/shark/sharkConstant.hpp: New file.
diff -r 89bd8e0f38c5 -r 2a14fec2301f ports/hotspot/src/share/vm/shark/sharkBlock.cpp
--- a/ports/hotspot/src/share/vm/shark/sharkBlock.cpp	Thu Jun 04 09:48:19 2009 -0400
+++ b/ports/hotspot/src/share/vm/shark/sharkBlock.cpp	Thu Jun 04 11:07:53 2009 -0400
@@ -1002,7 +1002,7 @@ void SharkBlock::do_field_access(bool is
   }
   if (!is_get || value == NULL) {
     if (!is_field)
-      object = lookup_for_field_access();
+      object = builder()->CreateInlineOop(field->holder());
 
     BasicType   basic_type = field->type()->basic_type();
     const Type *stack_type = SharkType::to_stackType(basic_type);
@@ -1165,11 +1165,6 @@ void SharkBlock::do_trap(int trap_reques
   ShouldNotCallThis();
 }
 
-Value* SharkBlock::lookup_for_field_access()
-{
-  ShouldNotCallThis();
-}
-
 void SharkBlock::do_arraylength()
 {
   ShouldNotCallThis();
diff -r 89bd8e0f38c5 -r 2a14fec2301f ports/hotspot/src/share/vm/shark/sharkBlock.hpp
--- a/ports/hotspot/src/share/vm/shark/sharkBlock.hpp	Thu Jun 04 09:48:19 2009 -0400
+++ b/ports/hotspot/src/share/vm/shark/sharkBlock.hpp	Thu Jun 04 11:07:53 2009 -0400
@@ -202,7 +202,6 @@ class SharkBlock : public ResourceObj {
   // Helpers
  protected:
   virtual void do_zero_check(SharkValue* value);
-  virtual llvm::Value* lookup_for_field_access();
 
   // Leaf calls
  protected:
diff -r 89bd8e0f38c5 -r 2a14fec2301f ports/hotspot/src/share/vm/shark/sharkInliner.cpp
--- a/ports/hotspot/src/share/vm/shark/sharkInliner.cpp	Thu Jun 04 09:48:19 2009 -0400
+++ b/ports/hotspot/src/share/vm/shark/sharkInliner.cpp	Thu Jun 04 11:07:53 2009 -0400
@@ -760,12 +760,8 @@ bool SharkInlinerHelper::do_field_access
       }
     }
 
-    if (!result_pushed) {
-      if (!is_field)
-        return false;
-
-      push(false);
-    }
+    if (!result_pushed)
+      push(false);
 
     if (field->type()->is_two_word())
       push(false);
diff -r 89bd8e0f38c5 -r 2a14fec2301f ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp
--- a/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp	Thu Jun 04 09:48:19 2009 -0400
+++ b/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp	Thu Jun 04 11:07:53 2009 -0400
@@ -74,20 +74,6 @@ void SharkTopLevelBlock::scan_for_traps(
             Deoptimization::Action_none), bci());
         return;
       }
-
-      // If this is a getfield or putfield then there won't be a
-      // pool access and we're done
-      if (is_field)
-        break;
-
-      // There won't be a pool access if this is a constant getstatic
-      if (bc() == Bytecodes::_getstatic && field->is_constant()) {
-        if (SharkConstant::for_field(iter())->is_loaded())
-          break;
-      }
-
-      // Continue to the check
-      index = iter()->get_field_index();
       break;
 
     case Bytecodes::_invokevirtual:
@@ -608,17 +594,6 @@ void SharkTopLevelBlock::handle_return(B
   builder()->CreateRetVoid();
 }
 
-Value* SharkTopLevelBlock::lookup_for_field_access()
-{
-  SharkConstantPool constants(this);
-  Value *cache = constants.cache_entry_at(iter()->get_field_index());
-
-  return builder()->CreateValueOfStructEntry(
-   cache, ConstantPoolCacheEntry::f1_offset(),
-   SharkType::jobject_type(),
-   "object");
-}
-
 void SharkTopLevelBlock::do_arraylength()
 {
   SharkValue *array = pop();
diff -r 89bd8e0f38c5 -r 2a14fec2301f ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp
--- a/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp	Thu Jun 04 09:48:19 2009 -0400
+++ b/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp	Thu Jun 04 11:07:53 2009 -0400
@@ -220,9 +220,8 @@ class SharkTopLevelBlock : public SharkB
  public:
   void emit_IR();
 
-  // Helpers
- private:
-  llvm::Value* lookup_for_field_access();
+  // Branch helpers
+ private:
   void do_branch(int successor_index);
 
   // Zero checks



More information about the distro-pkg-dev mailing list