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

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

Issue 9873023: Fix performance regressions due to lazy initialization. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Make init traits non-template structs. Created 8 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
« no previous file with comments | « src/platform-freebsd.cc ('k') | src/platform-macos.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 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 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 #include <execinfo.h> // backtrace, backtrace_symbols 50 #include <execinfo.h> // backtrace, backtrace_symbols
51 #endif // def __GLIBC__ 51 #endif // def __GLIBC__
52 #include <strings.h> // index 52 #include <strings.h> // index
53 #include <errno.h> 53 #include <errno.h>
54 #include <stdarg.h> 54 #include <stdarg.h>
55 55
56 #undef MAP_TYPE 56 #undef MAP_TYPE
57 57
58 #include "v8.h" 58 #include "v8.h"
59 59
60 #include "platform-posix.h"
60 #include "platform.h" 61 #include "platform.h"
61 #include "v8threads.h" 62 #include "v8threads.h"
62 #include "vm-state-inl.h" 63 #include "vm-state-inl.h"
63 64
64 65
65 namespace v8 { 66 namespace v8 {
66 namespace internal { 67 namespace internal {
67 68
68 // 0 is never a valid thread id on Linux since tids and pids share a 69 // 0 is never a valid thread id on Linux since tids and pids share a
69 // name space and pid 0 is reserved (see man 2 kill). 70 // name space and pid 0 is reserved (see man 2 kill).
(...skipping 28 matching lines...) Expand all
98 #if USE_EABI_HARDFLOAT 99 #if USE_EABI_HARDFLOAT
99 PrintF("ERROR: Binary not compiled with -mfloat-abi=hard but with " 100 PrintF("ERROR: Binary not compiled with -mfloat-abi=hard but with "
100 "-DUSE_EABI_HARDFLOAT\n"); 101 "-DUSE_EABI_HARDFLOAT\n");
101 exit(1); 102 exit(1);
102 #endif 103 #endif
103 } 104 }
104 #endif 105 #endif
105 } 106 }
106 107
107 108
109 void OS::PostSetUp() {
110 // Math functions depend on CPU features therefore they are initialized after
111 // CPU.
112 MathSetup();
113 }
114
115
108 uint64_t OS::CpuFeaturesImpliedByPlatform() { 116 uint64_t OS::CpuFeaturesImpliedByPlatform() {
109 return 0; // Linux runs on anything. 117 return 0; // Linux runs on anything.
110 } 118 }
111 119
112 120
113 #ifdef __arm__ 121 #ifdef __arm__
114 static bool CPUInfoContainsString(const char * search_string) { 122 static bool CPUInfoContainsString(const char * search_string) {
115 const char* file_name = "/proc/cpuinfo"; 123 const char* file_name = "/proc/cpuinfo";
116 // This is written as a straight shot one pass parser 124 // This is written as a straight shot one pass parser
117 // and not using STL string and ifstream because, 125 // and not using STL string and ifstream because,
(...skipping 1131 matching lines...) Expand 10 before | Expand all | Expand 10 after
1249 1257
1250 1258
1251 void Sampler::Stop() { 1259 void Sampler::Stop() {
1252 ASSERT(IsActive()); 1260 ASSERT(IsActive());
1253 SignalSender::RemoveActiveSampler(this); 1261 SignalSender::RemoveActiveSampler(this);
1254 SetActive(false); 1262 SetActive(false);
1255 } 1263 }
1256 1264
1257 1265
1258 } } // namespace v8::internal 1266 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/platform-freebsd.cc ('k') | src/platform-macos.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698