< prev index next >

src/hotspot/cpu/aarch64/vm_version_aarch64.cpp

Print this page




 112     __ ret(lr);
 113 
 114 #   undef __
 115 
 116     return start;
 117   }
 118 };
 119 
 120 
 121 void VM_Version::get_processor_features() {
 122   _supports_cx8 = true;
 123   _supports_atomic_getset4 = true;
 124   _supports_atomic_getadd4 = true;
 125   _supports_atomic_getset8 = true;
 126   _supports_atomic_getadd8 = true;
 127 
 128   getPsrInfo_stub(&_psr_info);
 129 
 130   int dcache_line = VM_Version::dcache_line_size();
 131 



 132   if (FLAG_IS_DEFAULT(AllocatePrefetchDistance))
 133     FLAG_SET_DEFAULT(AllocatePrefetchDistance, 3*dcache_line);
 134   if (FLAG_IS_DEFAULT(AllocatePrefetchStepSize))
 135     FLAG_SET_DEFAULT(AllocatePrefetchStepSize, dcache_line);
 136   if (FLAG_IS_DEFAULT(PrefetchScanIntervalInBytes))
 137     FLAG_SET_DEFAULT(PrefetchScanIntervalInBytes, 3*dcache_line);
 138   if (FLAG_IS_DEFAULT(PrefetchCopyIntervalInBytes))
 139     FLAG_SET_DEFAULT(PrefetchCopyIntervalInBytes, 3*dcache_line);
 140   if (FLAG_IS_DEFAULT(SoftwarePrefetchHintDistance))
 141     FLAG_SET_DEFAULT(SoftwarePrefetchHintDistance, 3*dcache_line);
 142 
 143   if (PrefetchCopyIntervalInBytes != -1 &&
 144        ((PrefetchCopyIntervalInBytes & 7) || (PrefetchCopyIntervalInBytes >= 32768))) {
 145     warning("PrefetchCopyIntervalInBytes must be -1, or a multiple of 8 and < 32768");
 146     PrefetchCopyIntervalInBytes &= ~7;
 147     if (PrefetchCopyIntervalInBytes >= 32768)
 148       PrefetchCopyIntervalInBytes = 32760;
 149   }
 150 
 151   if (AllocatePrefetchDistance !=-1 && (AllocatePrefetchDistance & 7)) {




 112     __ ret(lr);
 113 
 114 #   undef __
 115 
 116     return start;
 117   }
 118 };
 119 
 120 
 121 void VM_Version::get_processor_features() {
 122   _supports_cx8 = true;
 123   _supports_atomic_getset4 = true;
 124   _supports_atomic_getadd4 = true;
 125   _supports_atomic_getset8 = true;
 126   _supports_atomic_getadd8 = true;
 127 
 128   getPsrInfo_stub(&_psr_info);
 129 
 130   int dcache_line = VM_Version::dcache_line_size();
 131 
 132   // publish data cache line flush size via generic field
 133   _data_cache_line_flush_size = dcache_line;
 134 
 135   if (FLAG_IS_DEFAULT(AllocatePrefetchDistance))
 136     FLAG_SET_DEFAULT(AllocatePrefetchDistance, 3*dcache_line);
 137   if (FLAG_IS_DEFAULT(AllocatePrefetchStepSize))
 138     FLAG_SET_DEFAULT(AllocatePrefetchStepSize, dcache_line);
 139   if (FLAG_IS_DEFAULT(PrefetchScanIntervalInBytes))
 140     FLAG_SET_DEFAULT(PrefetchScanIntervalInBytes, 3*dcache_line);
 141   if (FLAG_IS_DEFAULT(PrefetchCopyIntervalInBytes))
 142     FLAG_SET_DEFAULT(PrefetchCopyIntervalInBytes, 3*dcache_line);
 143   if (FLAG_IS_DEFAULT(SoftwarePrefetchHintDistance))
 144     FLAG_SET_DEFAULT(SoftwarePrefetchHintDistance, 3*dcache_line);
 145 
 146   if (PrefetchCopyIntervalInBytes != -1 &&
 147        ((PrefetchCopyIntervalInBytes & 7) || (PrefetchCopyIntervalInBytes >= 32768))) {
 148     warning("PrefetchCopyIntervalInBytes must be -1, or a multiple of 8 and < 32768");
 149     PrefetchCopyIntervalInBytes &= ~7;
 150     if (PrefetchCopyIntervalInBytes >= 32768)
 151       PrefetchCopyIntervalInBytes = 32760;
 152   }
 153 
 154   if (AllocatePrefetchDistance !=-1 && (AllocatePrefetchDistance & 7)) {


< prev index next >