Issue Details (XML | Word | Printable)

Key: RVM-602
Type: Improvement Improvement
Status: In Progress In Progress
Priority: Major Major
Assignee: David Grove
Reporter: Ian Rogers
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
RVM

OSR bytecodes cause the opt compiler bcIndex to be unintelligible

Created: 28/Jul/08 08:39 AM   Updated: 10/Oct/08 08:33 PM
Component/s: Compiler: Adaptive Optimization System, Compiler: Optimizing
Affects Version/s: None
Fix Version/s: 3.0.2

Time Tracking:
Not Specified


 Description  « Hide
If we a method that requires a special OSR prologue and epilogue for the opt compiler we turn the bytecodes into a single stream starting at index 0. In BC2IR we adjust the bytecode index of some instructions so that it corresponds to that of the original bytecode. There appear to be latent bugs in this - RVM-597 for example, I believe there is a similar problem for runtime exceptions such that null and bound check failures would get the wrong exception handler as the bcIndex appears in the code to be wrong by the bciAdjustment, however, the exception handler map has some adjustment to take this into account. The comments in the exception handler map and BC2IR indicate that this design is in the process of being rethought. This needs to be sorted out as these latent bugs are now surfacing.

 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
David Grove added a comment - 10/Sep/08 10:43 AM
I have some thoughts about how to re-engineer this whole thing to be less fragile. Being optimistic and going to move to 3.0.1 for now.

David Grove added a comment - 10/Oct/08 08:33 PM
Scope of change too large to finish in time for 3.01.