Chromium Code Reviews| Index: include/v8.h |
| diff --git a/include/v8.h b/include/v8.h |
| index 5c2c8b6671827f56ddddb6ef4a71182b6d54c164..44a580ad24e66d31cab5cc7d539bac484e1d31ec 100644 |
| --- a/include/v8.h |
| +++ b/include/v8.h |
| @@ -2944,6 +2944,40 @@ typedef void (*FunctionEntryHook)(uintptr_t function, |
| /** |
| + * A JIT code event is issued each time code is added, moved or removed. |
| + * |
| + * \note removal events are not currently issued. |
| + */ |
| +struct JitCodeEvent { |
| + enum EventType { |
| + CODE_ADDED, |
| + CODE_MOVED, |
| + CODE_REMOVED |
| + }; |
| + |
| + EventType type; |
| + // Start of the instructions. |
| + void* code_start; |
| + // Size of the instructions. |
| + size_t code_len; |
| + union { |
| + // Name of the object associated with the code. Only valid for CODE_ADDED. |
| + const char* name; |
| + // New location of instructions. Only valid for CODE_MOVED. |
| + void* new_code_start; |
| + }; |
| +}; |
| + |
| + |
| +/** |
| + * Callback function passed to SetJitCodeEventHandler. |
| + * |
| + * \param event code add, move or removal event. |
| + */ |
| +typedef void (*JitCodeEventHandler)(const JitCodeEvent* event); |
| + |
| + |
| +/** |
| * Interface for iterating though all external resources in the heap. |
| */ |
| class V8EXPORT ExternalResourceVisitor { // NOLINT |
| @@ -3218,6 +3252,15 @@ class V8EXPORT V8 { |
| static bool SetFunctionEntryHook(FunctionEntryHook entry_hook); |
| /** |
| + * Allows the host application to provide the address of a function that is |
| + * notified each time code is added, moved or removed. |
|
mnaganov (inactive)
2012/07/25 14:22:12
There is a problem with code objects that were cre
Sigurður Ásgeirsson
2012/07/25 14:38:35
This is true - for the use case I have in mind, th
mnaganov (inactive)
2012/07/25 14:43:48
For me, just stating this in the doc would be fine
Sigurður Ásgeirsson
2012/07/27 13:25:24
Done.
|
| + * |
| + * \param event_handler the JIT code event handler, which will be invoked |
| + * each time code is added, moved or removed. |
| + */ |
| + static void SetJitCodeEventHandler(JitCodeEventHandler event_handler); |
| + |
| + /** |
| * Adjusts the amount of registered external memory. Used to give |
| * V8 an indication of the amount of externally allocated memory |
| * that is kept alive by JavaScript objects. V8 uses this to decide |