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

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/