![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
#include <v8-primitive.h>
Public Member Functions | |
~ExternalOneByteStringResource () override=default | |
virtual const char * | data () const =0 |
virtual size_t | length () const =0 |
const char * | cached_data () const |
void | UpdateDataCache () |
![]() | |
virtual | ~ExternalStringResourceBase ()=default |
virtual bool | IsCacheable () const |
virtual void | Unaccount (Isolate *isolate) |
virtual size_t | EstimateMemoryUsage () const |
virtual void | EstimateSharedMemoryUsage (SharedMemoryUsageRecorder *recorder) const |
ExternalStringResourceBase (const ExternalStringResourceBase &)=delete | |
void | operator= (const ExternalStringResourceBase &)=delete |
Protected Member Functions | |
ExternalOneByteStringResource ()=default | |
![]() | |
ExternalStringResourceBase ()=default | |
virtual void | Dispose () |
virtual void | Lock () const |
virtual void | Unlock () const |
Private Member Functions | |
void | CheckCachedDataInvariants () const |
Private Attributes | |
const char * | cached_data_ = nullptr |
Additional Inherited Members | |
![]() | |
static constexpr size_t | kDefaultMemoryEstimate = static_cast<size_t>(-1) |
An ExternalOneByteStringResource is a wrapper around an one-byte string buffer that resides outside V8's heap. Implement an ExternalOneByteStringResource to manage the life cycle of the underlying buffer. Note that the string data must be immutable and that the data must be Latin-1 and not UTF-8, which would require special treatment internally in the engine and do not allow efficient indexing. Use String::New or convert to 16 bit data for non-Latin1.
Definition at line 444 of file v8-primitive.h.
|
overridedefault |
Override the destructor to manage the life cycle of the underlying buffer.
|
protecteddefault |
|
inline |
Returns the cached data from the underlying buffer. If the resource is uncacheable or if UpdateDataCache() was not called before, it has undefined behaviour.
Definition at line 467 of file v8-primitive.h.
|
private |
|
pure virtual |
The string data from the underlying buffer. If the resource is cacheable then data() must return the same value for all invocations.
Implemented in v8::ExternalOwningOneByteStringResource.
|
pure virtual |
The number of Latin-1 characters in the string.
Implemented in v8::ExternalOwningOneByteStringResource.
void v8::String::ExternalOneByteStringResource::UpdateDataCache | ( | ) |
|
private |
Definition at line 484 of file v8-primitive.h.