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

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

Issue 2531973002: Simple BlinkGC heap compaction. (Closed)
Patch Set: synchronize on compaction finish Created 4 years 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
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 314 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 void mark(const void* object, TraceCallback) override { 325 void mark(const void* object, TraceCallback) override {
326 if (object) 326 if (object)
327 m_count++; 327 m_count++;
328 } 328 }
329 329
330 void markHeader(HeapObjectHeader* header, TraceCallback callback) override { 330 void markHeader(HeapObjectHeader* header, TraceCallback callback) override {
331 ASSERT(header->payload()); 331 ASSERT(header->payload());
332 m_count++; 332 m_count++;
333 } 333 }
334 334
335 void registerDelayedMarkNoTracing(const void*) override {} 335 void registerDelayedMarkNoTracing(void**) override {}
336 void registerWeakMembers(const void*, const void*, WeakCallback) override {} 336 void registerWeakMembers(const void*, const void*, WeakCallback) override {}
337 void registerWeakTable(const void*, 337 void registerWeakTable(const void*,
338 EphemeronCallback, 338 EphemeronCallback,
339 EphemeronCallback) override {} 339 EphemeronCallback) override {}
340 #if ENABLE(ASSERT) 340 #if ENABLE(ASSERT)
341 bool weakTableRegistered(const void*) override { return false; } 341 bool weakTableRegistered(const void*) override { return false; }
342 #endif 342 #endif
343 void registerWeakCellWithCallback(void**, WeakCallback) override {} 343 void registerWeakCellWithCallback(void**, WeakCallback) override {}
344 bool ensureMarked(const void* objectPointer) override { 344 bool ensureMarked(const void* objectPointer) override {
345 if (!objectPointer || 345 if (!objectPointer ||
346 HeapObjectHeader::fromPayload(objectPointer)->isMarked()) 346 HeapObjectHeader::fromPayload(objectPointer)->isMarked())
347 return false; 347 return false;
348 markNoTracing(objectPointer); 348 markNoTracing(objectPointer);
349 return true; 349 return true;
350 } 350 }
351 351
352 void registerMovingObjectReference(MovableReference*) override {}
353
354 void registerMovingObjectCallback(MovableReference,
355 MovingObjectCallback,
356 void*) override {}
357
352 size_t count() { return m_count; } 358 size_t count() { return m_count; }
353 void reset() { m_count = 0; } 359 void reset() { m_count = 0; }
354 360
355 private: 361 private:
356 StackFrameDepthScope m_scope; 362 StackFrameDepthScope m_scope;
357 size_t m_count; 363 size_t m_count;
358 }; 364 };
359 365
360 #undef DEFINE_VISITOR_METHODS 366 #undef DEFINE_VISITOR_METHODS
361 367
(...skipping 6445 matching lines...) Expand 10 before | Expand all | Expand 10 after
6807 "HeapVector"); 6813 "HeapVector");
6808 static_assert( 6814 static_assert(
6809 WTF::IsGarbageCollectedType<HeapDeque<Member<IntWrapper>>>::value, 6815 WTF::IsGarbageCollectedType<HeapDeque<Member<IntWrapper>>>::value,
6810 "HeapDeque"); 6816 "HeapDeque");
6811 static_assert(WTF::IsGarbageCollectedType< 6817 static_assert(WTF::IsGarbageCollectedType<
6812 HeapTerminatedArray<Member<IntWrapper>>>::value, 6818 HeapTerminatedArray<Member<IntWrapper>>>::value,
6813 "HeapTerminatedArray"); 6819 "HeapTerminatedArray");
6814 } 6820 }
6815 6821
6816 } // namespace blink 6822 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698