v8 12.4.254 (node 22.4.1)
V8 is Google's open source JavaScript engine
Loading...
Searching...
No Matches
ThreadIsolatedAllocator Class Referenceabstract

#include <v8-platform.h>

Public Types

enum class  Type { kPkey }
 

Public Member Functions

virtual ~ThreadIsolatedAllocator ()=default
 
virtual void * Allocate (size_t size)=0
 
virtual void Free (void *object)=0
 
virtual Type Type () const =0
 
virtual int Pkey () const
 

Static Public Member Functions

static void SetDefaultPermissionsForSignalHandler ()
 

Detailed Description

An allocator that uses per-thread permissions to protect the memory.

The implementation is platform/hardware specific, e.g. using pkeys on x64.

INTERNAL ONLY: This interface has not been stabilised and may change without notice from one release to another without being deprecated first.

Definition at line 622 of file v8-platform.h.

Member Enumeration Documentation

◆ Type

enum class Type
strong
Enumerator
kPkey 

Definition at line 630 of file v8-platform.h.

Constructor & Destructor Documentation

◆ ~ThreadIsolatedAllocator()

virtual ~ThreadIsolatedAllocator ( )
virtualdefault

Member Function Documentation

◆ Allocate()

virtual void * Allocate ( size_t  size)
pure virtual

◆ Free()

virtual void Free ( void *  object)
pure virtual

◆ Pkey()

virtual int Pkey ( ) const
inlinevirtual

Return the pkey used to implement the thread isolation if Type == kPkey.

Definition at line 639 of file v8-platform.h.

◆ SetDefaultPermissionsForSignalHandler()

static void SetDefaultPermissionsForSignalHandler ( )
static

Per-thread permissions can be reset on signal handler entry. Even reading ThreadIsolated memory will segfault in that case. Call this function on signal handler entry to ensure that read permissions are restored.

◆ Type()

virtual Type Type ( ) const
pure virtual

The documentation for this class was generated from the following file: