| Prepared by: | Thomas Rodriguez (never) on Tue Mar 18 10:38:38 PDT 2008 |
|---|---|
| Workspace: | /net/smite.sfbay/export/ws/hs12 |
| Compare against: | /net/jano2.sfbay/export2/hotspot/hg/hotspot-comp.clean |
| Summary of changes: | 42 lines changed: 42 ins; 0 del; 0 mod; 2696 unchg |
| Patch of changes: | 6659207.patch |
| Author comments: |
6659207: access violation in CompilerThread0 Summary: split_thru_phi produces top on a non-dead path Reviewed-by: split_thru_phi attempts to push a ConvI2L with a constrained type up through a phi and ends up replacing the ConvI2L with top. This later causes the register allocator to crash because there's no valid value. The underlying problem is that we have ConvI2L that claims to produce a restricted range of values but there's no dependence on the ConvI2L showing how it's proven. This means that split_thru_phi can move it a location where it's not true. This is simply a band aid fix for the problem which disallows split_thru_phi on ConvI2Ls with a non-bottom type. There are other band aids in that code to deal with this issue and a more comprehensive fix for the problem will be done under 6675699. |
| Bug id: | 6659207: access violation in CompilerThread0 |
| Legend: |
Modified file Deleted file New file |
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/opto/loopopts.cpp
5 lines changed: 5 ins; 0 del; 0 mod; 2696 unchg
------ ------ ------
------
---
New
Patch
Raw
test/compiler/6659207/Test.java
37 lines changed: 37 ins; 0 del; 0 mod; 0 unchg
This code review page was prepared using /net/smite.sfbay/never/bin/hgwebrev (vers 23.12-hg-never).