changeset 1695:9e4c300c4670

2009-02-27 Gary Benson <gbenson@redhat.com> * ports/hotspot/src/share/vm/shark/sharkBlock.cpp (SharkBlock::maybe_inline_call): Inline empty methods. (transplanted from fd98e848b25c6ab0b9767fbc5a49cab31551d7d6)
author Gary Benson <gbenson@redhat.com>
date Fri, 27 Feb 2009 04:08:04 -0500
parents 9ac931861338
children 414319d21b40
files ChangeLog ports/hotspot/src/share/vm/shark/sharkBlock.cpp
diffstat 2 files changed, 14 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Tue Mar 03 21:55:11 2009 +0000
+++ b/ChangeLog	Fri Feb 27 04:08:04 2009 -0500
@@ -69,6 +69,11 @@
 	* patches/hotspot/original/icedtea-includedb.patch,
 	* patches/icedtea-libraries.patch: Recreated.
 
+2009-02-27  Gary Benson  <gbenson@redhat.com>
+
+	* ports/hotspot/src/share/vm/shark/sharkBlock.cpp
+	(SharkBlock::maybe_inline_call): Inline empty methods.
+
 2009-02-26  Deepak Bhole <dbhole@redhat.com>
 
 	* IcedTeaPlugin.cc: Decode url via nsINetUtil::UnescapeString()
--- a/ports/hotspot/src/share/vm/shark/sharkBlock.cpp	Tue Mar 03 21:55:11 2009 +0000
+++ b/ports/hotspot/src/share/vm/shark/sharkBlock.cpp	Fri Feb 27 04:08:04 2009 -0500
@@ -2082,6 +2082,15 @@
       method->has_monitor_bytecodes())
     return false;
 
+  // Inlining empty methods is trivial
+  if (method->is_empty_method()) {
+    int desired_stack_depth = xstack_depth() - method->arg_size();
+    while (xstack_depth() > desired_stack_depth)
+      pop();
+
+    return true;
+  } 
+  
   // We need to scan the bytecode to do any more, so we bail out
   // now if the method is too big
   if (method->code_size() > 5)