https://bz.apache.org/bugzilla/show_bug.cgi?id=68596

--- Comment #9 from John Engebretson <jeng...@amazon.com> ---
Responding to these sections of comment #6:

> The setPropertyResolved(boolean) method is not overwritten in subclasses. 
> This is a common situation that occurs everywhere, thus I wonder why this 
> specific JVM cannot optimize it. 

This particular method CAN be overridden on any of unbounded set of subclasses,
and in the case of our application, at least three are loaded at runtime.  The
HotSpot JVM is generally capable of looking at two classes and optimizing but
gives up at 3+, switching instead to the invokevirtual instruction.  I
understand Graal may be more powerful in this regard... but at some point
invokevirtual is used, since that is the purpose of its existence. 
Unfortunately Graal is not an immediate option for us.

> The only unusual is that the method is overloaded, having 
> "setPropertyResolved(boolean)" and "setPropertyResolved(Object base, Object 
> property)".

I expect any overridable method on this class would also be forced into
invokevirtual.  setResolved() stands out because the call frequency creates a
hotspot.

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to