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 |