50 AllocatePrefetchDistance = allocate_prefetch_distance(); 51 AllocatePrefetchStyle = allocate_prefetch_style(); 52 53 intx cache_line_size = prefetch_data_size(); 54 55 if (FLAG_IS_DEFAULT(AllocatePrefetchStepSize)) { 56 AllocatePrefetchStepSize = MAX2(AllocatePrefetchStepSize, cache_line_size); 57 } 58 59 if (AllocatePrefetchInstr == 1) { 60 if (!has_blk_init()) { 61 warning("BIS instructions required for AllocatePrefetchInstr 1 unavailable"); 62 FLAG_SET_DEFAULT(AllocatePrefetchInstr, 0); 63 } 64 if (cache_line_size <= 0) { 65 warning("Cache-line size must be known for AllocatePrefetchInstr 1 to work"); 66 FLAG_SET_DEFAULT(AllocatePrefetchInstr, 0); 67 } 68 } 69 70 UseSSE = false; // Only used on x86 and x64. 71 72 _supports_cx8 = true; // All SPARC V9 implementations. 73 _supports_atomic_getset4 = true; // Using the 'swap' instruction. 74 75 if (has_fast_ind_br() && FLAG_IS_DEFAULT(UseInlineCaches)) { 76 // Indirect and direct branches are cost equivalent. 77 FLAG_SET_DEFAULT(UseInlineCaches, false); 78 } 79 // Align loops on the proper instruction boundary to fill the instruction 80 // fetch buffer. 81 if (FLAG_IS_DEFAULT(OptoLoopAlignment)) { 82 FLAG_SET_DEFAULT(OptoLoopAlignment, VM_Version::insn_fetch_alignment); 83 } 84 85 // 32-bit oops don't make sense for the 64-bit VM on SPARC since the 32-bit 86 // VM has the same registers and smaller objects. 87 Universe::set_narrow_oop_shift(LogMinObjAlignmentInBytes); 88 Universe::set_narrow_klass_shift(LogKlassAlignmentInBytes); 89 90 #ifdef COMPILER2 91 if (has_fast_ind_br() && FLAG_IS_DEFAULT(UseJumpTables)) { | 50 AllocatePrefetchDistance = allocate_prefetch_distance(); 51 AllocatePrefetchStyle = allocate_prefetch_style(); 52 53 intx cache_line_size = prefetch_data_size(); 54 55 if (FLAG_IS_DEFAULT(AllocatePrefetchStepSize)) { 56 AllocatePrefetchStepSize = MAX2(AllocatePrefetchStepSize, cache_line_size); 57 } 58 59 if (AllocatePrefetchInstr == 1) { 60 if (!has_blk_init()) { 61 warning("BIS instructions required for AllocatePrefetchInstr 1 unavailable"); 62 FLAG_SET_DEFAULT(AllocatePrefetchInstr, 0); 63 } 64 if (cache_line_size <= 0) { 65 warning("Cache-line size must be known for AllocatePrefetchInstr 1 to work"); 66 FLAG_SET_DEFAULT(AllocatePrefetchInstr, 0); 67 } 68 } 69 70 _supports_cx8 = true; // All SPARC V9 implementations. 71 _supports_atomic_getset4 = true; // Using the 'swap' instruction. 72 73 if (has_fast_ind_br() && FLAG_IS_DEFAULT(UseInlineCaches)) { 74 // Indirect and direct branches are cost equivalent. 75 FLAG_SET_DEFAULT(UseInlineCaches, false); 76 } 77 // Align loops on the proper instruction boundary to fill the instruction 78 // fetch buffer. 79 if (FLAG_IS_DEFAULT(OptoLoopAlignment)) { 80 FLAG_SET_DEFAULT(OptoLoopAlignment, VM_Version::insn_fetch_alignment); 81 } 82 83 // 32-bit oops don't make sense for the 64-bit VM on SPARC since the 32-bit 84 // VM has the same registers and smaller objects. 85 Universe::set_narrow_oop_shift(LogMinObjAlignmentInBytes); 86 Universe::set_narrow_klass_shift(LogKlassAlignmentInBytes); 87 88 #ifdef COMPILER2 89 if (has_fast_ind_br() && FLAG_IS_DEFAULT(UseJumpTables)) { |