| OLD | NEW |
| 1 // Copyright 2014 Google Inc. All Rights Reserved. | 1 // Copyright 2014 Google Inc. All Rights Reserved. |
| 2 // | 2 // |
| 3 // Licensed under the Apache License, Version 2.0 (the "License"); | 3 // Licensed under the Apache License, Version 2.0 (the "License"); |
| 4 // you may not use this file except in compliance with the License. | 4 // you may not use this file except in compliance with the License. |
| 5 // You may obtain a copy of the License at | 5 // You may obtain a copy of the License at |
| 6 // | 6 // |
| 7 // http://www.apache.org/licenses/LICENSE-2.0 | 7 // http://www.apache.org/licenses/LICENSE-2.0 |
| 8 // | 8 // |
| 9 // Unless required by applicable law or agreed to in writing, software | 9 // Unless required by applicable law or agreed to in writing, software |
| 10 // distributed under the License is distributed on an "AS IS" BASIS, | 10 // distributed under the License is distributed on an "AS IS" BASIS, |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 107 DEPRECATED_ASAN_FEATURE_ENABLE_KASKO | | 107 DEPRECATED_ASAN_FEATURE_ENABLE_KASKO | |
| 108 DEPRECATED_ASAN_FEATURE_ENABLE_CRASHPAD; | 108 DEPRECATED_ASAN_FEATURE_ENABLE_CRASHPAD; |
| 109 | 109 |
| 110 // Store the information that we want to report about a block. | 110 // Store the information that we want to report about a block. |
| 111 // TODO(sebmarchand): Rename this to avoid the confusion with the BlockInfo | 111 // TODO(sebmarchand): Rename this to avoid the confusion with the BlockInfo |
| 112 // structure? | 112 // structure? |
| 113 struct AsanBlockInfo { | 113 struct AsanBlockInfo { |
| 114 // The address of the header for this block. | 114 // The address of the header for this block. |
| 115 const void* header; | 115 const void* header; |
| 116 // The user size of the block. | 116 // The user size of the block. |
| 117 size_t user_size : 30; | 117 size_t user_size; |
| 118 // This is implicitly a BlockState value. | 118 // This is implicitly a BlockState value. |
| 119 size_t state : 2; | 119 uint8_t state; |
| 120 // The ID of the allocation thread. | 120 // The ID of the allocation thread. |
| 121 DWORD alloc_tid; | 121 DWORD alloc_tid; |
| 122 // The ID of the free thread. | 122 // The ID of the free thread. |
| 123 DWORD free_tid; | 123 DWORD free_tid; |
| 124 // The result of a block analysis on this block. | 124 // The result of a block analysis on this block. |
| 125 BlockAnalysisResult analysis; | 125 BlockAnalysisResult analysis; |
| 126 // The allocation stack trace. | 126 // The allocation stack trace. |
| 127 void* alloc_stack[agent::common::StackCapture::kMaxNumFrames]; | 127 void* alloc_stack[agent::common::StackCapture::kMaxNumFrames]; |
| 128 // The free stack trace. | 128 // The free stack trace. |
| 129 void* free_stack[agent::common::StackCapture::kMaxNumFrames]; | 129 void* free_stack[agent::common::StackCapture::kMaxNumFrames]; |
| (...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 322 return reinterpret_cast<void*>(context.Rip); | 322 return reinterpret_cast<void*>(context.Rip); |
| 323 #else | 323 #else |
| 324 return reinterpret_cast<void*>(context.Eip); | 324 return reinterpret_cast<void*>(context.Eip); |
| 325 #endif | 325 #endif |
| 326 } | 326 } |
| 327 | 327 |
| 328 } // namespace asan | 328 } // namespace asan |
| 329 } // namespace agent | 329 } // namespace agent |
| 330 | 330 |
| 331 #endif // SYZYGY_AGENT_ASAN_ERROR_INFO_H_ | 331 #endif // SYZYGY_AGENT_ASAN_ERROR_INFO_H_ |
| OLD | NEW |