Prepared by: | never on Tue Jul 21 16:02:19 PDT 2009 |
---|---|
Workspace: | /net/smite.sfbay/export/ws/dom |
Compare against: | ssh://hg.openjdk.java.net/jdk7/hotspot-comp-gate/hotspot |
Summary of changes: | 170 lines changed: 170 ins; 0 del; 0 mod; 5085 unchg |
Patch of changes: | 6857159.patch |
Author comments: |
In the fix for 6385730 we changed LoadKlass and LoadRange to use the starting memory to indicate that they could be commoned across the whole compile since they are essentially loading from immutable memory. Unfortunately this can lead to incorrect anti dependence computations because the LoadKlass may have an input which is using a different memory. LoadRange and most LoadKlasses are protected from this problem because they are considered to use memory which is not rewritable and so the anti dep computation logic is skipped in it's entirety. When LoadKlass is used to read from the cache other parts of the klass it may not be considered !rewritable so we end up in the anti dep logic. The fix I'm proposing is to make these nodes are not requiring anti dep check at all. Tested with failing test case. Also ran CTW and runthese. |
Legend: |
Modified file Deleted file New file |
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/adlc/formssel.cpp
31 lines changed: 31 ins; 0 del; 0 mod; 4027 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/adlc/formssel.hpp
6 lines changed: 6 ins; 0 del; 0 mod; 1058 unchg
------ ------ ------
------
---
New
Patch
Raw
test/compiler/6857159/Test6857159.java
68 lines changed: 68 ins; 0 del; 0 mod; 0 unchg
------ ------ ------
------
---
New
Patch
Raw
test/compiler/6857159/Test6857159.sh
65 lines changed: 65 ins; 0 del; 0 mod; 0 unchg
This code review page was prepared using /net/smite.sfbay/never/bin/webrev (vers 23.18-hg-never).