Mercurial > hg > release > icedtea-1.9
changeset 1717:a737ec21e449
2009-03-05 Gary Benson <gbenson@redhat.com>
* ports/hotspot/src/share/vm/shark/sharkInliner.cpp
(SharkInliner::may_be_inlinable): Bail out early on constructors.
author | Gary Benson <gbenson@redhat.com> |
---|---|
date | Thu, 05 Mar 2009 09:41:58 +0000 |
parents | b593d3ef9dce |
children | e6271aa33a0c c5a65faa56e2 |
files | ChangeLog ports/hotspot/src/share/vm/shark/sharkInliner.cpp |
diffstat | 2 files changed, 13 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Wed Mar 04 10:41:13 2009 -0500 +++ b/ChangeLog Thu Mar 05 09:41:58 2009 +0000 @@ -1,3 +1,8 @@ +2009-03-05 Gary Benson <gbenson@redhat.com> + + * ports/hotspot/src/share/vm/shark/sharkInliner.cpp + (SharkInliner::may_be_inlinable): Bail out early on constructors. + 2009-03-04 Gary Benson <gbenson@redhat.com> * ports/hotspot/src/share/vm/shark/sharkInliner.hpp: New file.
--- a/ports/hotspot/src/share/vm/shark/sharkInliner.cpp Wed Mar 04 10:41:13 2009 -0500 +++ b/ports/hotspot/src/share/vm/shark/sharkInliner.cpp Thu Mar 05 09:41:58 2009 +0000 @@ -226,7 +226,15 @@ if (target->has_exception_handlers() || target->has_jsrs()) return false; + // Don't try to inline constructors, as they must + // eventually call Object.<init> which we can't inline. + // Note that this catches <clinit> too, but why would + // we be compiling that? + if (target->is_initializer()) + return false; + // Mustn't inline Object.<init> + // Should be caught by the above, but just in case... if (target->intrinsic_id() == vmIntrinsics::_Object_init) return false;