Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Side by Side Diff: src/arm/assembler-arm.cc

Issue 1995483002: [arm][arm64] Remove COHERENT_CACHE support (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/arm64/assembler-arm64.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. 1 // Copyright (c) 1994-2006 Sun Microsystems Inc.
2 // All Rights Reserved. 2 // All Rights Reserved.
3 // 3 //
4 // Redistribution and use in source and binary forms, with or without 4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions 5 // modification, are permitted provided that the following conditions
6 // are met: 6 // are met:
7 // 7 //
8 // - Redistributions of source code must retain the above copyright notice, 8 // - Redistributions of source code must retain the above copyright notice,
9 // this list of conditions and the following disclaimer. 9 // this list of conditions and the following disclaimer.
10 // 10 //
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 } 134 }
135 135
136 // ARM Cortex-A9 and Cortex-A5 have 32 byte cachelines. 136 // ARM Cortex-A9 and Cortex-A5 have 32 byte cachelines.
137 if (cpu.implementer() == base::CPU::ARM && 137 if (cpu.implementer() == base::CPU::ARM &&
138 (cpu.part() == base::CPU::ARM_CORTEX_A5 || 138 (cpu.part() == base::CPU::ARM_CORTEX_A5 ||
139 cpu.part() == base::CPU::ARM_CORTEX_A9)) { 139 cpu.part() == base::CPU::ARM_CORTEX_A9)) {
140 dcache_line_size_ = 32; 140 dcache_line_size_ = 32;
141 } 141 }
142 142
143 if (FLAG_enable_32dregs && cpu.has_vfp3_d32()) supported_ |= 1u << VFP32DREGS; 143 if (FLAG_enable_32dregs && cpu.has_vfp3_d32()) supported_ |= 1u << VFP32DREGS;
144
145 if (cpu.implementer() == base::CPU::NVIDIA &&
146 cpu.variant() == base::CPU::NVIDIA_DENVER &&
147 cpu.part() <= base::CPU::NVIDIA_DENVER_V10) {
148 // TODO(jkummerow): This is turned off as an experiment to see if it
149 // affects crash rates. Keep an eye on crash reports and either remove
150 // coherent cache support permanently, or re-enable it!
151 // supported_ |= 1u << COHERENT_CACHE;
152 }
153 #endif 144 #endif
154 145
155 DCHECK(!IsSupported(VFP3) || IsSupported(ARMv7)); 146 DCHECK(!IsSupported(VFP3) || IsSupported(ARMv7));
156 } 147 }
157 148
158 149
159 void CpuFeatures::PrintTarget() { 150 void CpuFeatures::PrintTarget() {
160 const char* arm_arch = NULL; 151 const char* arm_arch = NULL;
161 const char* arm_target_type = ""; 152 const char* arm_target_type = "";
162 const char* arm_no_probe = ""; 153 const char* arm_no_probe = "";
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 #endif 196 #endif
206 197
207 printf("target%s%s %s%s%s %s\n", 198 printf("target%s%s %s%s%s %s\n",
208 arm_target_type, arm_no_probe, arm_arch, arm_fpu, arm_thumb, 199 arm_target_type, arm_no_probe, arm_arch, arm_fpu, arm_thumb,
209 arm_float_abi); 200 arm_float_abi);
210 } 201 }
211 202
212 203
213 void CpuFeatures::PrintFeatures() { 204 void CpuFeatures::PrintFeatures() {
214 printf( 205 printf(
215 "ARMv8=%d ARMv7=%d VFP3=%d VFP32DREGS=%d NEON=%d SUDIV=%d MLS=%d" 206 "ARMv8=%d ARMv7=%d VFP3=%d VFP32DREGS=%d NEON=%d SUDIV=%d MLS=%d"
216 "UNALIGNED_ACCESSES=%d MOVW_MOVT_IMMEDIATE_LOADS=%d COHERENT_CACHE=%d", 207 "UNALIGNED_ACCESSES=%d MOVW_MOVT_IMMEDIATE_LOADS=%d",
217 CpuFeatures::IsSupported(ARMv8), 208 CpuFeatures::IsSupported(ARMv8), CpuFeatures::IsSupported(ARMv7),
218 CpuFeatures::IsSupported(ARMv7), 209 CpuFeatures::IsSupported(VFP3), CpuFeatures::IsSupported(VFP32DREGS),
219 CpuFeatures::IsSupported(VFP3), 210 CpuFeatures::IsSupported(NEON), CpuFeatures::IsSupported(SUDIV),
220 CpuFeatures::IsSupported(VFP32DREGS), 211 CpuFeatures::IsSupported(MLS),
221 CpuFeatures::IsSupported(NEON), 212 CpuFeatures::IsSupported(UNALIGNED_ACCESSES),
222 CpuFeatures::IsSupported(SUDIV), 213 CpuFeatures::IsSupported(MOVW_MOVT_IMMEDIATE_LOADS));
223 CpuFeatures::IsSupported(MLS),
224 CpuFeatures::IsSupported(UNALIGNED_ACCESSES),
225 CpuFeatures::IsSupported(MOVW_MOVT_IMMEDIATE_LOADS),
226 CpuFeatures::IsSupported(COHERENT_CACHE));
227 #ifdef __arm__ 214 #ifdef __arm__
228 bool eabi_hardfloat = base::OS::ArmUsingHardFloat(); 215 bool eabi_hardfloat = base::OS::ArmUsingHardFloat();
229 #elif USE_EABI_HARDFLOAT 216 #elif USE_EABI_HARDFLOAT
230 bool eabi_hardfloat = true; 217 bool eabi_hardfloat = true;
231 #else 218 #else
232 bool eabi_hardfloat = false; 219 bool eabi_hardfloat = false;
233 #endif 220 #endif
234 printf(" USE_EABI_HARDFLOAT=%d\n", eabi_hardfloat); 221 printf(" USE_EABI_HARDFLOAT=%d\n", eabi_hardfloat);
235 } 222 }
236 223
(...skipping 4023 matching lines...) Expand 10 before | Expand all | Expand 10 after
4260 DCHECK(is_uint12(offset)); 4247 DCHECK(is_uint12(offset));
4261 instr_at_put(pc, SetLdrRegisterImmediateOffset(instr, offset)); 4248 instr_at_put(pc, SetLdrRegisterImmediateOffset(instr, offset));
4262 } 4249 }
4263 } 4250 }
4264 4251
4265 4252
4266 } // namespace internal 4253 } // namespace internal
4267 } // namespace v8 4254 } // namespace v8
4268 4255
4269 #endif // V8_TARGET_ARCH_ARM 4256 #endif // V8_TARGET_ARCH_ARM
OLDNEW
« no previous file with comments | « no previous file | src/arm64/assembler-arm64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698