Weirdness in TypeFlow

Andrew Haley aph at redhat.com
Tue Jan 13 01:17:23 PST 2009


Tom Rodriguez wrote:
> I believe this is because none of the bytecodes after the getstatic
> itself can actually throw an exception in compiled code, so there's no
> edge to the exception handler.  The monitorexit can't throw an NPE
> because we verified that the monitor operations are block structured
> before we compiled

Ahh, that's the part I didn't get.

> so it must be non-null and we must have entered it at
> least once.  Check out the can_trap logic in ciTypeFlow.  This controls
> whether a bytecode has an exceptional edge or not during the dataflow.

OK, so I simply call ciTypeFlow::can_trap.

Thanks!

Andrew.



More information about the hotspot-dev mailing list