Mercurial > hg > truffle
comparison src/cpu/sparc/vm/vm_version_sparc.cpp @ 1367:9e321dcfa5b7
6940726: Use BIS instruction for allocation prefetch on Sparc
Summary: Use BIS instruction for allocation prefetch on Sparc
Reviewed-by: twisti
author | kvn |
---|---|
date | Wed, 07 Apr 2010 12:39:27 -0700 |
parents | 6476042f815c |
children | 3bfae429e2cf |
comparison
equal
deleted
inserted
replaced
1366:b9d85fcdf743 | 1367:9e321dcfa5b7 |
---|---|
84 // Single-issue, so entry and loop tops are | 84 // Single-issue, so entry and loop tops are |
85 // aligned on a single instruction boundary | 85 // aligned on a single instruction boundary |
86 if (FLAG_IS_DEFAULT(InteriorEntryAlignment)) { | 86 if (FLAG_IS_DEFAULT(InteriorEntryAlignment)) { |
87 FLAG_SET_DEFAULT(InteriorEntryAlignment, 4); | 87 FLAG_SET_DEFAULT(InteriorEntryAlignment, 4); |
88 } | 88 } |
89 if (is_niagara1_plus() && FLAG_IS_DEFAULT(AllocatePrefetchDistance)) { | 89 if (is_niagara1_plus()) { |
90 // Use smaller prefetch distance on N2 | 90 if (AllocatePrefetchStyle > 0 && FLAG_IS_DEFAULT(AllocatePrefetchStyle)) { |
91 FLAG_SET_DEFAULT(AllocatePrefetchDistance, 256); | 91 // Use BIS instruction for allocation prefetch. |
92 FLAG_SET_DEFAULT(AllocatePrefetchStyle, 3); | |
93 if (FLAG_IS_DEFAULT(AllocatePrefetchDistance)) { | |
94 // Use smaller prefetch distance on N2 with BIS | |
95 FLAG_SET_DEFAULT(AllocatePrefetchDistance, 64); | |
96 } | |
97 } | |
98 if (AllocatePrefetchStyle != 3 && FLAG_IS_DEFAULT(AllocatePrefetchDistance)) { | |
99 // Use different prefetch distance without BIS | |
100 FLAG_SET_DEFAULT(AllocatePrefetchDistance, 256); | |
101 } | |
92 } | 102 } |
93 #endif | 103 #endif |
94 if (FLAG_IS_DEFAULT(OptoLoopAlignment)) { | 104 if (FLAG_IS_DEFAULT(OptoLoopAlignment)) { |
95 FLAG_SET_DEFAULT(OptoLoopAlignment, 4); | 105 FLAG_SET_DEFAULT(OptoLoopAlignment, 4); |
96 } | 106 } |