Mercurial > hg > release > icedtea-1.9
changeset 1718:e6271aa33a0c
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.
(transplanted from a737ec21e449424b3ffc8fe24896afcda34f36f3)
author | Gary Benson <gbenson@redhat.com> |
---|---|
date | Thu, 05 Mar 2009 09:41:58 +0000 |
parents | a28f5ad21234 (current diff) a737ec21e449 (diff) |
children | ab30fa9f3e55 |
files | ChangeLog |
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;