My Project
V8 API Reference Guide generated from the header files
Public Member Functions | Protected Member Functions | Friends
v8::String::ExternalStringResourceBase Class Reference
Inheritance diagram for v8::String::ExternalStringResourceBase:
v8::String::ExternalOneByteStringResource v8::String::ExternalStringResource

Public Member Functions

virtual bool IsCacheable () const
 

Protected Member Functions

virtual void Dispose ()
 
virtual void Lock () const
 
virtual void Unlock () const
 
 ExternalStringResourceBase (const ExternalStringResourceBase &)=delete
 
void operator= (const ExternalStringResourceBase &)=delete
 

Friends

class internal::Heap
 
class v8::String
 
class internal::ScopedExternalStringLock
 

Member Function Documentation

◆ Dispose()

virtual void v8::String::ExternalStringResourceBase::Dispose ( )
inlineprotectedvirtual

Internally V8 will call this Dispose method when the external string resource is no longer needed. The default implementation will use the delete operator. This method can be overridden in subclasses to control how allocated external string resources are disposed.

◆ IsCacheable()

virtual bool v8::String::ExternalStringResourceBase::IsCacheable ( ) const
inlinevirtual

If a string is cacheable, the value returned by ExternalStringResource::data() may be cached, otherwise it is not expected to be stable beyond the current top-level task.

◆ Lock()

virtual void v8::String::ExternalStringResourceBase::Lock ( ) const
inlineprotectedvirtual

For a non-cacheable string, the value returned by |ExternalStringResource::data()| has to be stable between |Lock()| and |Unlock()|, that is the string must behave as is |IsCacheable()| returned true.

These two functions must be thread-safe, and can be called from anywhere. They also must handle lock depth, in the sense that each can be called several times, from different threads, and unlocking should only happen when the balance of Lock() and Unlock() calls is 0.

◆ Unlock()

virtual void v8::String::ExternalStringResourceBase::Unlock ( ) const
inlineprotectedvirtual

Unlocks the string.


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