Mercurial > hg > graal-jvmci-8
comparison src/cpu/sparc/vm/vm_version_sparc.hpp @ 6269:8cb110fd7627
7188227: VM should recognize M-series SPARC
Summary: Check kstat data for SPARC-M.
Reviewed-by: roland
author | kvn |
---|---|
date | Wed, 01 Aug 2012 14:10:32 -0700 |
parents | baf763f388e6 |
children | 3a327d0b8586 |
comparison
equal
deleted
inserted
replaced
6268:6c5b7a6becc8 | 6269:8cb110fd7627 |
---|---|
42 sun4v_instructions = 8, | 42 sun4v_instructions = 8, |
43 blk_init_instructions = 9, | 43 blk_init_instructions = 9, |
44 fmaf_instructions = 10, | 44 fmaf_instructions = 10, |
45 fmau_instructions = 11, | 45 fmau_instructions = 11, |
46 vis3_instructions = 12, | 46 vis3_instructions = 12, |
47 sparc64_family = 13, | 47 cbcond_instructions = 13, |
48 T_family = 14, | 48 sparc64_family = 14, |
49 T1_model = 15, | 49 M_family = 15, |
50 cbcond_instructions = 16 | 50 T_family = 16, |
51 T1_model = 17 | |
51 }; | 52 }; |
52 | 53 |
53 enum Feature_Flag_Set { | 54 enum Feature_Flag_Set { |
54 unknown_m = 0, | 55 unknown_m = 0, |
55 all_features_m = -1, | 56 all_features_m = -1, |
65 sun4v_m = 1 << sun4v_instructions, | 66 sun4v_m = 1 << sun4v_instructions, |
66 blk_init_instructions_m = 1 << blk_init_instructions, | 67 blk_init_instructions_m = 1 << blk_init_instructions, |
67 fmaf_instructions_m = 1 << fmaf_instructions, | 68 fmaf_instructions_m = 1 << fmaf_instructions, |
68 fmau_instructions_m = 1 << fmau_instructions, | 69 fmau_instructions_m = 1 << fmau_instructions, |
69 vis3_instructions_m = 1 << vis3_instructions, | 70 vis3_instructions_m = 1 << vis3_instructions, |
71 cbcond_instructions_m = 1 << cbcond_instructions, | |
70 sparc64_family_m = 1 << sparc64_family, | 72 sparc64_family_m = 1 << sparc64_family, |
73 M_family_m = 1 << M_family, | |
71 T_family_m = 1 << T_family, | 74 T_family_m = 1 << T_family, |
72 T1_model_m = 1 << T1_model, | 75 T1_model_m = 1 << T1_model, |
73 cbcond_instructions_m = 1 << cbcond_instructions, | |
74 | 76 |
75 generic_v8_m = v8_instructions_m | hardware_mul32_m | hardware_div32_m | hardware_fsmuld_m, | 77 generic_v8_m = v8_instructions_m | hardware_mul32_m | hardware_div32_m | hardware_fsmuld_m, |
76 generic_v9_m = generic_v8_m | v9_instructions_m, | 78 generic_v9_m = generic_v8_m | v9_instructions_m, |
77 ultra3_m = generic_v9_m | vis1_instructions_m | vis2_instructions_m, | 79 ultra3_m = generic_v9_m | vis1_instructions_m | vis2_instructions_m, |
78 | 80 |
87 static void print_features(); | 89 static void print_features(); |
88 static int determine_features(); | 90 static int determine_features(); |
89 static int platform_features(int features); | 91 static int platform_features(int features); |
90 | 92 |
91 // Returns true if the platform is in the niagara line (T series) | 93 // Returns true if the platform is in the niagara line (T series) |
94 static bool is_M_family(int features) { return (features & M_family_m) != 0; } | |
92 static bool is_T_family(int features) { return (features & T_family_m) != 0; } | 95 static bool is_T_family(int features) { return (features & T_family_m) != 0; } |
93 static bool is_niagara() { return is_T_family(_features); } | 96 static bool is_niagara() { return is_T_family(_features); } |
94 DEBUG_ONLY( static bool is_niagara(int features) { return (features & sun4v_m) != 0; } ) | 97 DEBUG_ONLY( static bool is_niagara(int features) { return (features & sun4v_m) != 0; } ) |
95 | 98 |
96 // Returns true if it is niagara1 (T1). | 99 // Returns true if it is niagara1 (T1). |