v8.h | v8.h | |||
---|---|---|---|---|
skipping to change at line 931 | skipping to change at line 931 | |||
* compiling it, and can be stored between compilations. When script | * compiling it, and can be stored between compilations. When script | |||
* data is given to the compile method compilation will be faster. | * data is given to the compile method compilation will be faster. | |||
*/ | */ | |||
class V8_EXPORT ScriptData { // NOLINT | class V8_EXPORT ScriptData { // NOLINT | |||
public: | public: | |||
virtual ~ScriptData() { } | virtual ~ScriptData() { } | |||
/** | /** | |||
* Pre-compiles the specified script (context-independent). | * Pre-compiles the specified script (context-independent). | |||
* | * | |||
* \param input Pointer to UTF-8 script source code. | ||||
* \param length Length of UTF-8 script source code. | ||||
*/ | ||||
static ScriptData* PreCompile(Isolate* isolate, | ||||
const char* input, | ||||
int length); | ||||
/** | ||||
* Pre-compiles the specified script (context-independent). | ||||
* | ||||
* NOTE: Pre-compilation using this method cannot happen on another threa d | * NOTE: Pre-compilation using this method cannot happen on another threa d | |||
* without using Lockers. | * without using Lockers. | |||
* | * | |||
* \param source Script source code. | * \param source Script source code. | |||
*/ | */ | |||
static ScriptData* PreCompile(Handle<String> source); | static ScriptData* PreCompile(Handle<String> source); | |||
/** | /** | |||
* Load previous pre-compilation data. | * Load previous pre-compilation data. | |||
* | * | |||
skipping to change at line 3806 | skipping to change at line 3796 | |||
*/ | */ | |||
enum GCType { | enum GCType { | |||
kGCTypeScavenge = 1 << 0, | kGCTypeScavenge = 1 << 0, | |||
kGCTypeMarkSweepCompact = 1 << 1, | kGCTypeMarkSweepCompact = 1 << 1, | |||
kGCTypeAll = kGCTypeScavenge | kGCTypeMarkSweepCompact | kGCTypeAll = kGCTypeScavenge | kGCTypeMarkSweepCompact | |||
}; | }; | |||
enum GCCallbackFlags { | enum GCCallbackFlags { | |||
kNoGCCallbackFlags = 0, | kNoGCCallbackFlags = 0, | |||
kGCCallbackFlagCompacted = 1 << 0, | kGCCallbackFlagCompacted = 1 << 0, | |||
kGCCallbackFlagConstructRetainedObjectInfos = 1 << 1 | kGCCallbackFlagConstructRetainedObjectInfos = 1 << 1, | |||
kGCCallbackFlagForced = 1 << 2 | ||||
}; | }; | |||
typedef void (*GCPrologueCallback)(GCType type, GCCallbackFlags flags); | typedef void (*GCPrologueCallback)(GCType type, GCCallbackFlags flags); | |||
typedef void (*GCEpilogueCallback)(GCType type, GCCallbackFlags flags); | typedef void (*GCEpilogueCallback)(GCType type, GCCallbackFlags flags); | |||
typedef void (*InterruptCallback)(Isolate* isolate, void* data); | typedef void (*InterruptCallback)(Isolate* isolate, void* data); | |||
/** | /** | |||
* Collection of V8 heap information. | * Collection of V8 heap information. | |||
* | * | |||
skipping to change at line 3874 | skipping to change at line 3865 | |||
private: | private: | |||
Isolate* const isolate_; | Isolate* const isolate_; | |||
// Prevent copying of Scope objects. | // Prevent copying of Scope objects. | |||
Scope(const Scope&); | Scope(const Scope&); | |||
Scope& operator=(const Scope&); | Scope& operator=(const Scope&); | |||
}; | }; | |||
/** | /** | |||
* Types of garbage collections that can be requested via | ||||
* RequestGarbageCollectionForTesting. | ||||
*/ | ||||
enum GarbageCollectionType { | ||||
kFullGarbageCollection, | ||||
kMinorGarbageCollection | ||||
}; | ||||
/** | ||||
* Creates a new isolate. Does not change the currently entered | * Creates a new isolate. Does not change the currently entered | |||
* isolate. | * isolate. | |||
* | * | |||
* When an isolate is no longer used its resources should be freed | * When an isolate is no longer used its resources should be freed | |||
* by calling Dispose(). Using the delete operator is not allowed. | * by calling Dispose(). Using the delete operator is not allowed. | |||
*/ | */ | |||
static Isolate* New(); | static Isolate* New(); | |||
/** | /** | |||
* Returns the entered isolate for the current thread or NULL in | * Returns the entered isolate for the current thread or NULL in | |||
skipping to change at line 4085 | skipping to change at line 4085 | |||
* Registered |callback| must not reenter interrupted Isolate. | * Registered |callback| must not reenter interrupted Isolate. | |||
*/ | */ | |||
void RequestInterrupt(InterruptCallback callback, void* data); | void RequestInterrupt(InterruptCallback callback, void* data); | |||
/** | /** | |||
* Clear interrupt request created by |RequestInterrupt|. | * Clear interrupt request created by |RequestInterrupt|. | |||
* Can be called from another thread without acquiring a |Locker|. | * Can be called from another thread without acquiring a |Locker|. | |||
*/ | */ | |||
void ClearInterrupt(); | void ClearInterrupt(); | |||
/** | ||||
* Request garbage collection in this Isolate. It is only valid to call t | ||||
his | ||||
* function if --expose_gc was specified. | ||||
* | ||||
* This should only be used for testing purposes and not to enforce a gar | ||||
bage | ||||
* collection schedule. It has strong negative impact on the garbage | ||||
* collection performance. Use IdleNotification() or LowMemoryNotificatio | ||||
n() | ||||
* instead to influence the garbage collection schedule. | ||||
*/ | ||||
void RequestGarbageCollectionForTesting(GarbageCollectionType type); | ||||
private: | private: | |||
Isolate(); | Isolate(); | |||
Isolate(const Isolate&); | Isolate(const Isolate&); | |||
~Isolate(); | ~Isolate(); | |||
Isolate& operator=(const Isolate&); | Isolate& operator=(const Isolate&); | |||
void* operator new(size_t size); | void* operator new(size_t size); | |||
void operator delete(void*, size_t); | void operator delete(void*, size_t); | |||
void SetObjectGroupId(internal::Object** object, UniqueId id); | void SetObjectGroupId(internal::Object** object, UniqueId id); | |||
void SetReferenceFromGroup(UniqueId id, internal::Object** object); | void SetReferenceFromGroup(UniqueId id, internal::Object** object); | |||
End of changes. 4 change blocks. | ||||
11 lines changed or deleted | 25 lines changed or added | |||