- 
    Type:
Bug
 - 
    Resolution: Fixed
 - 
    Priority:
  P3                     
     - 
    Affects Version/s: repo-valhalla
 - 
    Component/s: hotspot
 
                    Originally reported by [~ecaspole].
In some benchmarks we hit an endless deopt/recompilation cycle because of this bailout in C2 when we compile a method with an unloaded return type:
https://github.com/openjdk/valhalla/blob/858be30119bd5bc37a69d16042523f53bea71a36/src/hotspot/share/ci/ciTypeFlow.cpp#L766-L772
It's a regression / limitation fromJDK-8301007 that I had planned to fix later with JDK-8284443 because I thought it wouldn't have an impact on performance. Turns out it does, so I'll fix it separately with this issue.
            
In some benchmarks we hit an endless deopt/recompilation cycle because of this bailout in C2 when we compile a method with an unloaded return type:
https://github.com/openjdk/valhalla/blob/858be30119bd5bc37a69d16042523f53bea71a36/src/hotspot/share/ci/ciTypeFlow.cpp#L766-L772
It's a regression / limitation from
- caused by
 - 
                    
JDK-8301007 [lworld] Handle mismatches of the preload attribute in the calling convention
-         
     - Resolved
 
 -         
 
- relates to
 - 
                    
JDK-8370484 [lworld] PhaseOutput::FillLocArray asserts with Unexpected type: anyptr
-         
     - Resolved
 
 -         
 
- links to
 - 
                    
        
        Commit(lworld)
        openjdk/valhalla/9014ec21
    
 - 
                    
        
        Review(lworld)
        openjdk/valhalla/1554