src/os/windows/vm/os_windows.hpp

Print this page

        

*** 34,43 **** --- 34,44 ---- static const char* line_separator() { return "\r\n"; } static const char* path_separator() { return ";"; } class win32 { friend class os; + friend unsigned __stdcall java_start(class Thread*); protected: static int _vm_page_size; static int _vm_allocation_granularity; static int _processor_type;
*** 45,54 **** --- 46,56 ---- static julong _physical_memory; static size_t _default_stack_size; static bool _is_nt; static bool _is_windows_2003; static bool _is_windows_server; + static bool _has_exit_bug; static bool _has_performance_count; static void print_windows_version(outputStream* st); public:
*** 68,77 **** --- 70,83 ---- // load dll from Windows system directory or Windows directory static HINSTANCE load_Windows_dll(const char* name, char *ebuf, int ebuflen); private: + enum Ept { EPT_THREAD, EPT_PROCESS, EPT_PROCESS_DIE }; + // Wrapper around _endthreadex(), exit() and _exit() + static int exit_process_or_thread(Ept what, int exit_code); + static void initialize_performance_counter(); public: // Generic interface:
*** 86,95 **** --- 92,104 ---- static bool is_windows_server() { return _is_windows_server; } // Tells whether the platform is Windows 2003 static bool is_windows_2003() { return _is_windows_2003; } + // Tells whether there can be the race bug during process exit on this platform + static bool has_exit_bug() { return _has_exit_bug; } + // Returns the byte size of a virtual memory page static int vm_page_size() { return _vm_page_size; } // Returns the size in bytes of memory blocks which can be allocated. static int vm_allocation_granularity() { return _vm_allocation_granularity; }