v8.h | v8.h | |||
---|---|---|---|---|
skipping to change at line 2782 | skipping to change at line 2782 | |||
char** raw_data; | char** raw_data; | |||
}; | }; | |||
/** | /** | |||
* EntropySource is used as a callback function when v8 needs a source | * EntropySource is used as a callback function when v8 needs a source | |||
* of entropy. | * of entropy. | |||
*/ | */ | |||
typedef bool (*EntropySource)(unsigned char* buffer, size_t length); | typedef bool (*EntropySource)(unsigned char* buffer, size_t length); | |||
/** | /** | |||
* Interface for iterating though all external resources in the heap. | ||||
*/ | ||||
class V8EXPORT ExternalResourceVisitor { // NOLINT | ||||
public: | ||||
virtual ~ExternalResourceVisitor() {} | ||||
virtual void VisitExternalString(Handle<String> string) {} | ||||
}; | ||||
/** | ||||
* Container class for static utility functions. | * Container class for static utility functions. | |||
*/ | */ | |||
class V8EXPORT V8 { | class V8EXPORT V8 { | |||
public: | public: | |||
/** Set the callback to invoke in case of fatal errors. */ | /** Set the callback to invoke in case of fatal errors. */ | |||
static void SetFatalErrorHandler(FatalErrorCallback that); | static void SetFatalErrorHandler(FatalErrorCallback that); | |||
/** | /** | |||
* Set the callback to invoke to check if code generation from | * Set the callback to invoke to check if code generation from | |||
* strings should be allowed. | * strings should be allowed. | |||
skipping to change at line 3137 | skipping to change at line 3146 | |||
* to use if the process needs the resources taken up by v8. | * to use if the process needs the resources taken up by v8. | |||
*/ | */ | |||
static bool Dispose(); | static bool Dispose(); | |||
/** | /** | |||
* Get statistics about the heap memory usage. | * Get statistics about the heap memory usage. | |||
*/ | */ | |||
static void GetHeapStatistics(HeapStatistics* heap_statistics); | static void GetHeapStatistics(HeapStatistics* heap_statistics); | |||
/** | /** | |||
* Iterates through all external resources referenced from current isolat | ||||
e | ||||
* heap. This method is not expected to be used except for debugging purp | ||||
oses | ||||
* and may be quite slow. | ||||
*/ | ||||
static void VisitExternalResources(ExternalResourceVisitor* visitor); | ||||
/** | ||||
* Optional notification that the embedder is idle. | * Optional notification that the embedder is idle. | |||
* V8 uses the notification to reduce memory footprint. | * V8 uses the notification to reduce memory footprint. | |||
* This call can be used repeatedly if the embedder remains idle. | * This call can be used repeatedly if the embedder remains idle. | |||
* Returns true if the embedder should stop calling IdleNotification | * Returns true if the embedder should stop calling IdleNotification | |||
* until real work has been done. This indicates that V8 has done | * until real work has been done. This indicates that V8 has done | |||
* as much cleanup as it will be able to do. | * as much cleanup as it will be able to do. | |||
* | * | |||
* The hint argument specifies the amount of work to be done in the funct ion | * The hint argument specifies the amount of work to be done in the funct ion | |||
* on scale from 1 to 1000. There is no guarantee that the actual work wi ll | * on scale from 1 to 1000. There is no guarantee that the actual work wi ll | |||
* match the hint. | * match the hint. | |||
skipping to change at line 3739 | skipping to change at line 3755 | |||
static const int kHeapObjectMapOffset = 0; | static const int kHeapObjectMapOffset = 0; | |||
static const int kMapInstanceTypeOffset = 1 * kApiPointerSize + kApiIntSi ze; | static const int kMapInstanceTypeOffset = 1 * kApiPointerSize + kApiIntSi ze; | |||
static const int kStringResourceOffset = | static const int kStringResourceOffset = | |||
InternalConstants<kApiPointerSize>::kStringResourceOffset; | InternalConstants<kApiPointerSize>::kStringResourceOffset; | |||
static const int kForeignAddressOffset = kApiPointerSize; | static const int kForeignAddressOffset = kApiPointerSize; | |||
static const int kJSObjectHeaderSize = 3 * kApiPointerSize; | static const int kJSObjectHeaderSize = 3 * kApiPointerSize; | |||
static const int kFullStringRepresentationMask = 0x07; | static const int kFullStringRepresentationMask = 0x07; | |||
static const int kExternalTwoByteRepresentationTag = 0x02; | static const int kExternalTwoByteRepresentationTag = 0x02; | |||
static const int kJSObjectType = 0xa6; | static const int kJSObjectType = 0xa7; | |||
static const int kFirstNonstringType = 0x80; | static const int kFirstNonstringType = 0x80; | |||
static const int kForeignType = 0x85; | static const int kForeignType = 0x85; | |||
static inline bool HasHeapObjectTag(internal::Object* value) { | static inline bool HasHeapObjectTag(internal::Object* value) { | |||
return ((reinterpret_cast<intptr_t>(value) & kHeapObjectTagMask) == | return ((reinterpret_cast<intptr_t>(value) & kHeapObjectTagMask) == | |||
kHeapObjectTag); | kHeapObjectTag); | |||
} | } | |||
static inline bool HasSmiTag(internal::Object* value) { | static inline bool HasSmiTag(internal::Object* value) { | |||
return ((reinterpret_cast<intptr_t>(value) & kSmiTagMask) == kSmiTag); | return ((reinterpret_cast<intptr_t>(value) & kSmiTagMask) == kSmiTag); | |||
End of changes. 3 change blocks. | ||||
1 lines changed or deleted | 19 lines changed or added | |||