53 static size_t _default_stack_size;
54 static bool _is_windows_server;
55 static bool _has_exit_bug;
56
57 static void print_windows_version(outputStream* st);
58 static void print_uptime_info(outputStream* st);
59
60 public:
61 // Windows-specific interface:
62 static void initialize_system_info();
63 static void setmode_streams();
64
65 // Processor info as provided by NT
66 static int processor_type() { return _processor_type; }
67 static int processor_level() {
68 return _processor_level;
69 }
70 static julong available_memory();
71 static julong physical_memory() { return _physical_memory; }
72
73 // load dll from Windows system directory or Windows directory
74 static HINSTANCE load_Windows_dll(const char* name, char *ebuf, int ebuflen);
75
76 private:
77 enum Ept { EPT_THREAD, EPT_PROCESS, EPT_PROCESS_DIE };
78 // Wrapper around _endthreadex(), exit() and _exit()
79 static int exit_process_or_thread(Ept what, int exit_code);
80
81 static void initialize_performance_counter();
82
83 public:
84 // Generic interface:
85
86 // Trace number of created threads
87 static intx _os_thread_limit;
88 static volatile intx _os_thread_count;
89
90 // Tells whether this is a server version of Windows
91 static bool is_windows_server() { return _is_windows_server; }
92
|
53 static size_t _default_stack_size;
54 static bool _is_windows_server;
55 static bool _has_exit_bug;
56
57 static void print_windows_version(outputStream* st);
58 static void print_uptime_info(outputStream* st);
59
60 public:
61 // Windows-specific interface:
62 static void initialize_system_info();
63 static void setmode_streams();
64
65 // Processor info as provided by NT
66 static int processor_type() { return _processor_type; }
67 static int processor_level() {
68 return _processor_level;
69 }
70 static julong available_memory();
71 static julong physical_memory() { return _physical_memory; }
72
73 static int get_cacheline_size();
74
75 // load dll from Windows system directory or Windows directory
76 static HINSTANCE load_Windows_dll(const char* name, char *ebuf, int ebuflen);
77
78 private:
79 enum Ept { EPT_THREAD, EPT_PROCESS, EPT_PROCESS_DIE };
80 // Wrapper around _endthreadex(), exit() and _exit()
81 static int exit_process_or_thread(Ept what, int exit_code);
82
83 static void initialize_performance_counter();
84
85 public:
86 // Generic interface:
87
88 // Trace number of created threads
89 static intx _os_thread_limit;
90 static volatile intx _os_thread_count;
91
92 // Tells whether this is a server version of Windows
93 static bool is_windows_server() { return _is_windows_server; }
94
|