Index: runtime/vm/os_win.cc |
diff --git a/runtime/vm/os_win.cc b/runtime/vm/os_win.cc |
index e301627eeae78e0dbf95acb4f3a2639ad700887f..aa7e774713c480c8d5e710ceabcc9e882200ed99 100644 |
--- a/runtime/vm/os_win.cc |
+++ b/runtime/vm/os_win.cc |
@@ -12,8 +12,8 @@ |
#include <psapi.h> // NOLINT |
#include <time.h> // NOLINT |
-#include "platform/utils.h" |
#include "platform/assert.h" |
+#include "platform/utils.h" |
#include "vm/os_thread.h" |
#include "vm/zone.h" |
@@ -26,12 +26,10 @@ const char* OS::Name() { |
return "windows"; |
} |
- |
intptr_t OS::ProcessId() { |
return static_cast<intptr_t>(GetCurrentProcessId()); |
} |
- |
// As a side-effect sets the globals _timezone, _daylight and _tzname. |
static bool LocalTime(int64_t seconds_since_epoch, tm* tm_result) { |
time_t seconds = static_cast<time_t>(seconds_since_epoch); |
@@ -43,7 +41,6 @@ static bool LocalTime(int64_t seconds_since_epoch, tm* tm_result) { |
return error_code == 0; |
} |
- |
static int GetDaylightSavingBiasInSeconds() { |
TIME_ZONE_INFORMATION zone_information; |
memset(&zone_information, 0, sizeof(zone_information)); |
@@ -55,7 +52,6 @@ static int GetDaylightSavingBiasInSeconds() { |
} |
} |
- |
const char* OS::GetTimeZoneName(int64_t seconds_since_epoch) { |
TIME_ZONE_INFORMATION zone_information; |
memset(&zone_information, 0, sizeof(zone_information)); |
@@ -89,7 +85,6 @@ const char* OS::GetTimeZoneName(int64_t seconds_since_epoch) { |
return name; |
} |
- |
int OS::GetTimeZoneOffsetInSeconds(int64_t seconds_since_epoch) { |
tm decomposed; |
// LocalTime will set _timezone. |
@@ -111,7 +106,6 @@ int OS::GetTimeZoneOffsetInSeconds(int64_t seconds_since_epoch) { |
} |
} |
- |
int OS::GetLocalTimeZoneAdjustmentInSeconds() { |
// TODO(floitsch): avoid excessive calls to _tzset? |
_tzset(); |
@@ -119,12 +113,10 @@ int OS::GetLocalTimeZoneAdjustmentInSeconds() { |
return static_cast<int>(-_timezone); |
} |
- |
int64_t OS::GetCurrentTimeMillis() { |
return GetCurrentTimeMicros() / 1000; |
} |
- |
int64_t OS::GetCurrentTimeMicros() { |
static const int64_t kTimeEpoc = 116444736000000000LL; |
static const int64_t kTimeScaler = 10; // 100 ns to us. |
@@ -144,10 +136,8 @@ int64_t OS::GetCurrentTimeMicros() { |
return (time.t_ - kTimeEpoc) / kTimeScaler; |
} |
- |
static int64_t qpc_ticks_per_second = 0; |
- |
int64_t OS::GetCurrentMonotonicTicks() { |
if (qpc_ticks_per_second == 0) { |
// QueryPerformanceCounter not supported, fallback. |
@@ -159,7 +149,6 @@ int64_t OS::GetCurrentMonotonicTicks() { |
return static_cast<int64_t>(now.QuadPart); |
} |
- |
int64_t OS::GetCurrentMonotonicFrequency() { |
if (qpc_ticks_per_second == 0) { |
// QueryPerformanceCounter not supported, fallback. |
@@ -168,7 +157,6 @@ int64_t OS::GetCurrentMonotonicFrequency() { |
return qpc_ticks_per_second; |
} |
- |
int64_t OS::GetCurrentMonotonicMicros() { |
int64_t ticks = GetCurrentMonotonicTicks(); |
int64_t frequency = GetCurrentMonotonicFrequency(); |
@@ -181,13 +169,11 @@ int64_t OS::GetCurrentMonotonicMicros() { |
return result; |
} |
- |
int64_t OS::GetCurrentThreadCPUMicros() { |
// TODO(johnmccutchan): Implement. See base/time_win.cc for details. |
return -1; |
} |
- |
intptr_t OS::ActivationFrameAlignment() { |
#if defined(TARGET_ARCH_ARM64) |
return 16; |
@@ -202,7 +188,6 @@ intptr_t OS::ActivationFrameAlignment() { |
#endif |
} |
- |
intptr_t OS::PreferredCodeAlignment() { |
ASSERT(32 <= OS::kMaxPreferredCodeAlignment); |
#if defined(TARGET_ARCH_IA32) || defined(TARGET_ARCH_X64) || \ |
@@ -215,26 +200,22 @@ intptr_t OS::PreferredCodeAlignment() { |
#endif |
} |
- |
int OS::NumberOfAvailableProcessors() { |
SYSTEM_INFO info; |
GetSystemInfo(&info); |
return info.dwNumberOfProcessors; |
} |
- |
uintptr_t OS::MaxRSS() { |
PROCESS_MEMORY_COUNTERS pmc; |
GetProcessMemoryInfo(GetCurrentProcess(), &pmc, sizeof(pmc)); |
return pmc.PeakWorkingSetSize; |
} |
- |
void OS::Sleep(int64_t millis) { |
::Sleep(millis); |
} |
- |
void OS::SleepMicros(int64_t micros) { |
// Windows only supports millisecond sleeps. |
if (micros < kMicrosecondsPerMillisecond) { |
@@ -244,7 +225,6 @@ void OS::SleepMicros(int64_t micros) { |
OS::Sleep(micros / kMicrosecondsPerMillisecond); |
} |
- |
void OS::DebugBreak() { |
#if defined(_MSC_VER) |
// Microsoft Visual C/C++ or drop-in replacement. |
@@ -259,12 +239,10 @@ void OS::DebugBreak() { |
#endif |
} |
- |
DART_NOINLINE uintptr_t OS::GetProgramCounter() { |
return reinterpret_cast<uintptr_t>(_ReturnAddress()); |
} |
- |
char* OS::StrNDup(const char* s, intptr_t n) { |
intptr_t len = strlen(s); |
if ((n < 0) || (len < 0)) { |
@@ -281,12 +259,10 @@ char* OS::StrNDup(const char* s, intptr_t n) { |
return reinterpret_cast<char*>(memmove(result, s, len)); |
} |
- |
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); |
@@ -294,13 +270,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); |
@@ -309,7 +283,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) { |
if (str == NULL || size == 0) { |
int retval = _vscprintf(format, args); |
@@ -344,7 +317,6 @@ int OS::VSNPrint(char* str, size_t size, const char* format, va_list args) { |
return written; |
} |
- |
char* OS::SCreate(Zone* zone, const char* format, ...) { |
va_list args; |
va_start(args, format); |
@@ -353,7 +325,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; |
@@ -377,7 +348,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; |
@@ -395,10 +365,8 @@ bool OS::StringToInt64(const char* str, int64_t* value) { |
return ((errno == 0) && (endptr != str) && (*endptr == 0)); |
} |
- |
void OS::RegisterCodeObservers() {} |
- |
void OS::PrintErr(const char* format, ...) { |
va_list args; |
va_start(args, format); |
@@ -406,7 +374,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 |
@@ -427,20 +394,17 @@ void OS::InitOnce() { |
} |
} |
- |
void OS::Shutdown() { |
// TODO(zra): Enable once VM can shutdown cleanly. |
// ThreadLocalData::Shutdown(); |
} |
- |
void OS::Abort() { |
// TODO(zra): Remove once VM shuts down cleanly. |
private_flag_windows_run_tls_destructors = false; |
abort(); |
} |
- |
void OS::Exit(int code) { |
// TODO(zra): Remove once VM shuts down cleanly. |
private_flag_windows_run_tls_destructors = false; |