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 3012 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3023 | 3023 |
3024 /** | 3024 /** |
3025 * A JIT code event is issued each time code is added, moved or removed. | 3025 * A JIT code event is issued each time code is added, moved or removed. |
3026 * | 3026 * |
3027 * \note removal events are not currently issued. | 3027 * \note removal events are not currently issued. |
3028 */ | 3028 */ |
3029 struct JitCodeEvent { | 3029 struct JitCodeEvent { |
3030 enum EventType { | 3030 enum EventType { |
3031 CODE_ADDED, | 3031 CODE_ADDED, |
3032 CODE_MOVED, | 3032 CODE_MOVED, |
3033 CODE_REMOVED | 3033 CODE_REMOVED, |
3034 CODE_ADD_LINE_POS_INFO, | |
3035 CODE_START_LINE_INFO_RECORDING, | |
3036 CODE_END_LINE_INFO_RECORDING | |
3034 }; | 3037 }; |
3035 | 3038 |
3036 // Type of event. | 3039 // Type of event. |
3037 EventType type; | 3040 EventType type; |
3038 // Start of the instructions. | 3041 // Start of the instructions. |
3039 void* code_start; | 3042 void* code_start; |
3040 // Size of the instructions. | 3043 // Size of the instructions. |
3041 size_t code_len; | 3044 size_t code_len; |
3045 // Script info for CODE_ADDED event or line_info_struct | |
3046 // for CODE_ADD_LINE_POS_INFO and CODE_END_LINE_INFO_RECORDING event | |
3047 void* user_data; | |
danno
2013/01/10 16:47:33
I don't think you saw my original comment complete
chunyang.dai
2013/01/18 10:22:44
Done.
| |
3042 | 3048 |
3043 union { | 3049 union { |
3044 // Only valid for CODE_ADDED. | 3050 // Only valid for CODE_ADDED. |
3045 struct { | 3051 struct { |
3046 // Name of the object associated with the code, note that the string is | 3052 // Name of the object associated with the code, note that the string is |
3047 // not zero-terminated. | 3053 // not zero-terminated. |
3048 const char* str; | 3054 const char* str; |
3049 // Number of chars in str. | 3055 // Number of chars in str. |
3050 size_t len; | 3056 size_t len; |
3051 } name; | 3057 } name; |
3058 | |
3059 // Only valid for CODE_ADD_LINE_POS_INFO | |
3060 struct { | |
3061 // PC offset | |
3062 size_t offset; | |
3063 // Code postion | |
3064 size_t pos; | |
3065 // Indicates whether this position is a "statement position". (as opposed | |
3066 // to the "postion". See comment for RelocInfo::kNoPosition field.) | |
3067 bool is_statement; | |
danno
2013/01/10 16:47:33
please create an enum PositionType that can be eit
chunyang.dai
2013/01/18 10:22:44
Done.
| |
3068 } line_info; | |
3069 | |
3052 // New location of instructions. Only valid for CODE_MOVED. | 3070 // New location of instructions. Only valid for CODE_MOVED. |
3053 void* new_code_start; | 3071 void* new_code_start; |
3054 }; | 3072 }; |
3055 }; | 3073 }; |
3056 | 3074 |
3057 /** | 3075 /** |
3058 * Option flags passed to the SetJitCodeEventHandler function. | 3076 * Option flags passed to the SetJitCodeEventHandler function. |
3059 */ | 3077 */ |
3060 enum JitCodeEventOptions { | 3078 enum JitCodeEventOptions { |
3061 kJitCodeEventDefault = 0, | 3079 kJitCodeEventDefault = 0, |
(...skipping 1800 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4862 | 4880 |
4863 | 4881 |
4864 } // namespace v8 | 4882 } // namespace v8 |
4865 | 4883 |
4866 | 4884 |
4867 #undef V8EXPORT | 4885 #undef V8EXPORT |
4868 #undef TYPE_CHECK | 4886 #undef TYPE_CHECK |
4869 | 4887 |
4870 | 4888 |
4871 #endif // V8_H_ | 4889 #endif // V8_H_ |
OLD | NEW |