Chromium Code Reviews| Index: include/v8.h |
| =================================================================== |
| --- include/v8.h (revision 13419) |
| +++ include/v8.h (working copy) |
| @@ -3012,8 +3012,17 @@ |
| enum EventType { |
| CODE_ADDED, |
| CODE_MOVED, |
| - CODE_REMOVED |
| + CODE_REMOVED, |
| + CODE_ADD_LINE_POS_INFO, |
| + CODE_START_LINE_INFO_RECORDING, |
| + CODE_END_LINE_INFO_RECORDING |
| }; |
| + // Definition of the code position type. See comment for |
| + // RelocInfo::kNoPosition field. |
| + enum PositionType { |
| + POSITION, |
| + STATEMENT_POSITION |
| + }; |
| // Type of event. |
| EventType type; |
| @@ -3021,6 +3030,11 @@ |
| void* code_start; |
| // Size of the instructions. |
| size_t code_len; |
| + // Script info for CODE_ADDED event. |
| + Handle<Script> script; |
| + // User-defined data for other events. For example, the line_info_struct |
| + // for CODE_ADD_LINE_POS_INFO and CODE_END_LINE_INFO_RECORDING event |
| + void* user_data; |
| union { |
| // Only valid for CODE_ADDED. |
| @@ -3031,6 +3045,17 @@ |
| // Number of chars in str. |
| size_t len; |
| } name; |
| + |
| + // Only valid for CODE_ADD_LINE_POS_INFO |
| + struct { |
| + // PC offset |
| + size_t offset; |
| + // Code postion |
| + size_t pos; |
| + // The position type. |
| + PositionType position_type; |
| + } line_info; |
| + |
| // New location of instructions. Only valid for CODE_MOVED. |
| void* new_code_start; |
| }; |
| @@ -3346,6 +3371,8 @@ |
| * \param options options for the JIT code event handler. |
| * \param event_handler the JIT code event handler, which will be invoked |
| * each time code is added, moved or removed. |
| + * \param support_moved_code the code move event is support or not. If it's |
| + * not enabled, the code will NOT be compacted during GC. |
| * \note \p event_handler won't get notified of existent code. |
| * \note since code removal notifications are not currently issued, the |
| * \p event_handler may get notifications of code that overlaps earlier |
| @@ -3360,7 +3387,8 @@ |
| * it does not recognize to maintain future compatibility. |
| */ |
| static void SetJitCodeEventHandler(JitCodeEventOptions options, |
| - JitCodeEventHandler event_handler); |
| + JitCodeEventHandler event_handler, |
| + bool support_moved_code); |
|
danno
2013/02/01 13:43:10
Id like to avoid baking this into an API. Instead,
|
| /** |
| * Adjusts the amount of registered external memory. Used to give |