| 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 2976 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2987 | 2987 |
| 2988 Persistent<Set> set1 = new Set(); | 2988 Persistent<Set> set1 = new Set(); |
| 2989 Persistent<Set> set2 = new Set(); | 2989 Persistent<Set> set2 = new Set(); |
| 2990 | 2990 |
| 2991 const Set& constSet = *set1.get(); | 2991 const Set& constSet = *set1.get(); |
| 2992 | 2992 |
| 2993 keepNumbersAlive.push_back(IntWrapper::create(2)); | 2993 keepNumbersAlive.push_back(IntWrapper::create(2)); |
| 2994 keepNumbersAlive.push_back(IntWrapper::create(103)); | 2994 keepNumbersAlive.push_back(IntWrapper::create(103)); |
| 2995 keepNumbersAlive.push_back(IntWrapper::create(10)); | 2995 keepNumbersAlive.push_back(IntWrapper::create(10)); |
| 2996 | 2996 |
| 2997 set1->add(IntWrapper::create(0)); | 2997 set1->insert(IntWrapper::create(0)); |
| 2998 set1->add(keepNumbersAlive[0]); | 2998 set1->insert(keepNumbersAlive[0]); |
| 2999 set1->add(keepNumbersAlive[1]); | 2999 set1->insert(keepNumbersAlive[1]); |
| 3000 set1->add(keepNumbersAlive[2]); | 3000 set1->insert(keepNumbersAlive[2]); |
| 3001 | 3001 |
| 3002 set2->clear(); | 3002 set2->clear(); |
| 3003 set2->add(IntWrapper::create(42)); | 3003 set2->insert(IntWrapper::create(42)); |
| 3004 set2->clear(); | 3004 set2->clear(); |
| 3005 | 3005 |
| 3006 EXPECT_EQ(4u, set1->size()); | 3006 EXPECT_EQ(4u, set1->size()); |
| 3007 typename Set::iterator it(set1->begin()); | 3007 typename Set::iterator it(set1->begin()); |
| 3008 typename Set::reverse_iterator reverse(set1->rbegin()); | 3008 typename Set::reverse_iterator reverse(set1->rbegin()); |
| 3009 typename Set::const_iterator cit(constSet.begin()); | 3009 typename Set::const_iterator cit(constSet.begin()); |
| 3010 typename Set::const_reverse_iterator creverse(constSet.rbegin()); | 3010 typename Set::const_reverse_iterator creverse(constSet.rbegin()); |
| 3011 | 3011 |
| 3012 EXPECT_EQ(0, (*it)->value()); | 3012 EXPECT_EQ(0, (*it)->value()); |
| 3013 EXPECT_EQ(0, (*cit)->value()); | 3013 EXPECT_EQ(0, (*cit)->value()); |
| (...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3386 PersistentHeapVector<Member<IntWrapper>> keepNumbersAlive; | 3386 PersistentHeapVector<Member<IntWrapper>> keepNumbersAlive; |
| 3387 for (int i = 0; i < 128; i += 2) { | 3387 for (int i = 0; i < 128; i += 2) { |
| 3388 IntWrapper* wrapped = IntWrapper::create(i); | 3388 IntWrapper* wrapped = IntWrapper::create(i); |
| 3389 IntWrapper* wrapped2 = IntWrapper::create(i + 1); | 3389 IntWrapper* wrapped2 = IntWrapper::create(i + 1); |
| 3390 keepNumbersAlive.push_back(wrapped); | 3390 keepNumbersAlive.push_back(wrapped); |
| 3391 keepNumbersAlive.push_back(wrapped2); | 3391 keepNumbersAlive.push_back(wrapped2); |
| 3392 weakStrong->insert(wrapped, wrapped2); | 3392 weakStrong->insert(wrapped, wrapped2); |
| 3393 strongWeak->insert(wrapped2, wrapped); | 3393 strongWeak->insert(wrapped2, wrapped); |
| 3394 weakWeak->insert(wrapped, wrapped2); | 3394 weakWeak->insert(wrapped, wrapped2); |
| 3395 weakSet->insert(wrapped); | 3395 weakSet->insert(wrapped); |
| 3396 weakOrderedSet->add(wrapped); | 3396 weakOrderedSet->insert(wrapped); |
| 3397 } | 3397 } |
| 3398 | 3398 |
| 3399 EXPECT_EQ(64u, weakStrong->size()); | 3399 EXPECT_EQ(64u, weakStrong->size()); |
| 3400 EXPECT_EQ(64u, strongWeak->size()); | 3400 EXPECT_EQ(64u, strongWeak->size()); |
| 3401 EXPECT_EQ(64u, weakWeak->size()); | 3401 EXPECT_EQ(64u, weakWeak->size()); |
| 3402 EXPECT_EQ(64u, weakSet->size()); | 3402 EXPECT_EQ(64u, weakSet->size()); |
| 3403 EXPECT_EQ(64u, weakOrderedSet->size()); | 3403 EXPECT_EQ(64u, weakOrderedSet->size()); |
| 3404 | 3404 |
| 3405 // Collect garbage. This should change nothing since we are keeping | 3405 // Collect garbage. This should change nothing since we are keeping |
| 3406 // alive the IntWrapper objects. | 3406 // alive the IntWrapper objects. |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3503 } | 3503 } |
| 3504 } | 3504 } |
| 3505 if (addAfterwards) { | 3505 if (addAfterwards) { |
| 3506 for (int i = 1000; i < 1100; i++) { | 3506 for (int i = 1000; i < 1100; i++) { |
| 3507 IntWrapper* wrapped = IntWrapper::create(i); | 3507 IntWrapper* wrapped = IntWrapper::create(i); |
| 3508 keepNumbersAlive.push_back(wrapped); | 3508 keepNumbersAlive.push_back(wrapped); |
| 3509 weakStrong->insert(wrapped, wrapped); | 3509 weakStrong->insert(wrapped, wrapped); |
| 3510 strongWeak->insert(wrapped, wrapped); | 3510 strongWeak->insert(wrapped, wrapped); |
| 3511 weakWeak->insert(wrapped, wrapped); | 3511 weakWeak->insert(wrapped, wrapped); |
| 3512 weakSet->insert(wrapped); | 3512 weakSet->insert(wrapped); |
| 3513 weakOrderedSet->add(wrapped); | 3513 weakOrderedSet->insert(wrapped); |
| 3514 } | 3514 } |
| 3515 } | 3515 } |
| 3516 if (collectionNumber == weakStrongIndex) | 3516 if (collectionNumber == weakStrongIndex) |
| 3517 EXPECT_EQ(count + added, weakStrong->size()); | 3517 EXPECT_EQ(count + added, weakStrong->size()); |
| 3518 else if (collectionNumber == strongWeakIndex) | 3518 else if (collectionNumber == strongWeakIndex) |
| 3519 EXPECT_EQ(count + added, strongWeak->size()); | 3519 EXPECT_EQ(count + added, strongWeak->size()); |
| 3520 else if (collectionNumber == weakWeakIndex) | 3520 else if (collectionNumber == weakWeakIndex) |
| 3521 EXPECT_EQ(count + added, weakWeak->size()); | 3521 EXPECT_EQ(count + added, weakWeak->size()); |
| 3522 else if (collectionNumber == weakSetIndex) | 3522 else if (collectionNumber == weakSetIndex) |
| 3523 EXPECT_EQ(count + added, weakSet->size()); | 3523 EXPECT_EQ(count + added, weakSet->size()); |
| (...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3857 pDeque.append(seven); | 3857 pDeque.append(seven); |
| 3858 pDeque.append(two); | 3858 pDeque.append(two); |
| 3859 | 3859 |
| 3860 Vec* vec = new Vec(); | 3860 Vec* vec = new Vec(); |
| 3861 vec->swap(pVec); | 3861 vec->swap(pVec); |
| 3862 | 3862 |
| 3863 pVec.push_back(two); | 3863 pVec.push_back(two); |
| 3864 pVec.push_back(three); | 3864 pVec.push_back(three); |
| 3865 | 3865 |
| 3866 pSet.insert(four); | 3866 pSet.insert(four); |
| 3867 pListSet.add(eight); | 3867 pListSet.insert(eight); |
| 3868 pLinkedSet.add(nine); | 3868 pLinkedSet.insert(nine); |
| 3869 pMap.insert(five, six); | 3869 pMap.insert(five, six); |
| 3870 wpMap.insert(ten, eleven); | 3870 wpMap.insert(ten, eleven); |
| 3871 | 3871 |
| 3872 // Collect |vec| and |one|. | 3872 // Collect |vec| and |one|. |
| 3873 vec = 0; | 3873 vec = 0; |
| 3874 preciselyCollectGarbage(); | 3874 preciselyCollectGarbage(); |
| 3875 EXPECT_EQ(1, IntWrapper::s_destructorCalls); | 3875 EXPECT_EQ(1, IntWrapper::s_destructorCalls); |
| 3876 | 3876 |
| 3877 EXPECT_EQ(2u, pVec.size()); | 3877 EXPECT_EQ(2u, pVec.size()); |
| 3878 EXPECT_EQ(two, pVec.at(0)); | 3878 EXPECT_EQ(two, pVec.at(0)); |
| (...skipping 2466 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6345 "HeapVector"); | 6345 "HeapVector"); |
| 6346 static_assert( | 6346 static_assert( |
| 6347 WTF::IsGarbageCollectedType<HeapDeque<Member<IntWrapper>>>::value, | 6347 WTF::IsGarbageCollectedType<HeapDeque<Member<IntWrapper>>>::value, |
| 6348 "HeapDeque"); | 6348 "HeapDeque"); |
| 6349 static_assert(WTF::IsGarbageCollectedType< | 6349 static_assert(WTF::IsGarbageCollectedType< |
| 6350 HeapTerminatedArray<Member<IntWrapper>>>::value, | 6350 HeapTerminatedArray<Member<IntWrapper>>>::value, |
| 6351 "HeapTerminatedArray"); | 6351 "HeapTerminatedArray"); |
| 6352 } | 6352 } |
| 6353 | 6353 |
| 6354 } // namespace blink | 6354 } // namespace blink |
| OLD | NEW |