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

Side by Side Diff: src/platform-linux.cc

Issue 13560007: Remove ARM support for soft float (pre-VFP2) (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: tweaks Created 7 years, 8 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 139
140 140
141 bool OS::ArmCpuHasFeature(CpuFeature feature) { 141 bool OS::ArmCpuHasFeature(CpuFeature feature) {
142 const char* search_string = NULL; 142 const char* search_string = NULL;
143 // Simple detection of VFP at runtime for Linux. 143 // Simple detection of VFP at runtime for Linux.
144 // It is based on /proc/cpuinfo, which reveals hardware configuration 144 // It is based on /proc/cpuinfo, which reveals hardware configuration
145 // to user-space applications. According to ARM (mid 2009), no similar 145 // to user-space applications. According to ARM (mid 2009), no similar
146 // facility is universally available on the ARM architectures, 146 // facility is universally available on the ARM architectures,
147 // so it's up to individual OSes to provide such. 147 // so it's up to individual OSes to provide such.
148 switch (feature) { 148 switch (feature) {
149 case VFP2:
150 search_string = "vfp";
151 break;
152 case VFP3: 149 case VFP3:
153 search_string = "vfpv3"; 150 search_string = "vfpv3";
154 break; 151 break;
155 case ARMv7: 152 case ARMv7:
156 search_string = "ARMv7"; 153 search_string = "ARMv7";
157 break; 154 break;
158 case SUDIV: 155 case SUDIV:
159 search_string = "idiva"; 156 search_string = "idiva";
160 break; 157 break;
161 case VFP32DREGS: 158 case VFP32DREGS:
(...skipping 1109 matching lines...) Expand 10 before | Expand all | Expand 10 after
1271 1268
1272 void OS::SetUp() { 1269 void OS::SetUp() {
1273 // Seed the random number generator. We preserve microsecond resolution. 1270 // Seed the random number generator. We preserve microsecond resolution.
1274 uint64_t seed = Ticks() ^ (getpid() << 16); 1271 uint64_t seed = Ticks() ^ (getpid() << 16);
1275 srandom(static_cast<unsigned int>(seed)); 1272 srandom(static_cast<unsigned int>(seed));
1276 limit_mutex = CreateMutex(); 1273 limit_mutex = CreateMutex();
1277 1274
1278 #ifdef __arm__ 1275 #ifdef __arm__
1279 // When running on ARM hardware check that the EABI used by V8 and 1276 // When running on ARM hardware check that the EABI used by V8 and
1280 // by the C code is the same. 1277 // by the C code is the same.
1278 ASSERT(FLAG_enable_vfp2); // As of 3.18, VFP2 is required for V8
1281 bool hard_float = OS::ArmUsingHardFloat(); 1279 bool hard_float = OS::ArmUsingHardFloat();
1282 if (hard_float) { 1280 if (hard_float) {
1283 #if !USE_EABI_HARDFLOAT 1281 #if !USE_EABI_HARDFLOAT
1284 PrintF("ERROR: Binary compiled with -mfloat-abi=hard but without " 1282 PrintF("ERROR: Binary compiled with -mfloat-abi=hard but without "
1285 "-DUSE_EABI_HARDFLOAT\n"); 1283 "-DUSE_EABI_HARDFLOAT\n");
1286 exit(1); 1284 exit(1);
1287 #endif 1285 #endif
1288 } else { 1286 } else {
1289 #if USE_EABI_HARDFLOAT 1287 #if USE_EABI_HARDFLOAT
1290 PrintF("ERROR: Binary not compiled with -mfloat-abi=hard but with " 1288 PrintF("ERROR: Binary not compiled with -mfloat-abi=hard but with "
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
1327 1325
1328 1326
1329 void Sampler::Stop() { 1327 void Sampler::Stop() {
1330 ASSERT(IsActive()); 1328 ASSERT(IsActive());
1331 SignalSender::RemoveActiveSampler(this); 1329 SignalSender::RemoveActiveSampler(this);
1332 SetActive(false); 1330 SetActive(false);
1333 } 1331 }
1334 1332
1335 1333
1336 } } // namespace v8::internal 1334 } } // namespace v8::internal
OLDNEW
« src/flag-definitions.h ('K') | « src/mips/lithium-mips.cc ('k') | src/v8globals.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698