comparison src/cpu/sparc/vm/vm_version_sparc.hpp @ 7301:f79d8e8caecb

8076968: PICL based initialization of L2 cache line size on some SPARC systems is incorrect Summary: Chcek both l2-dcache-line-size and l2-cache-line-size properties to determine the size of the line Reviewed-by: kvn
author iveresov
date Fri, 10 Apr 2015 15:27:05 -0700
parents d635fd1ac81c
children d2dd79a4fd69
comparison
equal deleted inserted replaced
21:c37731e7f91a 22:03ed89f39a84
94 }; 94 };
95 95
96 static int _features; 96 static int _features;
97 static const char* _features_str; 97 static const char* _features_str;
98 98
99 static unsigned int _L2_cache_line_size; 99 static unsigned int _L2_data_cache_line_size;
100 static unsigned int L2_cache_line_size() { return _L2_cache_line_size; } 100 static unsigned int L2_data_cache_line_size() { return _L2_data_cache_line_size; }
101 101
102 static void print_features(); 102 static void print_features();
103 static int determine_features(); 103 static int determine_features();
104 static int platform_features(int features); 104 static int platform_features(int features);
105 105
169 static bool has_block_zeroing() { return has_blk_init() && is_T4(); } 169 static bool has_block_zeroing() { return has_blk_init() && is_T4(); }
170 170
171 static const char* cpu_features() { return _features_str; } 171 static const char* cpu_features() { return _features_str; }
172 172
173 // default prefetch block size on sparc 173 // default prefetch block size on sparc
174 static intx prefetch_data_size() { return L2_cache_line_size(); } 174 static intx prefetch_data_size() { return L2_data_cache_line_size(); }
175 175
176 // Prefetch 176 // Prefetch
177 static intx prefetch_copy_interval_in_bytes() { 177 static intx prefetch_copy_interval_in_bytes() {
178 intx interval = PrefetchCopyIntervalInBytes; 178 intx interval = PrefetchCopyIntervalInBytes;
179 return interval >= 0 ? interval : (has_v9() ? 512 : 0); 179 return interval >= 0 ? interval : (has_v9() ? 512 : 0);