v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
platform-win32.cc File Reference
#include "src/base/platform/platform-win32.h"
#include <windows.h>
#include <VersionHelpers.h>
#include <dbghelp.h>
#include <malloc.h>
#include <mmsystem.h>
#include <processthreadsapi.h>
#include <psapi.h>
#include <tlhelp32.h>
#include <limits>
#include <optional>
#include "src/base/bits.h"
#include "src/base/lazy-instance.h"
#include "src/base/macros.h"
#include "src/base/platform/mutex.h"
#include "src/base/platform/platform.h"
#include "src/base/platform/time.h"
#include "src/base/timezone-cache.h"
#include "src/base/utils/random-number-generator.h"
Include dependency graph for platform-win32.cc:

Go to the source code of this file.

Classes

class  v8::base::WindowsTimezoneCache
 
class  v8::base::Win32Time
 
union  v8::base::Win32Time::TimeStamp
 
class  v8::base::Win32MemoryMappedFile
 
class  v8::base::Thread::PlatformData
 

Namespaces

namespace  v8
 
namespace  v8::base
 

Macros

#define DBGHELP_FUNCTION_LIST(V)
 
#define TLHELP32_FUNCTION_LIST(V)
 
#define DLL_FUNC_TYPE(name)
 
#define DLL_FUNC_VAR(name)
 
#define IN
 
#define VOID   void
 
#define DEF_DLL_FUNCTION(name)
 
#define LOAD_DLL_FUNC(name)
 
#define LOAD_DLL_FUNC(name)
 
#define DLL_FUNC_LOADED(name)
 

Typedefs

typedef PVOID(__stdcall * v8::base::VirtualAlloc2_t) (HANDLE, PVOID, SIZE_T, ULONG, ULONG, MEM_EXTENDED_PARAMETER *, ULONG)
 
typedef PVOID(__stdcall * v8::base::MapViewOfFile3_t) (HANDLE, HANDLE, PVOID, ULONG64, SIZE_T, ULONG, ULONG, MEM_EXTENDED_PARAMETER *, ULONG)
 
typedef PVOID(__stdcall * v8::base::UnmapViewOfFile2_t) (HANDLE, PVOID, ULONG)
 

Enumerations

enum  v8::base::OutputMode { v8::base::UNKNOWN , v8::base::CONSOLE , v8::base::ODS }
 

Functions

static bool v8::base::HasConsole ()
 
static void v8::base::VPrintHelper (FILE *stream, const char *format, va_list args)
 
static std::wstring v8::base::ConvertUtf8StringToUtf16 (const char *str)
 
 v8::base::DEFINE_LAZY_LEAKY_OBJECT_GETTER (RandomNumberGenerator, GetPlatformRandomNumberGenerator) static LazyMutex rng_mutex
 
static bool v8::base::LoadDbgHelpAndTlHelp32 ()
 
static std::vector< OS::SharedLibraryAddressv8::base::LoadSymbols (HANDLE process_handle)
 
static unsigned int __stdcall v8::base::ThreadEntry (void *arg)
 

Variables

static OutputMode v8::base::output_mode = UNKNOWN
 
VirtualAlloc2_t v8::base::VirtualAlloc2 = nullptr
 
MapViewOfFile3_t v8::base::MapViewOfFile3 = nullptr
 
UnmapViewOfFile2_t v8::base::UnmapViewOfFile2 = nullptr
 
static const HANDLE v8::base::kNoThread = INVALID_HANDLE_VALUE
 

Macro Definition Documentation

◆ DBGHELP_FUNCTION_LIST

#define DBGHELP_FUNCTION_LIST ( V)
Value:
V(SymInitialize) \
V(SymGetOptions) \
V(SymSetOptions) \
V(SymGetSearchPath) \
V(SymLoadModule64) \
V(StackWalk64) \
V(SymGetSymFromAddr64) \
V(SymGetLineFromAddr64) \
V(SymFunctionTableAccess64) \
V(SymGetModuleBase64)
#define V(Name)

Definition at line 1448 of file platform-win32.cc.

◆ DEF_DLL_FUNCTION

#define DEF_DLL_FUNCTION ( name)
Value:
DLL_FUNC_TYPE(name) DLL_FUNC_VAR(name) = nullptr;
#define DLL_FUNC_VAR(name)
#define DLL_FUNC_TYPE(name)

Definition at line 1528 of file platform-win32.cc.

◆ DLL_FUNC_LOADED

#define DLL_FUNC_LOADED ( name)
Value:
(DLL_FUNC_VAR(name) != nullptr)&&

◆ DLL_FUNC_TYPE

#define DLL_FUNC_TYPE ( name)
Value:
_##name##_
#define _

Definition at line 1468 of file platform-win32.cc.

◆ DLL_FUNC_VAR

#define DLL_FUNC_VAR ( name)
Value:
_##name

Definition at line 1469 of file platform-win32.cc.

◆ IN

#define IN

Definition at line 1476 of file platform-win32.cc.

◆ LOAD_DLL_FUNC [1/2]

#define LOAD_DLL_FUNC ( name)
Value:
DLL_FUNC_VAR(name) = \
reinterpret_cast<DLL_FUNC_TYPE(name)>(GetProcAddress(module, #name));

◆ LOAD_DLL_FUNC [2/2]

#define LOAD_DLL_FUNC ( name)
Value:
DLL_FUNC_VAR(name) = \
reinterpret_cast<DLL_FUNC_TYPE(name)>(GetProcAddress(module, #name));

◆ TLHELP32_FUNCTION_LIST

#define TLHELP32_FUNCTION_LIST ( V)
Value:
V(CreateToolhelp32Snapshot) \
V(Module32FirstW) \
V(Module32NextW)

Definition at line 1461 of file platform-win32.cc.

◆ VOID

#define VOID   void

Definition at line 1479 of file platform-win32.cc.