OLD | NEW |
---|---|
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 3024 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3035 | 3035 |
3036 /** | 3036 /** |
3037 * A JIT code event is issued each time code is added, moved or removed. | 3037 * A JIT code event is issued each time code is added, moved or removed. |
3038 * | 3038 * |
3039 * \note removal events are not currently issued. | 3039 * \note removal events are not currently issued. |
3040 */ | 3040 */ |
3041 struct JitCodeEvent { | 3041 struct JitCodeEvent { |
3042 enum EventType { | 3042 enum EventType { |
3043 CODE_ADDED, | 3043 CODE_ADDED, |
3044 CODE_MOVED, | 3044 CODE_MOVED, |
3045 CODE_REMOVED | 3045 CODE_REMOVED, |
3046 CODE_ADD_LINE_POS_INFO, | |
3047 CODE_START_LINE_INFO_RECORDING, | |
3048 CODE_END_LINE_INFO_RECORDING | |
3049 }; | |
3050 // Definition of the code position type. See comment for | |
3051 // RelocInfo::kNoPosition field. | |
danno
2013/02/06 14:21:34
This comment refers to internal implementation det
| |
3052 enum PositionType { | |
3053 POSITION, | |
3054 STATEMENT_POSITION | |
3046 }; | 3055 }; |
3047 | 3056 |
3048 // Type of event. | 3057 // Type of event. |
3049 EventType type; | 3058 EventType type; |
3050 // Start of the instructions. | 3059 // Start of the instructions. |
3051 void* code_start; | 3060 void* code_start; |
3052 // Size of the instructions. | 3061 // Size of the instructions. |
3053 size_t code_len; | 3062 size_t code_len; |
3063 // Script info for CODE_ADDED event. | |
3064 Handle<Script> script; | |
3065 // User-defined data for other events. For example, the line_info_struct | |
3066 // for CODE_ADD_LINE_POS_INFO and CODE_END_LINE_INFO_RECORDING event | |
danno
2013/02/06 14:21:34
More explanation is needed here, since it's not ju
| |
3067 void* user_data; | |
3054 | 3068 |
3055 union { | 3069 union { |
3056 // Only valid for CODE_ADDED. | 3070 // Only valid for CODE_ADDED. |
3057 struct { | 3071 struct { |
3058 // Name of the object associated with the code, note that the string is | 3072 // Name of the object associated with the code, note that the string is |
3059 // not zero-terminated. | 3073 // not zero-terminated. |
3060 const char* str; | 3074 const char* str; |
3061 // Number of chars in str. | 3075 // Number of chars in str. |
3062 size_t len; | 3076 size_t len; |
3063 } name; | 3077 } name; |
3078 | |
3079 // Only valid for CODE_ADD_LINE_POS_INFO | |
3080 struct { | |
3081 // PC offset | |
3082 size_t offset; | |
3083 // Code postion | |
3084 size_t pos; | |
3085 // The position type. | |
3086 PositionType position_type; | |
3087 } line_info; | |
3088 | |
3064 // New location of instructions. Only valid for CODE_MOVED. | 3089 // New location of instructions. Only valid for CODE_MOVED. |
3065 void* new_code_start; | 3090 void* new_code_start; |
3066 }; | 3091 }; |
3067 }; | 3092 }; |
3068 | 3093 |
3069 /** | 3094 /** |
3070 * Option flags passed to the SetJitCodeEventHandler function. | 3095 * Option flags passed to the SetJitCodeEventHandler function. |
3071 */ | 3096 */ |
3072 enum JitCodeEventOptions { | 3097 enum JitCodeEventOptions { |
3073 kJitCodeEventDefault = 0, | 3098 kJitCodeEventDefault = 0, |
(...skipping 1854 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4928 | 4953 |
4929 | 4954 |
4930 } // namespace v8 | 4955 } // namespace v8 |
4931 | 4956 |
4932 | 4957 |
4933 #undef V8EXPORT | 4958 #undef V8EXPORT |
4934 #undef TYPE_CHECK | 4959 #undef TYPE_CHECK |
4935 | 4960 |
4936 | 4961 |
4937 #endif // V8_H_ | 4962 #endif // V8_H_ |
OLD | NEW |