| 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 655 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |