1.1 --- a/src/cpu/sparc/vm/vm_version_sparc.hpp Thu Jan 23 09:33:50 2014 +0000 1.2 +++ b/src/cpu/sparc/vm/vm_version_sparc.hpp Tue Feb 11 08:49:37 2014 -0800 1.3 @@ -49,7 +49,8 @@ 1.4 M_family = 15, 1.5 T_family = 16, 1.6 T1_model = 17, 1.7 - aes_instructions = 18 1.8 + sparc5_instructions = 18, 1.9 + aes_instructions = 19 1.10 }; 1.11 1.12 enum Feature_Flag_Set { 1.13 @@ -74,6 +75,7 @@ 1.14 M_family_m = 1 << M_family, 1.15 T_family_m = 1 << T_family, 1.16 T1_model_m = 1 << T1_model, 1.17 + sparc5_instructions_m = 1 << sparc5_instructions, 1.18 aes_instructions_m = 1 << aes_instructions, 1.19 1.20 generic_v8_m = v8_instructions_m | hardware_mul32_m | hardware_div32_m | hardware_fsmuld_m, 1.21 @@ -125,6 +127,7 @@ 1.22 static bool has_vis3() { return (_features & vis3_instructions_m) != 0; } 1.23 static bool has_blk_init() { return (_features & blk_init_instructions_m) != 0; } 1.24 static bool has_cbcond() { return (_features & cbcond_instructions_m) != 0; } 1.25 + static bool has_sparc5_instr() { return (_features & sparc5_instructions_m) != 0; } 1.26 static bool has_aes() { return (_features & aes_instructions_m) != 0; } 1.27 1.28 static bool supports_compare_and_exchange() 1.29 @@ -136,6 +139,7 @@ 1.30 1.31 static bool is_M_series() { return is_M_family(_features); } 1.32 static bool is_T4() { return is_T_family(_features) && has_cbcond(); } 1.33 + static bool is_T7() { return is_T_family(_features) && has_sparc5_instr(); } 1.34 1.35 // Fujitsu SPARC64 1.36 static bool is_sparc64() { return (_features & sparc64_family_m) != 0; } 1.37 @@ -155,7 +159,7 @@ 1.38 static const char* cpu_features() { return _features_str; } 1.39 1.40 static intx prefetch_data_size() { 1.41 - return is_T4() ? 32 : 64; // default prefetch block size on sparc 1.42 + return is_T4() && !is_T7() ? 32 : 64; // default prefetch block size on sparc 1.43 } 1.44 1.45 // Prefetch