changeset 1582:20de96630f3a

2009-06-05 Gary Benson <gbenson@redhat.com> * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp (SharkTopLevelBlock::acquire_method_lock): Removed constant pool lookup.
author Gary Benson <gbenson@redhat.com>
date Fri, 05 Jun 2009 12:12:00 +0100
parents 4dbf479c5609
children 26ddf03b22c3
files ChangeLog ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp
diffstat 2 files changed, 13 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri Jun 05 06:47:14 2009 -0400
+++ b/ChangeLog	Fri Jun 05 12:12:00 2009 +0100
@@ -1,3 +1,9 @@
+2009-06-05  Gary Benson  <gbenson@redhat.com>
+
+	* ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp
+	(SharkTopLevelBlock::acquire_method_lock): Removed constant
+	pool lookup.
+
 2009-06-05  Gary Benson  <gbenson@redhat.com>
 
 	* ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp
--- a/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp	Fri Jun 05 06:47:14 2009 -0400
+++ b/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp	Fri Jun 05 12:12:00 2009 +0100
@@ -1563,14 +1563,14 @@
 
 void SharkTopLevelBlock::acquire_method_lock()
 {
+  Value *lockee;
+  if (target()->is_static())
+    lockee = builder()->CreateInlineOop(target()->holder()->java_mirror());
+  else
+    lockee = local(0)->jobject_value();
+
   iter()->force_bci(start()); // for the decache in acquire_lock
-  if (target()->is_static()) {
-    SharkConstantPool constants(this);
-    acquire_lock(constants.java_mirror(), EX_CHECK_NO_CATCH);
-  }
-  else {
-    acquire_lock(local(0)->jobject_value(), EX_CHECK_NO_CATCH);
-  }
+  acquire_lock(lockee, EX_CHECK_NO_CATCH);
 }
 
 void SharkTopLevelBlock::do_monitorenter()