OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 1126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1137 | 1137 |
1138 #endif | 1138 #endif |
1139 | 1139 |
1140 | 1140 |
1141 // These macros insert annotations that the Blink GC plugin for clang uses for | 1141 // These macros insert annotations that the Blink GC plugin for clang uses for |
1142 // verification. STACK_ALLOCATED is used to declare that objects of this type | 1142 // verification. STACK_ALLOCATED is used to declare that objects of this type |
1143 // are always stack allocated. GC_PLUGIN_IGNORE is used to make the plugin | 1143 // are always stack allocated. GC_PLUGIN_IGNORE is used to make the plugin |
1144 // ignore a particular class or field when checking for proper usage. When using | 1144 // ignore a particular class or field when checking for proper usage. When using |
1145 // GC_PLUGIN_IGNORE a bug-number should be provided as an argument where the | 1145 // GC_PLUGIN_IGNORE a bug-number should be provided as an argument where the |
1146 // bug describes what needs to happen to remove the GC_PLUGIN_IGNORE again. | 1146 // bug describes what needs to happen to remove the GC_PLUGIN_IGNORE again. |
1147 #if COMPILER(CLANG) && !defined(ADDRESS_SANITIZER) | 1147 #if COMPILER(CLANG) |
1148 #define STACK_ALLOCATED() \ | 1148 #define STACK_ALLOCATED() \ |
1149 private: \ | 1149 private: \ |
1150 __attribute__((annotate("blink_stack_allocated"))) \ | 1150 __attribute__((annotate("blink_stack_allocated"))) \ |
1151 void* operator new(size_t) = delete; \ | 1151 void* operator new(size_t) = delete; \ |
1152 void* operator new(size_t, NotNullTag, void*) = delete; \ | 1152 void* operator new(size_t, NotNullTag, void*) = delete; \ |
1153 void* operator new(size_t, void*) = delete; | 1153 void* operator new(size_t, void*) = delete; |
1154 | 1154 |
1155 #define GC_PLUGIN_IGNORE(bug) \ | 1155 #define GC_PLUGIN_IGNORE(bug) \ |
1156 __attribute__((annotate("blink_gc_plugin_ignore"))) | 1156 __attribute__((annotate("blink_gc_plugin_ignore"))) |
1157 #else | 1157 #else |
(...skipping 865 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2023 // to export. This forces it to export all the methods from ThreadHeap. | 2023 // to export. This forces it to export all the methods from ThreadHeap. |
2024 template<> void ThreadHeap<FinalizedHeapObjectHeader>::addPageToHeap(const GCInf
o*); | 2024 template<> void ThreadHeap<FinalizedHeapObjectHeader>::addPageToHeap(const GCInf
o*); |
2025 template<> void ThreadHeap<HeapObjectHeader>::addPageToHeap(const GCInfo*); | 2025 template<> void ThreadHeap<HeapObjectHeader>::addPageToHeap(const GCInfo*); |
2026 extern template class PLATFORM_EXPORT ThreadHeap<FinalizedHeapObjectHeader>; | 2026 extern template class PLATFORM_EXPORT ThreadHeap<FinalizedHeapObjectHeader>; |
2027 extern template class PLATFORM_EXPORT ThreadHeap<HeapObjectHeader>; | 2027 extern template class PLATFORM_EXPORT ThreadHeap<HeapObjectHeader>; |
2028 #endif | 2028 #endif |
2029 | 2029 |
2030 } | 2030 } |
2031 | 2031 |
2032 #endif // Heap_h | 2032 #endif // Heap_h |
OLD | NEW |