src/cpu/sparc/vm/vm_version_sparc.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/cpu/sparc/vm/vm_version_sparc.hpp	Tue Aug 16 10:00:28 2011
--- new/src/cpu/sparc/vm/vm_version_sparc.hpp	Tue Aug 16 10:00:28 2011

*** 119,144 **** --- 119,149 ---- { return has_v9(); } // Returns true if the platform is in the niagara line (T series) // and newer than the niagara1. static bool is_niagara_plus() { return is_T_family(_features) && !is_T1_model(_features); } + static bool is_T4() { return is_T_family(_features) && has_cbcond(); } // Fujitsu SPARC64 static bool is_sparc64() { return (_features & sparc64_family_m) != 0; } static bool is_sun4v() { return (_features & sun4v_m) != 0; } static bool is_ultra3() { return (_features & ultra3_m) == ultra3_m && !is_sun4v() && !is_sparc64(); } static bool has_fast_fxtof() { return is_niagara() || is_sparc64() || has_v9() && !is_ultra3(); } static bool has_fast_idiv() { return is_niagara_plus() || is_sparc64(); } + // T4 and newer Sparc have fast RDPC instruction. ! static bool has_fast_rdpc() { return is_niagara_plus() && has_cbcond(); } ! static bool has_fast_rdpc() { return is_T4(); } + // T4 and newer Sparc have Most-Recently-Used (MRU) BIS. + static bool has_mru_blk_init() { return has_blk_init() && is_T4(); } + static const char* cpu_features() { return _features_str; } ! static intx L1_data_cache_line_size() { ! return 64; // default prefetch block size on sparc ! static intx prefetch_data_size() { ! return is_T4() ? 32 : 64; // default prefetch block size on sparc } // Prefetch static intx prefetch_copy_interval_in_bytes() { intx interval = PrefetchCopyIntervalInBytes;

src/cpu/sparc/vm/vm_version_sparc.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File