Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(70)

Side by Side Diff: Source/platform/heap/HeapTest.cpp

Issue 400543004: Rename WebCore namespace to blink in Platform (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/platform/heap/HeapTerminatedArrayBuilder.h ('k') | Source/platform/heap/RunAllTests.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 24 matching lines...) Expand all
35 #include "platform/heap/HeapLinkedStack.h" 35 #include "platform/heap/HeapLinkedStack.h"
36 #include "platform/heap/HeapTerminatedArrayBuilder.h" 36 #include "platform/heap/HeapTerminatedArrayBuilder.h"
37 #include "platform/heap/ThreadState.h" 37 #include "platform/heap/ThreadState.h"
38 #include "platform/heap/Visitor.h" 38 #include "platform/heap/Visitor.h"
39 #include "public/platform/Platform.h" 39 #include "public/platform/Platform.h"
40 #include "wtf/HashTraits.h" 40 #include "wtf/HashTraits.h"
41 #include "wtf/LinkedHashSet.h" 41 #include "wtf/LinkedHashSet.h"
42 42
43 #include <gtest/gtest.h> 43 #include <gtest/gtest.h>
44 44
45 namespace WebCore { 45 namespace blink {
46 46
47 class IntWrapper : public GarbageCollectedFinalized<IntWrapper> { 47 class IntWrapper : public GarbageCollectedFinalized<IntWrapper> {
48 public: 48 public:
49 static IntWrapper* create(int x) 49 static IntWrapper* create(int x)
50 { 50 {
51 return new IntWrapper(x); 51 return new IntWrapper(x);
52 } 52 }
53 53
54 virtual ~IntWrapper() 54 virtual ~IntWrapper()
55 { 55 {
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 visitor->trace(first); 145 visitor->trace(first);
146 return false; 146 return false;
147 } 147 }
148 }; 148 };
149 149
150 } 150 }
151 151
152 namespace WTF { 152 namespace WTF {
153 153
154 template<typename T> struct DefaultHash; 154 template<typename T> struct DefaultHash;
155 template<> struct DefaultHash<WebCore::ThreadMarker> { 155 template<> struct DefaultHash<blink::ThreadMarker> {
156 typedef WebCore::ThreadMarkerHash Hash; 156 typedef blink::ThreadMarkerHash Hash;
157 }; 157 };
158 158
159 // ThreadMarkerHash is the default hash for ThreadMarker 159 // ThreadMarkerHash is the default hash for ThreadMarker
160 template<> struct HashTraits<WebCore::ThreadMarker> : GenericHashTraits<WebCore: :ThreadMarker> { 160 template<> struct HashTraits<blink::ThreadMarker> : GenericHashTraits<blink::Thr eadMarker> {
161 static const bool emptyValueIsZero = true; 161 static const bool emptyValueIsZero = true;
162 static void constructDeletedValue(WebCore::ThreadMarker& slot) { new (NotNul l, &slot) WebCore::ThreadMarker(HashTableDeletedValue); } 162 static void constructDeletedValue(blink::ThreadMarker& slot) { new (NotNull, &slot) blink::ThreadMarker(HashTableDeletedValue); }
163 static bool isDeletedValue(const WebCore::ThreadMarker& slot) { return slot. isHashTableDeletedValue(); } 163 static bool isDeletedValue(const blink::ThreadMarker& slot) { return slot.is HashTableDeletedValue(); }
164 }; 164 };
165 165
166 // The hash algorithm for our custom pair class is just the standard double 166 // The hash algorithm for our custom pair class is just the standard double
167 // hash for pairs. Note that this means you can't mutate either of the parts of 167 // hash for pairs. Note that this means you can't mutate either of the parts of
168 // the pair while they are in the hash table, as that would change their hash 168 // the pair while they are in the hash table, as that would change their hash
169 // code and thus their preferred placement in the table. 169 // code and thus their preferred placement in the table.
170 template<> struct DefaultHash<WebCore::PairWithWeakHandling> { 170 template<> struct DefaultHash<blink::PairWithWeakHandling> {
171 typedef PairHash<WebCore::Member<WebCore::IntWrapper>, WebCore::WeakMember<W ebCore::IntWrapper> > Hash; 171 typedef PairHash<blink::Member<blink::IntWrapper>, blink::WeakMember<blink:: IntWrapper> > Hash;
172 }; 172 };
173 173
174 // Custom traits for the pair. These are weakness handling traits, which means 174 // Custom traits for the pair. These are weakness handling traits, which means
175 // PairWithWeakHandling must implement the traceInCollection method. 175 // PairWithWeakHandling must implement the traceInCollection method.
176 // In addition, these traits are concerned with the two magic values for the 176 // In addition, these traits are concerned with the two magic values for the
177 // object, that represent empty and deleted slots in the hash table. The 177 // object, that represent empty and deleted slots in the hash table. The
178 // SimpleClassHashTraits allow empty slots in the table to be initialzed with 178 // SimpleClassHashTraits allow empty slots in the table to be initialzed with
179 // memset to zero, and we use -1 in the first part of the pair to represent 179 // memset to zero, and we use -1 in the first part of the pair to represent
180 // deleted slots. 180 // deleted slots.
181 template<> struct HashTraits<WebCore::PairWithWeakHandling> : WebCore::WeakHandl ingHashTraits<WebCore::PairWithWeakHandling> { 181 template<> struct HashTraits<blink::PairWithWeakHandling> : blink::WeakHandlingH ashTraits<blink::PairWithWeakHandling> {
182 static const bool needsDestruction = false; 182 static const bool needsDestruction = false;
183 static const bool hasIsEmptyValueFunction = true; 183 static const bool hasIsEmptyValueFunction = true;
184 static bool isEmptyValue(const WebCore::PairWithWeakHandling& value) { retur n !value.first; } 184 static bool isEmptyValue(const blink::PairWithWeakHandling& value) { return !value.first; }
185 static void constructDeletedValue(WebCore::PairWithWeakHandling& slot) { new (NotNull, &slot) WebCore::PairWithWeakHandling(HashTableDeletedValue); } 185 static void constructDeletedValue(blink::PairWithWeakHandling& slot) { new ( NotNull, &slot) blink::PairWithWeakHandling(HashTableDeletedValue); }
186 static bool isDeletedValue(const WebCore::PairWithWeakHandling& value) { ret urn value.isHashTableDeletedValue(); } 186 static bool isDeletedValue(const blink::PairWithWeakHandling& value) { retur n value.isHashTableDeletedValue(); }
187 }; 187 };
188 188
189 } 189 }
190 190
191 namespace WebCore { 191 namespace blink {
192 192
193 class TestGCScope { 193 class TestGCScope {
194 public: 194 public:
195 explicit TestGCScope(ThreadState::StackState state) 195 explicit TestGCScope(ThreadState::StackState state)
196 : m_state(ThreadState::current()) 196 : m_state(ThreadState::current())
197 , m_safePointScope(state) 197 , m_safePointScope(state)
198 , m_parkedAllThreads(false) 198 , m_parkedAllThreads(false)
199 { 199 {
200 m_state->checkThread(); 200 m_state->checkThread();
201 EXPECT_FALSE(m_state->isInGC()); 201 EXPECT_FALSE(m_state->isInGC());
(...skipping 1136 matching lines...) Expand 10 before | Expand all | Expand 10 after
1338 1338
1339 IntWrapper* payload() const { return m_payload; } 1339 IntWrapper* payload() const { return m_payload; }
1340 1340
1341 private: 1341 private:
1342 Member<IntWrapper> m_payload; 1342 Member<IntWrapper> m_payload;
1343 bool m_isLast; 1343 bool m_isLast;
1344 }; 1344 };
1345 1345
1346 } // WebCore namespace 1346 } // WebCore namespace
1347 1347
1348 WTF_ALLOW_MOVE_INIT_AND_COMPARE_WITH_MEM_FUNCTIONS(WebCore::VectorObject); 1348 WTF_ALLOW_MOVE_INIT_AND_COMPARE_WITH_MEM_FUNCTIONS(blink::VectorObject);
1349 WTF_ALLOW_MOVE_INIT_AND_COMPARE_WITH_MEM_FUNCTIONS(WebCore::VectorObjectInherite dTrace); 1349 WTF_ALLOW_MOVE_INIT_AND_COMPARE_WITH_MEM_FUNCTIONS(blink::VectorObjectInheritedT race);
1350 WTF_ALLOW_MOVE_INIT_AND_COMPARE_WITH_MEM_FUNCTIONS(WebCore::VectorObjectNoTrace) ; 1350 WTF_ALLOW_MOVE_INIT_AND_COMPARE_WITH_MEM_FUNCTIONS(blink::VectorObjectNoTrace);
1351 1351
1352 namespace WebCore { 1352 namespace blink {
1353 1353
1354 class OneKiloByteObject : public GarbageCollectedFinalized<OneKiloByteObject> { 1354 class OneKiloByteObject : public GarbageCollectedFinalized<OneKiloByteObject> {
1355 public: 1355 public:
1356 ~OneKiloByteObject() { s_destructorCalls++; } 1356 ~OneKiloByteObject() { s_destructorCalls++; }
1357 char* data() { return m_data; } 1357 char* data() { return m_data; }
1358 void trace(Visitor* visitor) { } 1358 void trace(Visitor* visitor) { }
1359 static int s_destructorCalls; 1359 static int s_destructorCalls;
1360 1360
1361 private: 1361 private:
1362 static const size_t s_length = 1024; 1362 static const size_t s_length = 1024;
(...skipping 3472 matching lines...) Expand 10 before | Expand all | Expand 10 after
4835 }; 4835 };
4836 4836
4837 volatile uintptr_t DeadBitTester::s_workerObjectPointer = 0; 4837 volatile uintptr_t DeadBitTester::s_workerObjectPointer = 0;
4838 4838
4839 TEST(HeapTest, ObjectDeadBit) 4839 TEST(HeapTest, ObjectDeadBit)
4840 { 4840 {
4841 DeadBitTester::test(); 4841 DeadBitTester::test();
4842 } 4842 }
4843 4843
4844 } // WebCore namespace 4844 } // WebCore namespace
OLDNEW
« no previous file with comments | « Source/platform/heap/HeapTerminatedArrayBuilder.h ('k') | Source/platform/heap/RunAllTests.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698