Failing typeflow responsibility assertions
John.Rose at Sun.COM
Fri May 16 11:23:22 PDT 2008
On May 16, 2008, at 1:42 AM, Gary Benson wrote:
> Do I have to do something to tell the CompileBroker not
> to feed me methods full of unloaded stuff? Oh, and I'm using -Xmixed.
The typeflow pass builds the basic block model and typestates
consumed by the parser. You can't build phis correctly without that
(An earlier version tried to parse, find blocks, and compute phi
types all on the fly, but it didn't work out, so ciTypeFlow was added
as a first pass.)
(The new typestate maps might change this a little, but we have to
compile w/o the maps anyway.)
The basic block model is pruned at unreached bytecodes which would
provoke class loading.
As a result, the parser can (mostly) ignore unloaded classes, which
removes lots of buggy edge cases.
Do you use ciTypeFlow in your JIT?
More information about the hotspot-compiler-dev