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

Side by Side Diff: runtime/vm/os_macos.cc

Issue 1384063002: Fix build breaks on iOS. Adds missing import and avoid use of unavailable macro. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 2 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 | no next file » | 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) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/globals.h" 5 #include "vm/globals.h"
6 #if defined(TARGET_OS_MACOS) 6 #if defined(TARGET_OS_MACOS)
7 7
8 #include "vm/os.h" 8 #include "vm/os.h"
9 9
10 #include <errno.h> // NOLINT 10 #include <errno.h> // NOLINT
11 #include <limits.h> // NOLINT 11 #include <limits.h> // NOLINT
12 #include <mach/mach.h> // NOLINT 12 #include <mach/mach.h> // NOLINT
13 #include <mach/clock.h> // NOLINT 13 #include <mach/clock.h> // NOLINT
14 #include <mach/mach_time.h> // NOLINT 14 #include <mach/mach_time.h> // NOLINT
15 #include <sys/time.h> // NOLINT 15 #include <sys/time.h> // NOLINT
16 #include <sys/resource.h> // NOLINT 16 #include <sys/resource.h> // NOLINT
17 #include <unistd.h> // NOLINT 17 #include <unistd.h> // NOLINT
18 #if defined(TARGET_OS_IOS)
19 #include <sys/sysctl.h>
20 #endif
18 21
19 #include "platform/utils.h" 22 #include "platform/utils.h"
20 #include "vm/isolate.h" 23 #include "vm/isolate.h"
21 #include "vm/zone.h" 24 #include "vm/zone.h"
22 25
23 namespace dart { 26 namespace dart {
24 27
25 const char* OS::Name() { 28 const char* OS::Name() {
26 return "macos"; 29 return "macos";
27 } 30 }
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 87
85 int64_t OS::GetCurrentTraceMicros() { 88 int64_t OS::GetCurrentTraceMicros() {
86 #if defined(TARGET_OS_IOS) 89 #if defined(TARGET_OS_IOS)
87 // On iOS mach_absolute_time stops while the device is sleeping. Instead use 90 // On iOS mach_absolute_time stops while the device is sleeping. Instead use
88 // now - KERN_BOOTTIME to get a time difference that is not impacted by clock 91 // now - KERN_BOOTTIME to get a time difference that is not impacted by clock
89 // changes. KERN_BOOTTIME will be updated by the system whenever the system 92 // changes. KERN_BOOTTIME will be updated by the system whenever the system
90 // clock change. 93 // clock change.
91 struct timeval boottime; 94 struct timeval boottime;
92 int mib[2] = {CTL_KERN, KERN_BOOTTIME}; 95 int mib[2] = {CTL_KERN, KERN_BOOTTIME};
93 size_t size = sizeof(boottime); 96 size_t size = sizeof(boottime);
94 int kr = sysctl(mib, arraysize(mib), &boottime, &size, NULL, 0); 97 int kr = sysctl(mib, sizeof(mib) / sizeof(mib[0]), &boottime, &size, NULL, 0);
95 ASSERT(KERN_SUCCESS == kr); 98 ASSERT(KERN_SUCCESS == kr);
96 int64_t now = GetCurrentTimeMicros(); 99 int64_t now = GetCurrentTimeMicros();
97 int64_t origin = boottime.tv_sec * kMicrosecondsPerSecond; 100 int64_t origin = boottime.tv_sec * kMicrosecondsPerSecond;
98 origin += boottime.tv_usec; 101 origin += boottime.tv_usec;
99 return now - origin; 102 return now - origin;
100 #else 103 #else
101 static mach_timebase_info_data_t timebase_info; 104 static mach_timebase_info_data_t timebase_info;
102 if (timebase_info.denom == 0) { 105 if (timebase_info.denom == 0) {
103 // Zero-initialization of statics guarantees that denom will be 0 before 106 // Zero-initialization of statics guarantees that denom will be 0 before
104 // calling mach_timebase_info. mach_timebase_info will never set denom to 107 // calling mach_timebase_info. mach_timebase_info will never set denom to
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 } 338 }
336 339
337 340
338 void OS::Exit(int code) { 341 void OS::Exit(int code) {
339 exit(code); 342 exit(code);
340 } 343 }
341 344
342 } // namespace dart 345 } // namespace dart
343 346
344 #endif // defined(TARGET_OS_MACOS) 347 #endif // defined(TARGET_OS_MACOS)
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698