| Index: runtime/vm/os_fuchsia.cc
|
| diff --git a/runtime/vm/os_fuchsia.cc b/runtime/vm/os_fuchsia.cc
|
| index 46f0bc5af4522f4cace75d9614bbe4621ee53636..3781f029ba27e3b84a1af3cf654ee12c4d41e387 100644
|
| --- a/runtime/vm/os_fuchsia.cc
|
| +++ b/runtime/vm/os_fuchsia.cc
|
| @@ -31,12 +31,10 @@ const char* OS::Name() {
|
| return "fuchsia";
|
| }
|
|
|
| -
|
| intptr_t OS::ProcessId() {
|
| return static_cast<intptr_t>(getpid());
|
| }
|
|
|
| -
|
| static bool LocalTime(int64_t seconds_since_epoch, tm* tm_result) {
|
| time_t seconds = static_cast<time_t>(seconds_since_epoch);
|
| if (seconds != seconds_since_epoch) {
|
| @@ -46,7 +44,6 @@ static bool LocalTime(int64_t seconds_since_epoch, tm* tm_result) {
|
| return error_code != NULL;
|
| }
|
|
|
| -
|
| const char* OS::GetTimeZoneName(int64_t seconds_since_epoch) {
|
| tm decomposed;
|
| bool succeeded = LocalTime(seconds_since_epoch, &decomposed);
|
| @@ -54,7 +51,6 @@ const char* OS::GetTimeZoneName(int64_t seconds_since_epoch) {
|
| return (succeeded && (decomposed.tm_zone != NULL)) ? decomposed.tm_zone : "";
|
| }
|
|
|
| -
|
| int OS::GetTimeZoneOffsetInSeconds(int64_t seconds_since_epoch) {
|
| tm decomposed;
|
| bool succeeded = LocalTime(seconds_since_epoch, &decomposed);
|
| @@ -63,7 +59,6 @@ int OS::GetTimeZoneOffsetInSeconds(int64_t seconds_since_epoch) {
|
| return succeeded ? static_cast<int>(decomposed.tm_gmtoff) : 0;
|
| }
|
|
|
| -
|
| int OS::GetLocalTimeZoneAdjustmentInSeconds() {
|
| // TODO(floitsch): avoid excessive calls to tzset?
|
| tzset();
|
| @@ -72,39 +67,32 @@ int OS::GetLocalTimeZoneAdjustmentInSeconds() {
|
| return static_cast<int>(-timezone);
|
| }
|
|
|
| -
|
| int64_t OS::GetCurrentTimeMillis() {
|
| return GetCurrentTimeMicros() / 1000;
|
| }
|
|
|
| -
|
| int64_t OS::GetCurrentTimeMicros() {
|
| return mx_time_get(MX_CLOCK_UTC) / kNanosecondsPerMicrosecond;
|
| }
|
|
|
| -
|
| int64_t OS::GetCurrentMonotonicTicks() {
|
| return mx_time_get(MX_CLOCK_MONOTONIC);
|
| }
|
|
|
| -
|
| int64_t OS::GetCurrentMonotonicFrequency() {
|
| return kNanosecondsPerSecond;
|
| }
|
|
|
| -
|
| int64_t OS::GetCurrentMonotonicMicros() {
|
| int64_t ticks = GetCurrentMonotonicTicks();
|
| ASSERT(GetCurrentMonotonicFrequency() == kNanosecondsPerSecond);
|
| return ticks / kNanosecondsPerMicrosecond;
|
| }
|
|
|
| -
|
| int64_t OS::GetCurrentThreadCPUMicros() {
|
| return mx_time_get(MX_CLOCK_THREAD) / kNanosecondsPerMicrosecond;
|
| }
|
|
|
| -
|
| // TODO(5411554): May need to hoist these architecture dependent code
|
| // into a architecture specific file e.g: os_ia32_fuchsia.cc
|
| intptr_t OS::ActivationFrameAlignment() {
|
| @@ -125,7 +113,6 @@ intptr_t OS::ActivationFrameAlignment() {
|
| return alignment;
|
| }
|
|
|
| -
|
| intptr_t OS::PreferredCodeAlignment() {
|
| #if defined(TARGET_ARCH_IA32) || defined(TARGET_ARCH_X64) || \
|
| defined(TARGET_ARCH_ARM64) || defined(TARGET_ARCH_DBC)
|
| @@ -145,12 +132,10 @@ intptr_t OS::PreferredCodeAlignment() {
|
| return alignment;
|
| }
|
|
|
| -
|
| int OS::NumberOfAvailableProcessors() {
|
| return sysconf(_SC_NPROCESSORS_CONF);
|
| }
|
|
|
| -
|
| uintptr_t OS::MaxRSS() {
|
| mx_info_task_stats_t task_stats;
|
| mx_handle_t process = mx_process_self();
|
| @@ -161,38 +146,31 @@ uintptr_t OS::MaxRSS() {
|
| : 0;
|
| }
|
|
|
| -
|
| void OS::Sleep(int64_t millis) {
|
| SleepMicros(millis * kMicrosecondsPerMillisecond);
|
| }
|
|
|
| -
|
| void OS::SleepMicros(int64_t micros) {
|
| mx_nanosleep(mx_deadline_after(micros * kNanosecondsPerMicrosecond));
|
| }
|
|
|
| -
|
| void OS::DebugBreak() {
|
| UNIMPLEMENTED();
|
| }
|
|
|
| -
|
| uintptr_t DART_NOINLINE OS::GetProgramCounter() {
|
| return reinterpret_cast<uintptr_t>(
|
| __builtin_extract_return_addr(__builtin_return_address(0)));
|
| }
|
|
|
| -
|
| char* OS::StrNDup(const char* s, intptr_t n) {
|
| return strndup(s, n);
|
| }
|
|
|
| -
|
| intptr_t OS::StrNLen(const char* s, intptr_t n) {
|
| return strnlen(s, n);
|
| }
|
|
|
| -
|
| void OS::Print(const char* format, ...) {
|
| va_list args;
|
| va_start(args, format);
|
| @@ -200,13 +178,11 @@ void OS::Print(const char* format, ...) {
|
| va_end(args);
|
| }
|
|
|
| -
|
| void OS::VFPrint(FILE* stream, const char* format, va_list args) {
|
| vfprintf(stream, format, args);
|
| fflush(stream);
|
| }
|
|
|
| -
|
| int OS::SNPrint(char* str, size_t size, const char* format, ...) {
|
| va_list args;
|
| va_start(args, format);
|
| @@ -215,7 +191,6 @@ int OS::SNPrint(char* str, size_t size, const char* format, ...) {
|
| return retval;
|
| }
|
|
|
| -
|
| int OS::VSNPrint(char* str, size_t size, const char* format, va_list args) {
|
| int retval = vsnprintf(str, size, format, args);
|
| if (retval < 0) {
|
| @@ -224,7 +199,6 @@ int OS::VSNPrint(char* str, size_t size, const char* format, va_list args) {
|
| return retval;
|
| }
|
|
|
| -
|
| char* OS::SCreate(Zone* zone, const char* format, ...) {
|
| va_list args;
|
| va_start(args, format);
|
| @@ -233,7 +207,6 @@ char* OS::SCreate(Zone* zone, const char* format, ...) {
|
| return buffer;
|
| }
|
|
|
| -
|
| char* OS::VSCreate(Zone* zone, const char* format, va_list args) {
|
| // Measure.
|
| va_list measure_args;
|
| @@ -257,7 +230,6 @@ char* OS::VSCreate(Zone* zone, const char* format, va_list args) {
|
| return buffer;
|
| }
|
|
|
| -
|
| bool OS::StringToInt64(const char* str, int64_t* value) {
|
| ASSERT(str != NULL && strlen(str) > 0 && value != NULL);
|
| int32_t base = 10;
|
| @@ -275,7 +247,6 @@ bool OS::StringToInt64(const char* str, int64_t* value) {
|
| return ((errno == 0) && (endptr != str) && (*endptr == 0));
|
| }
|
|
|
| -
|
| void OS::RegisterCodeObservers() {
|
| #ifndef PRODUCT
|
| if (FLAG_generate_perf_events_symbols) {
|
| @@ -284,7 +255,6 @@ void OS::RegisterCodeObservers() {
|
| #endif // !PRODUCT
|
| }
|
|
|
| -
|
| void OS::PrintErr(const char* format, ...) {
|
| va_list args;
|
| va_start(args, format);
|
| @@ -292,7 +262,6 @@ void OS::PrintErr(const char* format, ...) {
|
| va_end(args);
|
| }
|
|
|
| -
|
| void OS::InitOnce() {
|
| // TODO(5411554): For now we check that initonce is called only once,
|
| // Once there is more formal mechanism to call InitOnce we can move
|
| @@ -302,15 +271,12 @@ void OS::InitOnce() {
|
| init_once_called = true;
|
| }
|
|
|
| -
|
| void OS::Shutdown() {}
|
|
|
| -
|
| void OS::Abort() {
|
| abort();
|
| }
|
|
|
| -
|
| void OS::Exit(int code) {
|
| UNIMPLEMENTED();
|
| }
|
|
|