Chromium Code Reviews| Index: Source/platform/heap/Visitor.h |
| diff --git a/Source/platform/heap/Visitor.h b/Source/platform/heap/Visitor.h |
| index d0ec95fb9a7ff8086dd7f1820ceef173c7bf1b6e..92e14de930380c18dddcfe2caa2dc7a96ac55149 100644 |
| --- a/Source/platform/heap/Visitor.h |
| +++ b/Source/platform/heap/Visitor.h |
| @@ -842,12 +842,10 @@ struct TypenameStringTrait { |
| }; |
| #endif |
| -// s_gcInfoMap is a map used to encode a GCInfo* into a 15 bit integer. |
| -// FIXME: Currently we only allow 2^12 types of GCInfos because |
| -// s_gcInfoMap[2^15] increases the bss size unacceptably. |
| -const size_t gcInfoIndexMax = 1 << 12; |
| +// s_gcInfoTable is a map used to encode a GCInfo* into a 15 bit integer. |
| +const size_t gcInfoIndexMax = 1 << 15; |
| extern PLATFORM_EXPORT int s_gcInfoIndex; |
| -extern PLATFORM_EXPORT const GCInfo* s_gcInfoMap[gcInfoIndexMax]; |
| +extern PLATFORM_EXPORT GCInfo const** s_gcInfoTable; |
| // This macro should be used when returning a unique 15 bit integer |
| // for a given gcInfo. |
| @@ -855,7 +853,7 @@ extern PLATFORM_EXPORT const GCInfo* s_gcInfoMap[gcInfoIndexMax]; |
| static const size_t gcInfoIndex = atomicIncrement(&s_gcInfoIndex); \ |
| ASSERT(gcInfoIndex >= 1); \ |
| ASSERT(gcInfoIndex < gcInfoIndexMax); \ |
| - s_gcInfoMap[gcInfoIndex] = &gcInfo; \ |
| + s_gcInfoTable[gcInfoIndex] = &gcInfo; \ |
|
haraken
2015/01/06 08:08:04
Add ASSERT(s_gcInfoTable)
sof
2015/01/06 08:19:19
Done.
|
| return gcInfoIndex; |
| template<typename T> |