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

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

Issue 783823002: Oilpan: enable eager tracing. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: prevent trace depth asserts in HeapTest Created 6 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 | Annotate | Revision Log
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 655 matching lines...) Expand 10 before | Expand all | Expand 10 after
666 static const int magic = 1337; 666 static const int magic = 1337;
667 int m_magic; 667 int m_magic;
668 668
669 Bar() 669 Bar()
670 : m_magic(magic) 670 : m_magic(magic)
671 { 671 {
672 s_live++; 672 s_live++;
673 } 673 }
674 }; 674 };
675 675
676 WILL_NOT_BE_EAGERLY_TRACED(Bar);
677
676 unsigned Bar::s_live = 0; 678 unsigned Bar::s_live = 0;
677 679
678 class Baz : public GarbageCollected<Baz> { 680 class Baz : public GarbageCollected<Baz> {
679 public: 681 public:
680 static Baz* create(Bar* bar) 682 static Baz* create(Bar* bar)
681 { 683 {
682 return new Baz(bar); 684 return new Baz(bar);
683 } 685 }
684 686
685 void trace(Visitor* visitor) 687 void trace(Visitor* visitor)
(...skipping 4614 matching lines...) Expand 10 before | Expand all | Expand 10 after
5300 class TraceTypeEagerly7 { }; 5302 class TraceTypeEagerly7 { };
5301 5303
5302 class TraceTypeNonEagerly1 { }; 5304 class TraceTypeNonEagerly1 { };
5303 WILL_NOT_BE_EAGERLY_TRACED(TraceTypeNonEagerly1); 5305 WILL_NOT_BE_EAGERLY_TRACED(TraceTypeNonEagerly1);
5304 5306
5305 TEST(HeapTest, TraceTypesEagerly) 5307 TEST(HeapTest, TraceTypesEagerly)
5306 { 5308 {
5307 COMPILE_ASSERT(TraceEagerlyTrait<TraceTypeEagerly1>::value, ShouldBeTrue); 5309 COMPILE_ASSERT(TraceEagerlyTrait<TraceTypeEagerly1>::value, ShouldBeTrue);
5308 COMPILE_ASSERT(TraceEagerlyTrait<Member<TraceTypeEagerly1>>::value, ShouldBe True); 5310 COMPILE_ASSERT(TraceEagerlyTrait<Member<TraceTypeEagerly1>>::value, ShouldBe True);
5309 COMPILE_ASSERT(TraceEagerlyTrait<WeakMember<TraceTypeEagerly1>>::value, Shou ldBeTrue); 5311 COMPILE_ASSERT(TraceEagerlyTrait<WeakMember<TraceTypeEagerly1>>::value, Shou ldBeTrue);
5310 COMPILE_ASSERT(ENABLE_EAGER_TRACING_BY_DEFAULT || !TraceEagerlyTrait<RawPtr< TraceTypeEagerly1>>::value, ShouldBeTrue); 5312 COMPILE_ASSERT(TraceEagerlyTrait<RawPtr<TraceTypeEagerly1>>::value == MARKER _EAGER_TRACING, ShouldBeTrue);
5311 COMPILE_ASSERT(TraceEagerlyTrait<HeapVector<Member<TraceTypeEagerly1>>>::val ue, ShouldBeTrue); 5313 COMPILE_ASSERT(TraceEagerlyTrait<HeapVector<Member<TraceTypeEagerly1>>>::val ue, ShouldBeTrue);
5312 COMPILE_ASSERT(TraceEagerlyTrait<HeapVector<WeakMember<TraceTypeEagerly1>>>: :value, ShouldBeTrue); 5314 COMPILE_ASSERT(TraceEagerlyTrait<HeapVector<WeakMember<TraceTypeEagerly1>>>: :value, ShouldBeTrue);
5313 COMPILE_ASSERT(TraceEagerlyTrait<HeapHashSet<Member<TraceTypeEagerly1>>>::va lue, ShouldBeTrue); 5315 COMPILE_ASSERT(TraceEagerlyTrait<HeapHashSet<Member<TraceTypeEagerly1>>>::va lue, ShouldBeTrue);
5314 COMPILE_ASSERT(TraceEagerlyTrait<HeapHashSet<Member<TraceTypeEagerly1>>>::va lue, ShouldBeTrue); 5316 COMPILE_ASSERT(TraceEagerlyTrait<HeapHashSet<Member<TraceTypeEagerly1>>>::va lue, ShouldBeTrue);
5315 using HashMapIntToObj = HeapHashMap<int, Member<TraceTypeEagerly1>>; 5317 using HashMapIntToObj = HeapHashMap<int, Member<TraceTypeEagerly1>>;
5316 COMPILE_ASSERT(TraceEagerlyTrait<HashMapIntToObj>::value, ShouldBeTrue); 5318 COMPILE_ASSERT(TraceEagerlyTrait<HashMapIntToObj>::value, ShouldBeTrue);
5317 using HashMapObjToInt = HeapHashMap<Member<TraceTypeEagerly1>, int>; 5319 using HashMapObjToInt = HeapHashMap<Member<TraceTypeEagerly1>, int>;
5318 COMPILE_ASSERT(TraceEagerlyTrait<HashMapObjToInt>::value, ShouldBeTrue); 5320 COMPILE_ASSERT(TraceEagerlyTrait<HashMapObjToInt>::value, ShouldBeTrue);
5319 5321
5320 COMPILE_ASSERT(TraceEagerlyTrait<TraceTypeEagerly2>::value, ShouldBeTrue); 5322 COMPILE_ASSERT(TraceEagerlyTrait<TraceTypeEagerly2>::value, ShouldBeTrue);
5321 COMPILE_ASSERT(TraceEagerlyTrait<TraceTypeEagerly3>::value, ShouldBeTrue); 5323 COMPILE_ASSERT(TraceEagerlyTrait<TraceTypeEagerly3>::value, ShouldBeTrue);
5322 5324
5323 COMPILE_ASSERT(TraceEagerlyTrait<TraceTypeEagerly4>::value, ShouldBeTrue); 5325 COMPILE_ASSERT(TraceEagerlyTrait<TraceTypeEagerly4>::value, ShouldBeTrue);
5324 5326
5325 COMPILE_ASSERT(TraceEagerlyTrait<TraceTypeEagerly5>::value, ShouldBeTrue); 5327 COMPILE_ASSERT(TraceEagerlyTrait<TraceTypeEagerly5>::value, ShouldBeTrue);
5326 COMPILE_ASSERT(TraceEagerlyTrait<Member<TraceTypeEagerly5>>::value, ShouldBe True); 5328 COMPILE_ASSERT(TraceEagerlyTrait<Member<TraceTypeEagerly5>>::value, ShouldBe True);
5327 5329
5328 COMPILE_ASSERT(ENABLE_EAGER_TRACING_BY_DEFAULT || !TraceEagerlyTrait<TraceTy peEagerly6>::value, ShouldBeTrue); 5330 COMPILE_ASSERT(TraceEagerlyTrait<TraceTypeEagerly6>::value == MARKER_EAGER_T RACING, ShouldBeTrue);
5329 COMPILE_ASSERT(ENABLE_EAGER_TRACING_BY_DEFAULT || !TraceEagerlyTrait<TraceTy peEagerly7>::value, ShouldBeTrue); 5331 COMPILE_ASSERT(TraceEagerlyTrait<TraceTypeEagerly7>::value == MARKER_EAGER_T RACING, ShouldBeTrue);
5330 5332
5331 COMPILE_ASSERT(!TraceEagerlyTrait<TraceTypeNonEagerly1>::value, ShouldBeTrue ); 5333 COMPILE_ASSERT(!TraceEagerlyTrait<TraceTypeNonEagerly1>::value, ShouldBeTrue );
5332 } 5334 }
5333 5335
5334 } // namespace blink 5336 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698