Mercurial > hg > truffle
comparison src/cpu/sparc/vm/vm_version_sparc.hpp @ 3892:baf763f388e6
7059037: Use BIS for zeroing on T4
Summary: Use BIS for zeroing new allocated big (2Kb and more) objects and arrays.
Reviewed-by: never, twisti, ysr
author | kvn |
---|---|
date | Fri, 26 Aug 2011 08:52:22 -0700 |
parents | 1af104d6cf99 |
children | 8cb110fd7627 |
comparison
equal
deleted
inserted
replaced
3891:ac8738449b6f | 3892:baf763f388e6 |
---|---|
133 static bool has_fast_idiv() { return is_niagara_plus() || is_sparc64(); } | 133 static bool has_fast_idiv() { return is_niagara_plus() || is_sparc64(); } |
134 | 134 |
135 // T4 and newer Sparc have fast RDPC instruction. | 135 // T4 and newer Sparc have fast RDPC instruction. |
136 static bool has_fast_rdpc() { return is_T4(); } | 136 static bool has_fast_rdpc() { return is_T4(); } |
137 | 137 |
138 // T4 and newer Sparc have Most-Recently-Used (MRU) BIS. | 138 // On T4 and newer Sparc BIS to the beginning of cache line always zeros it. |
139 static bool has_mru_blk_init() { return has_blk_init() && is_T4(); } | 139 static bool has_block_zeroing() { return has_blk_init() && is_T4(); } |
140 | 140 |
141 static const char* cpu_features() { return _features_str; } | 141 static const char* cpu_features() { return _features_str; } |
142 | 142 |
143 static intx prefetch_data_size() { | 143 static intx prefetch_data_size() { |
144 return is_T4() ? 32 : 64; // default prefetch block size on sparc | 144 return is_T4() ? 32 : 64; // default prefetch block size on sparc |