v8.h | v8.h | |||
---|---|---|---|---|
skipping to change at line 2846 | skipping to change at line 2846 | |||
* 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); | |||
/** | /** | |||
* ReturnAddressLocationResolver is used as a callback function when v8 is | * ReturnAddressLocationResolver is used as a callback function when v8 is | |||
* resolving the location of a return address on the stack. Profilers that | * resolving the location of a return address on the stack. Profilers that | |||
* change the return address on the stack can use this to resolve the stack | * change the return address on the stack can use this to resolve the stack | |||
* location to whereever the profiler stashed the original return address. | * location to whereever the profiler stashed the original return address. | |||
* When invoked, return_addr_location will point to a location on stack whe | * | |||
re | * \param return_addr_location points to a location on stack where a machin | |||
* a machine return address resides, this function should return either the | e | |||
* same pointer, or a pointer to the profiler's copy of the original return | * return address resides. | |||
* address. | * \returns either return_addr_location, or else a pointer to the profiler' | |||
s | ||||
* copy of the original return address. | ||||
* | ||||
* \note the resolver function must not cause garbage collection. | ||||
*/ | */ | |||
typedef uintptr_t (*ReturnAddressLocationResolver)( | typedef uintptr_t (*ReturnAddressLocationResolver)( | |||
uintptr_t return_addr_location); | uintptr_t return_addr_location); | |||
/** | /** | |||
* FunctionEntryHook is the type of the profile entry hook called at entry | ||||
to | ||||
* any generated function when function-level profiling is enabled. | ||||
* | ||||
* \param function the address of the function that's being entered. | ||||
* \param return_addr_location points to a location on stack where the mach | ||||
ine | ||||
* return address resides. This can be used to identify the caller of | ||||
* \p function, and/or modified to divert execution when \p function exi | ||||
ts. | ||||
* | ||||
* \note the entry hook must not cause garbage collection. | ||||
*/ | ||||
typedef void (*FunctionEntryHook)(uintptr_t function, | ||||
uintptr_t return_addr_location); | ||||
/** | ||||
* Interface for iterating though all external resources in the heap. | * Interface for iterating though all external resources in the heap. | |||
*/ | */ | |||
class V8EXPORT ExternalResourceVisitor { // NOLINT | class V8EXPORT ExternalResourceVisitor { // NOLINT | |||
public: | public: | |||
virtual ~ExternalResourceVisitor() {} | virtual ~ExternalResourceVisitor() {} | |||
virtual void VisitExternalString(Handle<String> string) {} | virtual void VisitExternalString(Handle<String> string) {} | |||
}; | }; | |||
/** | /** | |||
* Container class for static utility functions. | * Container class for static utility functions. | |||
skipping to change at line 3114 | skipping to change at line 3131 | |||
static void SetEntropySource(EntropySource source); | static void SetEntropySource(EntropySource source); | |||
/** | /** | |||
* Allows the host application to provide a callback that allows v8 to | * Allows the host application to provide a callback that allows v8 to | |||
* cooperate with a profiler that rewrites return addresses on stack. | * cooperate with a profiler that rewrites return addresses on stack. | |||
*/ | */ | |||
static void SetReturnAddressLocationResolver( | static void SetReturnAddressLocationResolver( | |||
ReturnAddressLocationResolver return_address_resolver); | ReturnAddressLocationResolver return_address_resolver); | |||
/** | /** | |||
* Allows the host application to provide the address of a function that' | ||||
s | ||||
* invoked on entry to every V8-generated function. | ||||
* Note that \p entry_hook is invoked at the very start of each | ||||
* generated function. | ||||
* | ||||
* \param entry_hook a function that will be invoked on entry to every | ||||
* V8-generated function. | ||||
* \returns true on success on supported platforms, false on failure. | ||||
* \note Setting a new entry hook function when one is already active wil | ||||
l | ||||
* fail. | ||||
*/ | ||||
static bool SetFunctionEntryHook(FunctionEntryHook entry_hook); | ||||
/** | ||||
* Adjusts the amount of registered external memory. Used to give | * Adjusts the amount of registered external memory. Used to give | |||
* V8 an indication of the amount of externally allocated memory | * V8 an indication of the amount of externally allocated memory | |||
* that is kept alive by JavaScript objects. V8 uses this to decide | * that is kept alive by JavaScript objects. V8 uses this to decide | |||
* when to perform global garbage collections. Registering | * when to perform global garbage collections. Registering | |||
* externally allocated memory will trigger global garbage | * externally allocated memory will trigger global garbage | |||
* collections more often than otherwise in an attempt to garbage | * collections more often than otherwise in an attempt to garbage | |||
* collect the JavaScript objects keeping the externally allocated | * collect the JavaScript objects keeping the externally allocated | |||
* memory alive. | * memory alive. | |||
* | * | |||
* \param change_in_bytes the change in externally allocated memory | * \param change_in_bytes the change in externally allocated memory | |||
End of changes. 3 change blocks. | ||||
5 lines changed or deleted | 42 lines changed or added | |||