Changeset 249461 in webkit
- Timestamp:
- Sep 4, 2019 1:16:33 AM (5 years ago)
- Location:
- trunk
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/bmalloc/ChangeLog
r249312 r249461 1 2019-09-03 Yusuke Suzuki <ysuzuki@apple.com> 2 3 [bmalloc] IsoTLSLayout and AllIsoHeaps registration is racy with derived class initialization with virtual functions 4 https://bugs.webkit.org/show_bug.cgi?id=201448 5 6 Reviewed by Mark Lam. 7 8 In the base class of IsoTLSEntry and IsoHeapImplBase, we register each instance with the per-process linked-list singleton to 9 offer a way to iterate all these instances. But since derived classes of IsoTLSEntry and IsoHeapImplBase have virtual functions, 10 the instance is not fully instantiated yet when executing the base constructor! In particular, the register instance needs vtable pointer 11 initialization in the derived constructor. 12 13 So, there is a race condition, 14 15 1. IsoTLSEntry adds itself to the global linked-list. 16 2. IsoTLSEntry's derived class is initializing the instance including vtable pointer, this happens because base and derived classes have virtual functions. 17 3. While doing (2), other thread iterates instances through (1)'s linked-list and call virtual functions 18 19 Then, crash happens because the instance vtable pointer hasn't been set to the derived class' vtable yet. IsoHeapImpl has the same problem. 20 This issue causes some crashes in bmalloc::Scavenger::scavenge / bmalloc::IsoTLS::ensureEntries. 21 22 In this patch, 23 24 1. We introduce IsoTLSEntryHolder, which initialize the TLS entry. And after fully initializing it, the holder registers the entry with the IsoTLSLayout singleton. 25 2. We call IsoHeapImplBase::addToAllIsoHeaps after IsoHeapImpl is fully initialized. 26 3. We put memory barrier in IsoTLSLayout since IsoTLSLayout::head does not take a lock. 27 4. We add unit-test that reliably reproduces IsoHeapImpl crash if we run this test ~10 times! 28 29 * bmalloc/AllIsoHeaps.h: 30 * bmalloc/IsoHeapImpl.h: 31 * bmalloc/IsoHeapImplInlines.h: 32 (bmalloc::IsoHeapImpl<Config>::IsoHeapImpl): 33 (bmalloc::IsoHeapImpl<Config>::allocatorOffset): 34 (bmalloc::IsoHeapImpl<Config>::deallocatorOffset): 35 * bmalloc/IsoHeapInlines.h: 36 (bmalloc::api::IsoHeap<Type>::initialize): 37 * bmalloc/IsoTLSAllocatorEntry.h: 38 * bmalloc/IsoTLSDeallocatorEntry.h: 39 * bmalloc/IsoTLSEntry.cpp: 40 (bmalloc::IsoTLSEntry::IsoTLSEntry): 41 * bmalloc/IsoTLSEntry.h: 42 (bmalloc::IsoTLSEntryHolder::IsoTLSEntryHolder): 43 (bmalloc::IsoTLSEntryHolder::operator* const): 44 (bmalloc::IsoTLSEntryHolder::operator*): 45 (bmalloc::IsoTLSEntryHolder::operator-> const): 46 (bmalloc::IsoTLSEntryHolder::operator->): 47 * bmalloc/IsoTLSLayout.cpp: 48 (bmalloc::IsoTLSLayout::add): 49 * bmalloc/IsoTLSLayout.h: 50 1 51 2019-08-29 Keith Rollin <krollin@apple.com> 2 52 -
trunk/Source/bmalloc/bmalloc/AllIsoHeaps.h
r244497 r249461 1 1 /* 2 * Copyright (C) 2017 Apple Inc. All rights reserved.2 * Copyright (C) 2017-2019 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 32 32 namespace bmalloc { 33 33 34 class AllIsoHeaps : public StaticPerProcess<AllIsoHeaps> {34 class BEXPORT AllIsoHeaps : public StaticPerProcess<AllIsoHeaps> { 35 35 public: 36 36 AllIsoHeaps(const std::lock_guard<Mutex>&); -
trunk/Source/bmalloc/bmalloc/IsoHeapImpl.h
r246744 r249461 38 38 class BEXPORT IsoHeapImplBase { 39 39 MAKE_BMALLOCED; 40 IsoHeapImplBase(const IsoHeapImplBase&) = delete; 41 IsoHeapImplBase& operator=(const IsoHeapImplBase&) = delete; 40 42 public: 41 43 static constexpr unsigned maxAllocationFromShared = 8; … … 53 55 static void finishScavenging(Vector<DeferredDecommit>&); 54 56 57 void addToAllIsoHeaps(); 58 55 59 protected: 56 60 IsoHeapImplBase(); 57 void addToAllIsoHeaps();58 61 59 62 friend class IsoSharedPage; … … 117 120 118 121 // It's almost always the caller's responsibility to grab the lock. This lock comes from the 119 // PerProcess<IsoTLSDeallocatorEntry<Config>>::get()->lock. That's pretty weird, and we don't122 // (*PerProcess<IsoTLSEntryHolder<IsoTLSDeallocatorEntry<Config>>>::get())->lock. That's pretty weird, and we don't 120 123 // try to disguise the fact that it's weird. We only do that because heaps in the same size class 121 124 // share the same deallocator log, so it makes sense for them to also share the same lock to … … 138 141 IsoDirectoryPage<Config>* m_firstEligibleOrDecommitedDirectory { nullptr }; 139 142 140 IsoTLS AllocatorEntry<Config> m_allocator;143 IsoTLSEntryHolder<IsoTLSAllocatorEntry<Config>> m_allocator; 141 144 }; 142 145 -
trunk/Source/bmalloc/bmalloc/IsoHeapImplInlines.h
r245908 r249461 35 35 template<typename Config> 36 36 IsoHeapImpl<Config>::IsoHeapImpl() 37 : lock( PerProcess<IsoTLSDeallocatorEntry<Config>>::get()->lock)37 : lock((*PerProcess<IsoTLSEntryHolder<IsoTLSDeallocatorEntry<Config>>>::get())->lock) 38 38 , m_inlineDirectory(*this) 39 39 , m_allocator(*this) 40 40 { 41 addToAllIsoHeaps();42 41 } 43 42 … … 121 120 unsigned IsoHeapImpl<Config>::allocatorOffset() 122 121 { 123 return m_allocator .offset();122 return m_allocator->offset(); 124 123 } 125 124 … … 127 126 unsigned IsoHeapImpl<Config>::deallocatorOffset() 128 127 { 129 return PerProcess<IsoTLSDeallocatorEntry<Config>>::get()->offset();128 return (*PerProcess<IsoTLSEntryHolder<IsoTLSDeallocatorEntry<Config>>>::get())->offset(); 130 129 } 131 130 -
trunk/Source/bmalloc/bmalloc/IsoHeapInlines.h
r248850 r249461 1 1 /* 2 * Copyright (C) 2017 Apple Inc. All rights reserved.2 * Copyright (C) 2017-2019 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 86 86 // all the initialization finishes. 87 87 auto* heap = new IsoHeapImpl<Config>(); 88 heap->addToAllIsoHeaps(); 88 89 setAllocatorOffset(heap->allocatorOffset()); 89 90 setDeallocatorOffset(heap->deallocatorOffset()); -
trunk/Source/bmalloc/bmalloc/IsoTLSAllocatorEntry.h
r224537 r249461 1 1 /* 2 * Copyright (C) 2017 Apple Inc. All rights reserved.2 * Copyright (C) 2017-2019 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 34 34 35 35 template<typename Config> 36 class IsoTLSAllocatorEntry : public DefaultIsoTLSEntry<IsoAllocator<Config>> {36 class IsoTLSAllocatorEntry final : public DefaultIsoTLSEntry<IsoAllocator<Config>> { 37 37 public: 38 IsoTLSAllocatorEntry(IsoHeapImpl<Config>&);38 template<typename T> friend class IsoTLSEntryHolder; 39 39 ~IsoTLSAllocatorEntry(); 40 40 41 41 private: 42 IsoTLSAllocatorEntry(IsoHeapImpl<Config>&); 43 42 44 void construct(void* dst) override; 43 45 -
trunk/Source/bmalloc/bmalloc/IsoTLSDeallocatorEntry.h
r230308 r249461 1 1 /* 2 * Copyright (C) 2017 Apple Inc. All rights reserved.2 * Copyright (C) 2017-2019 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 34 34 35 35 template<typename Config> 36 class IsoTLSDeallocatorEntry : public DefaultIsoTLSEntry<IsoDeallocator<Config>> {36 class IsoTLSDeallocatorEntry final : public DefaultIsoTLSEntry<IsoDeallocator<Config>> { 37 37 public: 38 IsoTLSDeallocatorEntry(const std::lock_guard<Mutex>&);38 template<typename T> friend class IsoTLSEntryHolder; 39 39 ~IsoTLSDeallocatorEntry(); 40 40 … … 44 44 45 45 private: 46 IsoTLSDeallocatorEntry(const std::lock_guard<Mutex>&); 47 46 48 void construct(void* entry) override; 47 49 }; -
trunk/Source/bmalloc/bmalloc/IsoTLSEntry.cpp
r242938 r249461 1 1 /* 2 * Copyright (C) 2017 Apple Inc. All rights reserved.2 * Copyright (C) 2017-2019 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 27 27 28 28 #include "BAssert.h" 29 #include "IsoTLSLayout.h"30 29 #include "PerProcess.h" 31 30 #include <climits> … … 38 37 , m_size(size) 39 38 { 40 IsoTLSLayout::get()->add(this);41 RELEASE_BASSERT(m_offset != UINT_MAX);42 39 } 43 40 -
trunk/Source/bmalloc/bmalloc/IsoTLSEntry.h
r224537 r249461 1 1 /* 2 * Copyright (C) 2017 Apple Inc. All rights reserved.2 * Copyright (C) 2017-2019 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 26 26 #pragma once 27 27 28 #include "BAssert.h" 28 29 #include "BMalloced.h" 30 #include "IsoTLSLayout.h" 31 #include <climits> 29 32 30 33 namespace bmalloc { 31 34 32 35 class IsoTLS; 33 class IsoTLSLayout; 36 37 template<typename Entry> 38 class IsoTLSEntryHolder { 39 MAKE_BMALLOCED; 40 IsoTLSEntryHolder(const IsoTLSEntryHolder&) = delete; 41 IsoTLSEntryHolder& operator=(const IsoTLSEntryHolder&) = delete; 42 public: 43 template<typename... Args> 44 IsoTLSEntryHolder(Args&&... args) 45 : m_entry(std::forward<Args>(args)...) 46 { 47 IsoTLSLayout::get()->add(&m_entry); 48 RELEASE_BASSERT(m_entry.offset() != UINT_MAX); 49 } 50 51 inline const Entry& operator*() const { m_entry; } 52 inline Entry& operator*() { m_entry; } 53 inline const Entry* operator->() const { return &m_entry; } 54 inline Entry* operator->() { return &m_entry; } 55 56 private: 57 Entry m_entry; 58 }; 34 59 35 60 class BEXPORT IsoTLSEntry { 36 61 MAKE_BMALLOCED; 62 IsoTLSEntry(const IsoTLSEntry&) = delete; 63 IsoTLSEntry& operator=(const IsoTLSEntry&) = delete; 37 64 public: 38 IsoTLSEntry(size_t alignment, size_t size);39 65 virtual ~IsoTLSEntry(); 40 66 … … 51 77 template<typename Func> 52 78 void walkUpToInclusive(IsoTLSEntry*, const Func&); 79 80 protected: 81 IsoTLSEntry(size_t alignment, size_t size); 53 82 54 83 private: … … 66 95 class DefaultIsoTLSEntry : public IsoTLSEntry { 67 96 public: 68 DefaultIsoTLSEntry();69 97 ~DefaultIsoTLSEntry(); 70 98 71 99 protected: 100 DefaultIsoTLSEntry(); 101 72 102 // This clones src onto dst and then destructs src. Therefore, entry destructors cannot do 73 103 // scavenging. -
trunk/Source/bmalloc/bmalloc/IsoTLSLayout.cpp
r242938 r249461 1 1 /* 2 * Copyright (C) 2017 Apple Inc. All rights reserved.2 * Copyright (C) 2017-2019 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 40 40 static Mutex addingMutex; 41 41 RELEASE_BASSERT(!entry->m_next); 42 // IsoTLSLayout::head() does not take a lock. So we should emit memory fence to make sure that newly added entry is initialized when it is chained to this linked-list. 43 // Emitting memory fence here is OK since this function is not frequently called. 42 44 std::lock_guard<Mutex> locking(addingMutex); 43 45 if (m_head) { 44 46 RELEASE_BASSERT(m_tail); 45 47 entry->m_offset = roundUpToMultipleOf(entry->alignment(), m_tail->extent()); 48 std::atomic_thread_fence(std::memory_order_seq_cst); 46 49 m_tail->m_next = entry; 47 50 m_tail = entry; … … 49 52 RELEASE_BASSERT(!m_tail); 50 53 entry->m_offset = 0; 54 std::atomic_thread_fence(std::memory_order_seq_cst); 51 55 m_head = entry; 52 56 m_tail = entry; -
trunk/Source/bmalloc/bmalloc/IsoTLSLayout.h
r242938 r249461 1 1 /* 2 * Copyright (C) 2017 Apple Inc. All rights reserved.2 * Copyright (C) 2017-2019 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 36 36 class IsoTLSLayout : public StaticPerProcess<IsoTLSLayout> { 37 37 public: 38 IsoTLSLayout(const std::lock_guard<Mutex>&);38 BEXPORT IsoTLSLayout(const std::lock_guard<Mutex>&); 39 39 40 void add(IsoTLSEntry*);40 BEXPORT void add(IsoTLSEntry*); 41 41 42 42 IsoTLSEntry* head() const { return m_head; } -
trunk/Tools/ChangeLog
r249448 r249461 1 2019-09-03 Yusuke Suzuki <ysuzuki@apple.com> 2 3 [bmalloc] IsoTLSLayout and AllIsoHeaps registration is racy with derived class initialization with virtual functions 4 https://bugs.webkit.org/show_bug.cgi?id=201448 5 6 Reviewed by Mark Lam. 7 8 * TestWebKitAPI/Tests/WTF/bmalloc/IsoHeap.cpp: 9 (TEST): 10 1 11 2019-09-03 Dean Jackson <dino@apple.com> 2 12 -
trunk/Tools/TestWebKitAPI/Tests/WTF/bmalloc/IsoHeap.cpp
r247815 r249461 29 29 30 30 #include <bmalloc/bmalloc.h> 31 #include <bmalloc/AllIsoHeapsInlines.h> 31 32 #include <bmalloc/Environment.h> 32 33 #include <bmalloc/IsoHeapInlines.h> … … 2528 2529 #endif 2529 2530 2531 TEST(bmalloc, IsoHeapMultipleThreadsWhileIterating) 2532 { 2533 static constexpr size_t limit = 2048; 2534 2535 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap00; 2536 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap01; 2537 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap02; 2538 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap03; 2539 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap04; 2540 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap05; 2541 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap06; 2542 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap07; 2543 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap08; 2544 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap09; 2545 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap10; 2546 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap11; 2547 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap12; 2548 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap13; 2549 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap14; 2550 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap15; 2551 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap16; 2552 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap17; 2553 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap18; 2554 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap19; 2555 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap20; 2556 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap21; 2557 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap22; 2558 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap23; 2559 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap24; 2560 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap25; 2561 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap26; 2562 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap27; 2563 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap28; 2564 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap29; 2565 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap30; 2566 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap31; 2567 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap32; 2568 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap33; 2569 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap34; 2570 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap35; 2571 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap36; 2572 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap37; 2573 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap38; 2574 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap39; 2575 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap40; 2576 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap41; 2577 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap42; 2578 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap43; 2579 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap44; 2580 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap45; 2581 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap46; 2582 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap47; 2583 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap48; 2584 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap49; 2585 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap50; 2586 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap51; 2587 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap52; 2588 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap53; 2589 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap54; 2590 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap55; 2591 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap56; 2592 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap57; 2593 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap58; 2594 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap59; 2595 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap60; 2596 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap61; 2597 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap62; 2598 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap63; 2599 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap64; 2600 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap65; 2601 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap66; 2602 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap67; 2603 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap68; 2604 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap69; 2605 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap70; 2606 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap71; 2607 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap72; 2608 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap73; 2609 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap74; 2610 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap75; 2611 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap76; 2612 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap77; 2613 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap78; 2614 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap79; 2615 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap80; 2616 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap81; 2617 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap82; 2618 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap83; 2619 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap84; 2620 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap85; 2621 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap86; 2622 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap87; 2623 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap88; 2624 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap89; 2625 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap90; 2626 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap91; 2627 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap92; 2628 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap93; 2629 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap94; 2630 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap95; 2631 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap96; 2632 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap97; 2633 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap98; 2634 static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap99; 2635 2636 WTF::Vector<Ref<Thread>> threads; 2637 for (unsigned i = 0; i < 10; ++i) { 2638 threads.append(Thread::create("IsoHeapStress", [&] { 2639 void* ptr0 = heap82.allocate(); 2640 void* ptr1 = heap96.allocate(); 2641 void* ptr2 = heap13.allocate(); 2642 void* ptr3 = heap69.allocate(); 2643 void* ptr4 = heap26.allocate(); 2644 void* ptr5 = heap26.allocate(); 2645 void* ptr6 = heap05.allocate(); 2646 void* ptr7 = heap35.allocate(); 2647 void* ptr8 = heap64.allocate(); 2648 void* ptr9 = heap02.allocate(); 2649 void* ptr10 = heap17.allocate(); 2650 void* ptr11 = heap15.allocate(); 2651 void* ptr12 = heap30.allocate(); 2652 void* ptr13 = heap58.allocate(); 2653 void* ptr14 = heap70.allocate(); 2654 void* ptr15 = heap21.allocate(); 2655 void* ptr16 = heap50.allocate(); 2656 void* ptr17 = heap38.allocate(); 2657 void* ptr18 = heap03.allocate(); 2658 void* ptr19 = heap95.allocate(); 2659 void* ptr20 = heap94.allocate(); 2660 void* ptr21 = heap73.allocate(); 2661 void* ptr22 = heap83.allocate(); 2662 void* ptr23 = heap04.allocate(); 2663 void* ptr24 = heap65.allocate(); 2664 void* ptr25 = heap52.allocate(); 2665 void* ptr26 = heap45.allocate(); 2666 void* ptr27 = heap23.allocate(); 2667 void* ptr28 = heap79.allocate(); 2668 void* ptr29 = heap02.allocate(); 2669 void* ptr30 = heap15.allocate(); 2670 void* ptr31 = heap19.allocate(); 2671 void* ptr32 = heap36.allocate(); 2672 void* ptr33 = heap57.allocate(); 2673 void* ptr34 = heap23.allocate(); 2674 void* ptr35 = heap66.allocate(); 2675 void* ptr36 = heap66.allocate(); 2676 void* ptr37 = heap59.allocate(); 2677 void* ptr38 = heap87.allocate(); 2678 void* ptr39 = heap93.allocate(); 2679 void* ptr40 = heap73.allocate(); 2680 void* ptr41 = heap43.allocate(); 2681 void* ptr42 = heap39.allocate(); 2682 void* ptr43 = heap13.allocate(); 2683 void* ptr44 = heap20.allocate(); 2684 void* ptr45 = heap70.allocate(); 2685 void* ptr46 = heap98.allocate(); 2686 void* ptr47 = heap40.allocate(); 2687 void* ptr48 = heap93.allocate(); 2688 void* ptr49 = heap34.allocate(); 2689 void* ptr50 = heap43.allocate(); 2690 void* ptr51 = heap38.allocate(); 2691 void* ptr52 = heap86.allocate(); 2692 void* ptr53 = heap14.allocate(); 2693 void* ptr54 = heap56.allocate(); 2694 void* ptr55 = heap12.allocate(); 2695 void* ptr56 = heap00.allocate(); 2696 void* ptr57 = heap73.allocate(); 2697 void* ptr58 = heap99.allocate(); 2698 void* ptr59 = heap70.allocate(); 2699 void* ptr60 = heap05.allocate(); 2700 void* ptr61 = heap92.allocate(); 2701 void* ptr62 = heap59.allocate(); 2702 void* ptr63 = heap82.allocate(); 2703 void* ptr64 = heap47.allocate(); 2704 void* ptr65 = heap41.allocate(); 2705 void* ptr66 = heap84.allocate(); 2706 void* ptr67 = heap52.allocate(); 2707 void* ptr68 = heap88.allocate(); 2708 void* ptr69 = heap90.allocate(); 2709 void* ptr70 = heap93.allocate(); 2710 void* ptr71 = heap27.allocate(); 2711 void* ptr72 = heap56.allocate(); 2712 void* ptr73 = heap98.allocate(); 2713 void* ptr74 = heap37.allocate(); 2714 void* ptr75 = heap70.allocate(); 2715 void* ptr76 = heap42.allocate(); 2716 void* ptr77 = heap98.allocate(); 2717 void* ptr78 = heap03.allocate(); 2718 void* ptr79 = heap41.allocate(); 2719 void* ptr80 = heap78.allocate(); 2720 void* ptr81 = heap66.allocate(); 2721 void* ptr82 = heap29.allocate(); 2722 void* ptr83 = heap29.allocate(); 2723 void* ptr84 = heap49.allocate(); 2724 void* ptr85 = heap01.allocate(); 2725 void* ptr86 = heap27.allocate(); 2726 void* ptr87 = heap57.allocate(); 2727 void* ptr88 = heap69.allocate(); 2728 void* ptr89 = heap15.allocate(); 2729 void* ptr90 = heap96.allocate(); 2730 void* ptr91 = heap24.allocate(); 2731 void* ptr92 = heap18.allocate(); 2732 void* ptr93 = heap80.allocate(); 2733 void* ptr94 = heap41.allocate(); 2734 void* ptr95 = heap05.allocate(); 2735 void* ptr96 = heap94.allocate(); 2736 void* ptr97 = heap62.allocate(); 2737 void* ptr98 = heap93.allocate(); 2738 void* ptr99 = heap74.allocate(); 2739 void* ptr100 = heap00.allocate(); 2740 void* ptr101 = heap96.allocate(); 2741 void* ptr102 = heap92.allocate(); 2742 void* ptr103 = heap63.allocate(); 2743 void* ptr104 = heap06.allocate(); 2744 void* ptr105 = heap06.allocate(); 2745 void* ptr106 = heap22.allocate(); 2746 void* ptr107 = heap47.allocate(); 2747 void* ptr108 = heap31.allocate(); 2748 void* ptr109 = heap63.allocate(); 2749 void* ptr110 = heap96.allocate(); 2750 void* ptr111 = heap94.allocate(); 2751 void* ptr112 = heap93.allocate(); 2752 void* ptr113 = heap72.allocate(); 2753 void* ptr114 = heap20.allocate(); 2754 void* ptr115 = heap90.allocate(); 2755 void* ptr116 = heap67.allocate(); 2756 void* ptr117 = heap12.allocate(); 2757 void* ptr118 = heap38.allocate(); 2758 void* ptr119 = heap75.allocate(); 2759 void* ptr120 = heap17.allocate(); 2760 void* ptr121 = heap17.allocate(); 2761 void* ptr122 = heap06.allocate(); 2762 void* ptr123 = heap74.allocate(); 2763 void* ptr124 = heap26.allocate(); 2764 void* ptr125 = heap52.allocate(); 2765 void* ptr126 = heap94.allocate(); 2766 void* ptr127 = heap11.allocate(); 2767 void* ptr128 = heap03.allocate(); 2768 void* ptr129 = heap37.allocate(); 2769 void* ptr130 = heap39.allocate(); 2770 void* ptr131 = heap55.allocate(); 2771 void* ptr132 = heap84.allocate(); 2772 void* ptr133 = heap65.allocate(); 2773 void* ptr134 = heap95.allocate(); 2774 void* ptr135 = heap03.allocate(); 2775 void* ptr136 = heap74.allocate(); 2776 void* ptr137 = heap93.allocate(); 2777 void* ptr138 = heap32.allocate(); 2778 void* ptr139 = heap93.allocate(); 2779 void* ptr140 = heap51.allocate(); 2780 void* ptr141 = heap08.allocate(); 2781 void* ptr142 = heap43.allocate(); 2782 void* ptr143 = heap81.allocate(); 2783 void* ptr144 = heap03.allocate(); 2784 void* ptr145 = heap53.allocate(); 2785 void* ptr146 = heap57.allocate(); 2786 void* ptr147 = heap04.allocate(); 2787 void* ptr148 = heap36.allocate(); 2788 void* ptr149 = heap87.allocate(); 2789 void* ptr150 = heap68.allocate(); 2790 void* ptr151 = heap58.allocate(); 2791 void* ptr152 = heap00.allocate(); 2792 void* ptr153 = heap03.allocate(); 2793 void* ptr154 = heap56.allocate(); 2794 void* ptr155 = heap97.allocate(); 2795 void* ptr156 = heap22.allocate(); 2796 void* ptr157 = heap24.allocate(); 2797 void* ptr158 = heap33.allocate(); 2798 void* ptr159 = heap06.allocate(); 2799 void* ptr160 = heap61.allocate(); 2800 void* ptr161 = heap72.allocate(); 2801 void* ptr162 = heap16.allocate(); 2802 void* ptr163 = heap96.allocate(); 2803 void* ptr164 = heap24.allocate(); 2804 void* ptr165 = heap42.allocate(); 2805 void* ptr166 = heap74.allocate(); 2806 void* ptr167 = heap76.allocate(); 2807 void* ptr168 = heap13.allocate(); 2808 void* ptr169 = heap21.allocate(); 2809 void* ptr170 = heap02.allocate(); 2810 void* ptr171 = heap74.allocate(); 2811 void* ptr172 = heap02.allocate(); 2812 void* ptr173 = heap58.allocate(); 2813 void* ptr174 = heap61.allocate(); 2814 void* ptr175 = heap48.allocate(); 2815 void* ptr176 = heap21.allocate(); 2816 void* ptr177 = heap79.allocate(); 2817 void* ptr178 = heap95.allocate(); 2818 void* ptr179 = heap50.allocate(); 2819 void* ptr180 = heap45.allocate(); 2820 void* ptr181 = heap42.allocate(); 2821 void* ptr182 = heap22.allocate(); 2822 void* ptr183 = heap67.allocate(); 2823 void* ptr184 = heap94.allocate(); 2824 void* ptr185 = heap72.allocate(); 2825 void* ptr186 = heap08.allocate(); 2826 void* ptr187 = heap90.allocate(); 2827 void* ptr188 = heap39.allocate(); 2828 void* ptr189 = heap64.allocate(); 2829 void* ptr190 = heap67.allocate(); 2830 void* ptr191 = heap77.allocate(); 2831 void* ptr192 = heap36.allocate(); 2832 void* ptr193 = heap37.allocate(); 2833 void* ptr194 = heap83.allocate(); 2834 void* ptr195 = heap10.allocate(); 2835 void* ptr196 = heap76.allocate(); 2836 void* ptr197 = heap40.allocate(); 2837 void* ptr198 = heap73.allocate(); 2838 void* ptr199 = heap30.allocate(); 2839 void* ptr200 = heap83.allocate(); 2840 void* ptr201 = heap45.allocate(); 2841 void* ptr202 = heap95.allocate(); 2842 void* ptr203 = heap81.allocate(); 2843 void* ptr204 = heap67.allocate(); 2844 void* ptr205 = heap81.allocate(); 2845 void* ptr206 = heap43.allocate(); 2846 void* ptr207 = heap67.allocate(); 2847 void* ptr208 = heap32.allocate(); 2848 void* ptr209 = heap53.allocate(); 2849 void* ptr210 = heap10.allocate(); 2850 void* ptr211 = heap37.allocate(); 2851 void* ptr212 = heap85.allocate(); 2852 void* ptr213 = heap91.allocate(); 2853 void* ptr214 = heap49.allocate(); 2854 void* ptr215 = heap24.allocate(); 2855 void* ptr216 = heap52.allocate(); 2856 void* ptr217 = heap57.allocate(); 2857 void* ptr218 = heap81.allocate(); 2858 void* ptr219 = heap27.allocate(); 2859 void* ptr220 = heap75.allocate(); 2860 void* ptr221 = heap87.allocate(); 2861 void* ptr222 = heap00.allocate(); 2862 void* ptr223 = heap60.allocate(); 2863 void* ptr224 = heap43.allocate(); 2864 void* ptr225 = heap62.allocate(); 2865 void* ptr226 = heap73.allocate(); 2866 void* ptr227 = heap73.allocate(); 2867 void* ptr228 = heap87.allocate(); 2868 void* ptr229 = heap82.allocate(); 2869 void* ptr230 = heap52.allocate(); 2870 void* ptr231 = heap08.allocate(); 2871 void* ptr232 = heap30.allocate(); 2872 void* ptr233 = heap91.allocate(); 2873 void* ptr234 = heap25.allocate(); 2874 void* ptr235 = heap28.allocate(); 2875 void* ptr236 = heap53.allocate(); 2876 void* ptr237 = heap52.allocate(); 2877 void* ptr238 = heap00.allocate(); 2878 void* ptr239 = heap62.allocate(); 2879 void* ptr240 = heap91.allocate(); 2880 void* ptr241 = heap30.allocate(); 2881 void* ptr242 = heap93.allocate(); 2882 void* ptr243 = heap37.allocate(); 2883 void* ptr244 = heap79.allocate(); 2884 void* ptr245 = heap74.allocate(); 2885 void* ptr246 = heap47.allocate(); 2886 void* ptr247 = heap32.allocate(); 2887 void* ptr248 = heap39.allocate(); 2888 void* ptr249 = heap17.allocate(); 2889 void* ptr250 = heap74.allocate(); 2890 void* ptr251 = heap19.allocate(); 2891 void* ptr252 = heap39.allocate(); 2892 void* ptr253 = heap14.allocate(); 2893 void* ptr254 = heap63.allocate(); 2894 void* ptr255 = heap44.allocate(); 2895 void* ptr256 = heap68.allocate(); 2896 void* ptr257 = heap48.allocate(); 2897 void* ptr258 = heap51.allocate(); 2898 void* ptr259 = heap12.allocate(); 2899 void* ptr260 = heap00.allocate(); 2900 void* ptr261 = heap53.allocate(); 2901 void* ptr262 = heap82.allocate(); 2902 void* ptr263 = heap67.allocate(); 2903 void* ptr264 = heap81.allocate(); 2904 void* ptr265 = heap98.allocate(); 2905 void* ptr266 = heap07.allocate(); 2906 void* ptr267 = heap97.allocate(); 2907 void* ptr268 = heap30.allocate(); 2908 void* ptr269 = heap90.allocate(); 2909 void* ptr270 = heap57.allocate(); 2910 void* ptr271 = heap22.allocate(); 2911 void* ptr272 = heap96.allocate(); 2912 void* ptr273 = heap41.allocate(); 2913 void* ptr274 = heap16.allocate(); 2914 void* ptr275 = heap96.allocate(); 2915 void* ptr276 = heap91.allocate(); 2916 void* ptr277 = heap07.allocate(); 2917 void* ptr278 = heap13.allocate(); 2918 void* ptr279 = heap26.allocate(); 2919 void* ptr280 = heap48.allocate(); 2920 void* ptr281 = heap33.allocate(); 2921 void* ptr282 = heap07.allocate(); 2922 void* ptr283 = heap96.allocate(); 2923 void* ptr284 = heap91.allocate(); 2924 void* ptr285 = heap01.allocate(); 2925 void* ptr286 = heap18.allocate(); 2926 void* ptr287 = heap95.allocate(); 2927 void* ptr288 = heap16.allocate(); 2928 void* ptr289 = heap73.allocate(); 2929 void* ptr290 = heap75.allocate(); 2930 void* ptr291 = heap93.allocate(); 2931 void* ptr292 = heap67.allocate(); 2932 void* ptr293 = heap04.allocate(); 2933 void* ptr294 = heap29.allocate(); 2934 void* ptr295 = heap25.allocate(); 2935 void* ptr296 = heap03.allocate(); 2936 void* ptr297 = heap66.allocate(); 2937 void* ptr298 = heap26.allocate(); 2938 void* ptr299 = heap50.allocate(); 2939 void* ptr300 = heap92.allocate(); 2940 void* ptr301 = heap55.allocate(); 2941 void* ptr302 = heap84.allocate(); 2942 void* ptr303 = heap25.allocate(); 2943 void* ptr304 = heap07.allocate(); 2944 void* ptr305 = heap13.allocate(); 2945 void* ptr306 = heap05.allocate(); 2946 void* ptr307 = heap71.allocate(); 2947 void* ptr308 = heap72.allocate(); 2948 void* ptr309 = heap78.allocate(); 2949 void* ptr310 = heap60.allocate(); 2950 void* ptr311 = heap58.allocate(); 2951 void* ptr312 = heap34.allocate(); 2952 void* ptr313 = heap04.allocate(); 2953 void* ptr314 = heap07.allocate(); 2954 void* ptr315 = heap39.allocate(); 2955 void* ptr316 = heap40.allocate(); 2956 void* ptr317 = heap66.allocate(); 2957 void* ptr318 = heap70.allocate(); 2958 void* ptr319 = heap76.allocate(); 2959 void* ptr320 = heap28.allocate(); 2960 void* ptr321 = heap66.allocate(); 2961 void* ptr322 = heap20.allocate(); 2962 void* ptr323 = heap34.allocate(); 2963 void* ptr324 = heap90.allocate(); 2964 void* ptr325 = heap35.allocate(); 2965 void* ptr326 = heap33.allocate(); 2966 void* ptr327 = heap74.allocate(); 2967 void* ptr328 = heap55.allocate(); 2968 void* ptr329 = heap86.allocate(); 2969 void* ptr330 = heap85.allocate(); 2970 void* ptr331 = heap76.allocate(); 2971 void* ptr332 = heap40.allocate(); 2972 void* ptr333 = heap14.allocate(); 2973 void* ptr334 = heap93.allocate(); 2974 void* ptr335 = heap10.allocate(); 2975 void* ptr336 = heap41.allocate(); 2976 void* ptr337 = heap78.allocate(); 2977 void* ptr338 = heap97.allocate(); 2978 void* ptr339 = heap31.allocate(); 2979 void* ptr340 = heap85.allocate(); 2980 void* ptr341 = heap35.allocate(); 2981 void* ptr342 = heap58.allocate(); 2982 void* ptr343 = heap05.allocate(); 2983 void* ptr344 = heap71.allocate(); 2984 void* ptr345 = heap61.allocate(); 2985 void* ptr346 = heap49.allocate(); 2986 void* ptr347 = heap67.allocate(); 2987 void* ptr348 = heap04.allocate(); 2988 void* ptr349 = heap51.allocate(); 2989 void* ptr350 = heap35.allocate(); 2990 void* ptr351 = heap19.allocate(); 2991 void* ptr352 = heap25.allocate(); 2992 void* ptr353 = heap08.allocate(); 2993 void* ptr354 = heap56.allocate(); 2994 void* ptr355 = heap20.allocate(); 2995 void* ptr356 = heap58.allocate(); 2996 void* ptr357 = heap19.allocate(); 2997 void* ptr358 = heap47.allocate(); 2998 void* ptr359 = heap70.allocate(); 2999 void* ptr360 = heap74.allocate(); 3000 void* ptr361 = heap02.allocate(); 3001 void* ptr362 = heap37.allocate(); 3002 void* ptr363 = heap07.allocate(); 3003 void* ptr364 = heap31.allocate(); 3004 void* ptr365 = heap85.allocate(); 3005 void* ptr366 = heap95.allocate(); 3006 void* ptr367 = heap69.allocate(); 3007 void* ptr368 = heap46.allocate(); 3008 void* ptr369 = heap09.allocate(); 3009 void* ptr370 = heap13.allocate(); 3010 void* ptr371 = heap18.allocate(); 3011 void* ptr372 = heap77.allocate(); 3012 void* ptr373 = heap81.allocate(); 3013 void* ptr374 = heap60.allocate(); 3014 void* ptr375 = heap89.allocate(); 3015 void* ptr376 = heap48.allocate(); 3016 void* ptr377 = heap79.allocate(); 3017 void* ptr378 = heap77.allocate(); 3018 void* ptr379 = heap67.allocate(); 3019 void* ptr380 = heap64.allocate(); 3020 void* ptr381 = heap67.allocate(); 3021 void* ptr382 = heap77.allocate(); 3022 void* ptr383 = heap23.allocate(); 3023 void* ptr384 = heap44.allocate(); 3024 void* ptr385 = heap86.allocate(); 3025 void* ptr386 = heap12.allocate(); 3026 void* ptr387 = heap28.allocate(); 3027 void* ptr388 = heap83.allocate(); 3028 void* ptr389 = heap10.allocate(); 3029 void* ptr390 = heap67.allocate(); 3030 void* ptr391 = heap48.allocate(); 3031 void* ptr392 = heap79.allocate(); 3032 void* ptr393 = heap99.allocate(); 3033 void* ptr394 = heap41.allocate(); 3034 void* ptr395 = heap71.allocate(); 3035 void* ptr396 = heap46.allocate(); 3036 void* ptr397 = heap31.allocate(); 3037 void* ptr398 = heap63.allocate(); 3038 void* ptr399 = heap65.allocate(); 3039 void* ptr400 = heap78.allocate(); 3040 void* ptr401 = heap22.allocate(); 3041 void* ptr402 = heap06.allocate(); 3042 void* ptr403 = heap11.allocate(); 3043 void* ptr404 = heap11.allocate(); 3044 void* ptr405 = heap24.allocate(); 3045 void* ptr406 = heap42.allocate(); 3046 void* ptr407 = heap31.allocate(); 3047 void* ptr408 = heap86.allocate(); 3048 void* ptr409 = heap30.allocate(); 3049 void* ptr410 = heap67.allocate(); 3050 void* ptr411 = heap30.allocate(); 3051 void* ptr412 = heap45.allocate(); 3052 void* ptr413 = heap17.allocate(); 3053 void* ptr414 = heap09.allocate(); 3054 void* ptr415 = heap56.allocate(); 3055 void* ptr416 = heap28.allocate(); 3056 void* ptr417 = heap84.allocate(); 3057 void* ptr418 = heap75.allocate(); 3058 void* ptr419 = heap31.allocate(); 3059 void* ptr420 = heap23.allocate(); 3060 void* ptr421 = heap54.allocate(); 3061 void* ptr422 = heap26.allocate(); 3062 void* ptr423 = heap62.allocate(); 3063 void* ptr424 = heap06.allocate(); 3064 void* ptr425 = heap67.allocate(); 3065 void* ptr426 = heap67.allocate(); 3066 void* ptr427 = heap78.allocate(); 3067 void* ptr428 = heap87.allocate(); 3068 void* ptr429 = heap51.allocate(); 3069 void* ptr430 = heap09.allocate(); 3070 void* ptr431 = heap77.allocate(); 3071 void* ptr432 = heap86.allocate(); 3072 void* ptr433 = heap64.allocate(); 3073 void* ptr434 = heap96.allocate(); 3074 void* ptr435 = heap16.allocate(); 3075 void* ptr436 = heap11.allocate(); 3076 void* ptr437 = heap38.allocate(); 3077 void* ptr438 = heap01.allocate(); 3078 void* ptr439 = heap56.allocate(); 3079 void* ptr440 = heap51.allocate(); 3080 void* ptr441 = heap99.allocate(); 3081 void* ptr442 = heap47.allocate(); 3082 void* ptr443 = heap57.allocate(); 3083 void* ptr444 = heap29.allocate(); 3084 void* ptr445 = heap59.allocate(); 3085 void* ptr446 = heap83.allocate(); 3086 void* ptr447 = heap40.allocate(); 3087 void* ptr448 = heap19.allocate(); 3088 void* ptr449 = heap17.allocate(); 3089 void* ptr450 = heap21.allocate(); 3090 void* ptr451 = heap22.allocate(); 3091 void* ptr452 = heap04.allocate(); 3092 void* ptr453 = heap45.allocate(); 3093 void* ptr454 = heap73.allocate(); 3094 void* ptr455 = heap96.allocate(); 3095 void* ptr456 = heap23.allocate(); 3096 void* ptr457 = heap16.allocate(); 3097 void* ptr458 = heap92.allocate(); 3098 void* ptr459 = heap02.allocate(); 3099 void* ptr460 = heap11.allocate(); 3100 void* ptr461 = heap67.allocate(); 3101 void* ptr462 = heap69.allocate(); 3102 void* ptr463 = heap21.allocate(); 3103 void* ptr464 = heap20.allocate(); 3104 void* ptr465 = heap32.allocate(); 3105 void* ptr466 = heap39.allocate(); 3106 void* ptr467 = heap39.allocate(); 3107 void* ptr468 = heap66.allocate(); 3108 void* ptr469 = heap42.allocate(); 3109 void* ptr470 = heap49.allocate(); 3110 void* ptr471 = heap33.allocate(); 3111 void* ptr472 = heap30.allocate(); 3112 void* ptr473 = heap88.allocate(); 3113 void* ptr474 = heap73.allocate(); 3114 void* ptr475 = heap00.allocate(); 3115 void* ptr476 = heap14.allocate(); 3116 void* ptr477 = heap42.allocate(); 3117 void* ptr478 = heap07.allocate(); 3118 void* ptr479 = heap63.allocate(); 3119 void* ptr480 = heap28.allocate(); 3120 void* ptr481 = heap62.allocate(); 3121 void* ptr482 = heap69.allocate(); 3122 void* ptr483 = heap06.allocate(); 3123 void* ptr484 = heap74.allocate(); 3124 void* ptr485 = heap15.allocate(); 3125 void* ptr486 = heap41.allocate(); 3126 void* ptr487 = heap56.allocate(); 3127 void* ptr488 = heap13.allocate(); 3128 void* ptr489 = heap95.allocate(); 3129 void* ptr490 = heap73.allocate(); 3130 void* ptr491 = heap88.allocate(); 3131 void* ptr492 = heap65.allocate(); 3132 void* ptr493 = heap68.allocate(); 3133 void* ptr494 = heap87.allocate(); 3134 void* ptr495 = heap66.allocate(); 3135 void* ptr496 = heap91.allocate(); 3136 void* ptr497 = heap23.allocate(); 3137 void* ptr498 = heap32.allocate(); 3138 void* ptr499 = heap05.allocate(); 3139 void* ptr500 = heap57.allocate(); 3140 void* ptr501 = heap49.allocate(); 3141 void* ptr502 = heap99.allocate(); 3142 void* ptr503 = heap77.allocate(); 3143 void* ptr504 = heap05.allocate(); 3144 void* ptr505 = heap45.allocate(); 3145 void* ptr506 = heap50.allocate(); 3146 void* ptr507 = heap77.allocate(); 3147 void* ptr508 = heap00.allocate(); 3148 void* ptr509 = heap81.allocate(); 3149 void* ptr510 = heap37.allocate(); 3150 void* ptr511 = heap39.allocate(); 3151 void* ptr512 = heap76.allocate(); 3152 void* ptr513 = heap31.allocate(); 3153 void* ptr514 = heap04.allocate(); 3154 void* ptr515 = heap74.allocate(); 3155 void* ptr516 = heap79.allocate(); 3156 void* ptr517 = heap65.allocate(); 3157 void* ptr518 = heap99.allocate(); 3158 void* ptr519 = heap47.allocate(); 3159 void* ptr520 = heap28.allocate(); 3160 void* ptr521 = heap31.allocate(); 3161 void* ptr522 = heap70.allocate(); 3162 void* ptr523 = heap22.allocate(); 3163 void* ptr524 = heap68.allocate(); 3164 void* ptr525 = heap92.allocate(); 3165 void* ptr526 = heap83.allocate(); 3166 void* ptr527 = heap05.allocate(); 3167 void* ptr528 = heap65.allocate(); 3168 void* ptr529 = heap39.allocate(); 3169 void* ptr530 = heap32.allocate(); 3170 void* ptr531 = heap07.allocate(); 3171 void* ptr532 = heap94.allocate(); 3172 void* ptr533 = heap90.allocate(); 3173 void* ptr534 = heap68.allocate(); 3174 void* ptr535 = heap21.allocate(); 3175 void* ptr536 = heap37.allocate(); 3176 void* ptr537 = heap03.allocate(); 3177 void* ptr538 = heap65.allocate(); 3178 void* ptr539 = heap00.allocate(); 3179 void* ptr540 = heap05.allocate(); 3180 void* ptr541 = heap54.allocate(); 3181 void* ptr542 = heap07.allocate(); 3182 void* ptr543 = heap38.allocate(); 3183 void* ptr544 = heap80.allocate(); 3184 void* ptr545 = heap04.allocate(); 3185 void* ptr546 = heap90.allocate(); 3186 void* ptr547 = heap08.allocate(); 3187 void* ptr548 = heap90.allocate(); 3188 void* ptr549 = heap89.allocate(); 3189 void* ptr550 = heap32.allocate(); 3190 void* ptr551 = heap75.allocate(); 3191 void* ptr552 = heap70.allocate(); 3192 void* ptr553 = heap62.allocate(); 3193 void* ptr554 = heap01.allocate(); 3194 void* ptr555 = heap20.allocate(); 3195 void* ptr556 = heap37.allocate(); 3196 void* ptr557 = heap30.allocate(); 3197 void* ptr558 = heap47.allocate(); 3198 void* ptr559 = heap99.allocate(); 3199 void* ptr560 = heap23.allocate(); 3200 void* ptr561 = heap74.allocate(); 3201 void* ptr562 = heap68.allocate(); 3202 void* ptr563 = heap90.allocate(); 3203 void* ptr564 = heap51.allocate(); 3204 void* ptr565 = heap12.allocate(); 3205 void* ptr566 = heap86.allocate(); 3206 void* ptr567 = heap39.allocate(); 3207 void* ptr568 = heap11.allocate(); 3208 void* ptr569 = heap42.allocate(); 3209 void* ptr570 = heap75.allocate(); 3210 void* ptr571 = heap95.allocate(); 3211 void* ptr572 = heap91.allocate(); 3212 void* ptr573 = heap82.allocate(); 3213 void* ptr574 = heap61.allocate(); 3214 void* ptr575 = heap95.allocate(); 3215 void* ptr576 = heap25.allocate(); 3216 void* ptr577 = heap25.allocate(); 3217 void* ptr578 = heap25.allocate(); 3218 void* ptr579 = heap89.allocate(); 3219 void* ptr580 = heap41.allocate(); 3220 void* ptr581 = heap92.allocate(); 3221 void* ptr582 = heap20.allocate(); 3222 void* ptr583 = heap66.allocate(); 3223 void* ptr584 = heap25.allocate(); 3224 void* ptr585 = heap37.allocate(); 3225 void* ptr586 = heap09.allocate(); 3226 void* ptr587 = heap53.allocate(); 3227 void* ptr588 = heap84.allocate(); 3228 void* ptr589 = heap18.allocate(); 3229 void* ptr590 = heap77.allocate(); 3230 void* ptr591 = heap17.allocate(); 3231 void* ptr592 = heap11.allocate(); 3232 void* ptr593 = heap73.allocate(); 3233 void* ptr594 = heap16.allocate(); 3234 void* ptr595 = heap98.allocate(); 3235 void* ptr596 = heap92.allocate(); 3236 void* ptr597 = heap99.allocate(); 3237 void* ptr598 = heap74.allocate(); 3238 void* ptr599 = heap16.allocate(); 3239 void* ptr600 = heap29.allocate(); 3240 void* ptr601 = heap26.allocate(); 3241 void* ptr602 = heap21.allocate(); 3242 void* ptr603 = heap22.allocate(); 3243 void* ptr604 = heap83.allocate(); 3244 void* ptr605 = heap83.allocate(); 3245 void* ptr606 = heap78.allocate(); 3246 void* ptr607 = heap96.allocate(); 3247 void* ptr608 = heap52.allocate(); 3248 void* ptr609 = heap33.allocate(); 3249 void* ptr610 = heap31.allocate(); 3250 void* ptr611 = heap04.allocate(); 3251 void* ptr612 = heap29.allocate(); 3252 void* ptr613 = heap32.allocate(); 3253 void* ptr614 = heap20.allocate(); 3254 void* ptr615 = heap61.allocate(); 3255 void* ptr616 = heap85.allocate(); 3256 void* ptr617 = heap50.allocate(); 3257 void* ptr618 = heap19.allocate(); 3258 void* ptr619 = heap65.allocate(); 3259 void* ptr620 = heap89.allocate(); 3260 void* ptr621 = heap94.allocate(); 3261 void* ptr622 = heap40.allocate(); 3262 void* ptr623 = heap47.allocate(); 3263 void* ptr624 = heap57.allocate(); 3264 void* ptr625 = heap56.allocate(); 3265 void* ptr626 = heap81.allocate(); 3266 void* ptr627 = heap64.allocate(); 3267 void* ptr628 = heap40.allocate(); 3268 void* ptr629 = heap92.allocate(); 3269 void* ptr630 = heap41.allocate(); 3270 void* ptr631 = heap54.allocate(); 3271 void* ptr632 = heap26.allocate(); 3272 void* ptr633 = heap37.allocate(); 3273 void* ptr634 = heap67.allocate(); 3274 void* ptr635 = heap71.allocate(); 3275 void* ptr636 = heap32.allocate(); 3276 void* ptr637 = heap75.allocate(); 3277 void* ptr638 = heap00.allocate(); 3278 void* ptr639 = heap96.allocate(); 3279 void* ptr640 = heap02.allocate(); 3280 void* ptr641 = heap70.allocate(); 3281 void* ptr642 = heap13.allocate(); 3282 void* ptr643 = heap88.allocate(); 3283 void* ptr644 = heap43.allocate(); 3284 void* ptr645 = heap16.allocate(); 3285 void* ptr646 = heap34.allocate(); 3286 void* ptr647 = heap47.allocate(); 3287 void* ptr648 = heap97.allocate(); 3288 void* ptr649 = heap16.allocate(); 3289 void* ptr650 = heap35.allocate(); 3290 void* ptr651 = heap19.allocate(); 3291 void* ptr652 = heap41.allocate(); 3292 void* ptr653 = heap64.allocate(); 3293 void* ptr654 = heap33.allocate(); 3294 void* ptr655 = heap90.allocate(); 3295 void* ptr656 = heap44.allocate(); 3296 void* ptr657 = heap50.allocate(); 3297 void* ptr658 = heap92.allocate(); 3298 void* ptr659 = heap00.allocate(); 3299 void* ptr660 = heap76.allocate(); 3300 void* ptr661 = heap25.allocate(); 3301 void* ptr662 = heap81.allocate(); 3302 void* ptr663 = heap60.allocate(); 3303 void* ptr664 = heap38.allocate(); 3304 void* ptr665 = heap67.allocate(); 3305 void* ptr666 = heap93.allocate(); 3306 void* ptr667 = heap18.allocate(); 3307 void* ptr668 = heap72.allocate(); 3308 void* ptr669 = heap19.allocate(); 3309 void* ptr670 = heap20.allocate(); 3310 void* ptr671 = heap34.allocate(); 3311 void* ptr672 = heap86.allocate(); 3312 void* ptr673 = heap13.allocate(); 3313 void* ptr674 = heap21.allocate(); 3314 void* ptr675 = heap33.allocate(); 3315 void* ptr676 = heap92.allocate(); 3316 void* ptr677 = heap49.allocate(); 3317 void* ptr678 = heap96.allocate(); 3318 void* ptr679 = heap51.allocate(); 3319 void* ptr680 = heap33.allocate(); 3320 void* ptr681 = heap98.allocate(); 3321 void* ptr682 = heap83.allocate(); 3322 void* ptr683 = heap64.allocate(); 3323 void* ptr684 = heap96.allocate(); 3324 void* ptr685 = heap58.allocate(); 3325 void* ptr686 = heap95.allocate(); 3326 void* ptr687 = heap00.allocate(); 3327 void* ptr688 = heap88.allocate(); 3328 void* ptr689 = heap66.allocate(); 3329 void* ptr690 = heap49.allocate(); 3330 void* ptr691 = heap19.allocate(); 3331 void* ptr692 = heap39.allocate(); 3332 void* ptr693 = heap13.allocate(); 3333 void* ptr694 = heap34.allocate(); 3334 void* ptr695 = heap15.allocate(); 3335 void* ptr696 = heap67.allocate(); 3336 void* ptr697 = heap80.allocate(); 3337 void* ptr698 = heap59.allocate(); 3338 void* ptr699 = heap62.allocate(); 3339 void* ptr700 = heap81.allocate(); 3340 void* ptr701 = heap27.allocate(); 3341 void* ptr702 = heap64.allocate(); 3342 void* ptr703 = heap30.allocate(); 3343 void* ptr704 = heap89.allocate(); 3344 void* ptr705 = heap61.allocate(); 3345 void* ptr706 = heap07.allocate(); 3346 void* ptr707 = heap34.allocate(); 3347 void* ptr708 = heap02.allocate(); 3348 void* ptr709 = heap37.allocate(); 3349 void* ptr710 = heap12.allocate(); 3350 void* ptr711 = heap14.allocate(); 3351 void* ptr712 = heap75.allocate(); 3352 void* ptr713 = heap65.allocate(); 3353 void* ptr714 = heap68.allocate(); 3354 void* ptr715 = heap31.allocate(); 3355 void* ptr716 = heap06.allocate(); 3356 void* ptr717 = heap12.allocate(); 3357 void* ptr718 = heap26.allocate(); 3358 void* ptr719 = heap07.allocate(); 3359 void* ptr720 = heap52.allocate(); 3360 void* ptr721 = heap33.allocate(); 3361 void* ptr722 = heap56.allocate(); 3362 void* ptr723 = heap18.allocate(); 3363 void* ptr724 = heap54.allocate(); 3364 void* ptr725 = heap74.allocate(); 3365 void* ptr726 = heap13.allocate(); 3366 void* ptr727 = heap58.allocate(); 3367 void* ptr728 = heap74.allocate(); 3368 void* ptr729 = heap24.allocate(); 3369 void* ptr730 = heap20.allocate(); 3370 void* ptr731 = heap01.allocate(); 3371 void* ptr732 = heap88.allocate(); 3372 void* ptr733 = heap01.allocate(); 3373 void* ptr734 = heap02.allocate(); 3374 void* ptr735 = heap01.allocate(); 3375 void* ptr736 = heap91.allocate(); 3376 void* ptr737 = heap63.allocate(); 3377 void* ptr738 = heap43.allocate(); 3378 void* ptr739 = heap70.allocate(); 3379 void* ptr740 = heap53.allocate(); 3380 void* ptr741 = heap68.allocate(); 3381 void* ptr742 = heap49.allocate(); 3382 void* ptr743 = heap27.allocate(); 3383 void* ptr744 = heap40.allocate(); 3384 void* ptr745 = heap43.allocate(); 3385 void* ptr746 = heap46.allocate(); 3386 void* ptr747 = heap98.allocate(); 3387 void* ptr748 = heap65.allocate(); 3388 void* ptr749 = heap77.allocate(); 3389 void* ptr750 = heap23.allocate(); 3390 void* ptr751 = heap43.allocate(); 3391 void* ptr752 = heap45.allocate(); 3392 void* ptr753 = heap30.allocate(); 3393 void* ptr754 = heap69.allocate(); 3394 void* ptr755 = heap81.allocate(); 3395 void* ptr756 = heap32.allocate(); 3396 void* ptr757 = heap34.allocate(); 3397 void* ptr758 = heap53.allocate(); 3398 void* ptr759 = heap00.allocate(); 3399 void* ptr760 = heap82.allocate(); 3400 void* ptr761 = heap72.allocate(); 3401 void* ptr762 = heap47.allocate(); 3402 void* ptr763 = heap23.allocate(); 3403 void* ptr764 = heap83.allocate(); 3404 void* ptr765 = heap56.allocate(); 3405 void* ptr766 = heap76.allocate(); 3406 void* ptr767 = heap97.allocate(); 3407 void* ptr768 = heap66.allocate(); 3408 void* ptr769 = heap84.allocate(); 3409 void* ptr770 = heap02.allocate(); 3410 void* ptr771 = heap71.allocate(); 3411 void* ptr772 = heap07.allocate(); 3412 void* ptr773 = heap78.allocate(); 3413 void* ptr774 = heap93.allocate(); 3414 void* ptr775 = heap08.allocate(); 3415 void* ptr776 = heap83.allocate(); 3416 void* ptr777 = heap84.allocate(); 3417 void* ptr778 = heap39.allocate(); 3418 void* ptr779 = heap29.allocate(); 3419 void* ptr780 = heap29.allocate(); 3420 void* ptr781 = heap37.allocate(); 3421 void* ptr782 = heap15.allocate(); 3422 void* ptr783 = heap56.allocate(); 3423 void* ptr784 = heap93.allocate(); 3424 void* ptr785 = heap02.allocate(); 3425 void* ptr786 = heap70.allocate(); 3426 void* ptr787 = heap35.allocate(); 3427 void* ptr788 = heap30.allocate(); 3428 void* ptr789 = heap84.allocate(); 3429 void* ptr790 = heap46.allocate(); 3430 void* ptr791 = heap23.allocate(); 3431 void* ptr792 = heap17.allocate(); 3432 void* ptr793 = heap97.allocate(); 3433 void* ptr794 = heap56.allocate(); 3434 void* ptr795 = heap07.allocate(); 3435 void* ptr796 = heap97.allocate(); 3436 void* ptr797 = heap58.allocate(); 3437 void* ptr798 = heap44.allocate(); 3438 void* ptr799 = heap89.allocate(); 3439 void* ptr800 = heap97.allocate(); 3440 void* ptr801 = heap89.allocate(); 3441 void* ptr802 = heap51.allocate(); 3442 void* ptr803 = heap85.allocate(); 3443 void* ptr804 = heap80.allocate(); 3444 void* ptr805 = heap99.allocate(); 3445 void* ptr806 = heap72.allocate(); 3446 void* ptr807 = heap43.allocate(); 3447 void* ptr808 = heap47.allocate(); 3448 void* ptr809 = heap38.allocate(); 3449 void* ptr810 = heap53.allocate(); 3450 void* ptr811 = heap33.allocate(); 3451 void* ptr812 = heap62.allocate(); 3452 void* ptr813 = heap70.allocate(); 3453 void* ptr814 = heap32.allocate(); 3454 void* ptr815 = heap78.allocate(); 3455 void* ptr816 = heap07.allocate(); 3456 void* ptr817 = heap18.allocate(); 3457 void* ptr818 = heap05.allocate(); 3458 void* ptr819 = heap28.allocate(); 3459 void* ptr820 = heap74.allocate(); 3460 void* ptr821 = heap19.allocate(); 3461 void* ptr822 = heap22.allocate(); 3462 void* ptr823 = heap31.allocate(); 3463 void* ptr824 = heap74.allocate(); 3464 void* ptr825 = heap36.allocate(); 3465 void* ptr826 = heap61.allocate(); 3466 void* ptr827 = heap13.allocate(); 3467 void* ptr828 = heap56.allocate(); 3468 void* ptr829 = heap79.allocate(); 3469 void* ptr830 = heap49.allocate(); 3470 void* ptr831 = heap80.allocate(); 3471 void* ptr832 = heap12.allocate(); 3472 void* ptr833 = heap94.allocate(); 3473 void* ptr834 = heap28.allocate(); 3474 void* ptr835 = heap99.allocate(); 3475 void* ptr836 = heap99.allocate(); 3476 void* ptr837 = heap52.allocate(); 3477 void* ptr838 = heap73.allocate(); 3478 void* ptr839 = heap29.allocate(); 3479 void* ptr840 = heap33.allocate(); 3480 void* ptr841 = heap25.allocate(); 3481 void* ptr842 = heap62.allocate(); 3482 void* ptr843 = heap27.allocate(); 3483 void* ptr844 = heap98.allocate(); 3484 void* ptr845 = heap72.allocate(); 3485 void* ptr846 = heap57.allocate(); 3486 void* ptr847 = heap78.allocate(); 3487 void* ptr848 = heap85.allocate(); 3488 void* ptr849 = heap07.allocate(); 3489 void* ptr850 = heap42.allocate(); 3490 void* ptr851 = heap78.allocate(); 3491 void* ptr852 = heap68.allocate(); 3492 void* ptr853 = heap19.allocate(); 3493 void* ptr854 = heap06.allocate(); 3494 void* ptr855 = heap07.allocate(); 3495 void* ptr856 = heap81.allocate(); 3496 void* ptr857 = heap66.allocate(); 3497 void* ptr858 = heap67.allocate(); 3498 void* ptr859 = heap44.allocate(); 3499 void* ptr860 = heap85.allocate(); 3500 void* ptr861 = heap64.allocate(); 3501 void* ptr862 = heap26.allocate(); 3502 void* ptr863 = heap57.allocate(); 3503 void* ptr864 = heap88.allocate(); 3504 void* ptr865 = heap49.allocate(); 3505 void* ptr866 = heap47.allocate(); 3506 void* ptr867 = heap58.allocate(); 3507 void* ptr868 = heap04.allocate(); 3508 void* ptr869 = heap22.allocate(); 3509 void* ptr870 = heap03.allocate(); 3510 void* ptr871 = heap46.allocate(); 3511 void* ptr872 = heap52.allocate(); 3512 void* ptr873 = heap97.allocate(); 3513 void* ptr874 = heap98.allocate(); 3514 void* ptr875 = heap27.allocate(); 3515 void* ptr876 = heap22.allocate(); 3516 void* ptr877 = heap31.allocate(); 3517 void* ptr878 = heap54.allocate(); 3518 void* ptr879 = heap85.allocate(); 3519 void* ptr880 = heap92.allocate(); 3520 void* ptr881 = heap48.allocate(); 3521 void* ptr882 = heap90.allocate(); 3522 void* ptr883 = heap96.allocate(); 3523 void* ptr884 = heap39.allocate(); 3524 void* ptr885 = heap34.allocate(); 3525 void* ptr886 = heap28.allocate(); 3526 void* ptr887 = heap57.allocate(); 3527 void* ptr888 = heap61.allocate(); 3528 void* ptr889 = heap40.allocate(); 3529 void* ptr890 = heap78.allocate(); 3530 void* ptr891 = heap70.allocate(); 3531 void* ptr892 = heap29.allocate(); 3532 void* ptr893 = heap89.allocate(); 3533 void* ptr894 = heap85.allocate(); 3534 void* ptr895 = heap87.allocate(); 3535 void* ptr896 = heap21.allocate(); 3536 void* ptr897 = heap89.allocate(); 3537 void* ptr898 = heap51.allocate(); 3538 void* ptr899 = heap46.allocate(); 3539 void* ptr900 = heap18.allocate(); 3540 void* ptr901 = heap86.allocate(); 3541 void* ptr902 = heap44.allocate(); 3542 void* ptr903 = heap66.allocate(); 3543 void* ptr904 = heap41.allocate(); 3544 void* ptr905 = heap45.allocate(); 3545 void* ptr906 = heap70.allocate(); 3546 void* ptr907 = heap80.allocate(); 3547 void* ptr908 = heap68.allocate(); 3548 void* ptr909 = heap63.allocate(); 3549 void* ptr910 = heap81.allocate(); 3550 void* ptr911 = heap74.allocate(); 3551 void* ptr912 = heap74.allocate(); 3552 void* ptr913 = heap53.allocate(); 3553 void* ptr914 = heap33.allocate(); 3554 void* ptr915 = heap66.allocate(); 3555 void* ptr916 = heap16.allocate(); 3556 void* ptr917 = heap19.allocate(); 3557 void* ptr918 = heap66.allocate(); 3558 void* ptr919 = heap57.allocate(); 3559 void* ptr920 = heap37.allocate(); 3560 void* ptr921 = heap56.allocate(); 3561 void* ptr922 = heap73.allocate(); 3562 void* ptr923 = heap76.allocate(); 3563 void* ptr924 = heap21.allocate(); 3564 void* ptr925 = heap39.allocate(); 3565 void* ptr926 = heap82.allocate(); 3566 void* ptr927 = heap79.allocate(); 3567 void* ptr928 = heap98.allocate(); 3568 void* ptr929 = heap21.allocate(); 3569 void* ptr930 = heap04.allocate(); 3570 void* ptr931 = heap63.allocate(); 3571 void* ptr932 = heap93.allocate(); 3572 void* ptr933 = heap42.allocate(); 3573 void* ptr934 = heap85.allocate(); 3574 void* ptr935 = heap32.allocate(); 3575 void* ptr936 = heap36.allocate(); 3576 void* ptr937 = heap25.allocate(); 3577 void* ptr938 = heap39.allocate(); 3578 void* ptr939 = heap45.allocate(); 3579 void* ptr940 = heap01.allocate(); 3580 void* ptr941 = heap17.allocate(); 3581 void* ptr942 = heap98.allocate(); 3582 void* ptr943 = heap12.allocate(); 3583 void* ptr944 = heap81.allocate(); 3584 void* ptr945 = heap68.allocate(); 3585 void* ptr946 = heap50.allocate(); 3586 void* ptr947 = heap10.allocate(); 3587 void* ptr948 = heap08.allocate(); 3588 void* ptr949 = heap19.allocate(); 3589 void* ptr950 = heap95.allocate(); 3590 void* ptr951 = heap30.allocate(); 3591 void* ptr952 = heap01.allocate(); 3592 void* ptr953 = heap56.allocate(); 3593 void* ptr954 = heap87.allocate(); 3594 void* ptr955 = heap89.allocate(); 3595 void* ptr956 = heap65.allocate(); 3596 void* ptr957 = heap29.allocate(); 3597 void* ptr958 = heap63.allocate(); 3598 void* ptr959 = heap75.allocate(); 3599 void* ptr960 = heap93.allocate(); 3600 void* ptr961 = heap67.allocate(); 3601 void* ptr962 = heap14.allocate(); 3602 void* ptr963 = heap46.allocate(); 3603 void* ptr964 = heap01.allocate(); 3604 void* ptr965 = heap64.allocate(); 3605 void* ptr966 = heap92.allocate(); 3606 void* ptr967 = heap57.allocate(); 3607 void* ptr968 = heap29.allocate(); 3608 void* ptr969 = heap37.allocate(); 3609 void* ptr970 = heap97.allocate(); 3610 void* ptr971 = heap15.allocate(); 3611 void* ptr972 = heap07.allocate(); 3612 void* ptr973 = heap26.allocate(); 3613 void* ptr974 = heap75.allocate(); 3614 void* ptr975 = heap07.allocate(); 3615 void* ptr976 = heap02.allocate(); 3616 void* ptr977 = heap10.allocate(); 3617 void* ptr978 = heap88.allocate(); 3618 void* ptr979 = heap39.allocate(); 3619 void* ptr980 = heap36.allocate(); 3620 void* ptr981 = heap19.allocate(); 3621 void* ptr982 = heap61.allocate(); 3622 void* ptr983 = heap59.allocate(); 3623 void* ptr984 = heap88.allocate(); 3624 void* ptr985 = heap24.allocate(); 3625 void* ptr986 = heap62.allocate(); 3626 void* ptr987 = heap81.allocate(); 3627 void* ptr988 = heap61.allocate(); 3628 void* ptr989 = heap95.allocate(); 3629 void* ptr990 = heap38.allocate(); 3630 void* ptr991 = heap07.allocate(); 3631 void* ptr992 = heap94.allocate(); 3632 void* ptr993 = heap96.allocate(); 3633 void* ptr994 = heap91.allocate(); 3634 void* ptr995 = heap67.allocate(); 3635 void* ptr996 = heap20.allocate(); 3636 void* ptr997 = heap38.allocate(); 3637 void* ptr998 = heap78.allocate(); 3638 void* ptr999 = heap48.allocate(); 3639 void* ptr1000 = heap03.allocate(); 3640 heap82.deallocate(ptr0); 3641 heap96.deallocate(ptr1); 3642 heap13.deallocate(ptr2); 3643 heap69.deallocate(ptr3); 3644 heap26.deallocate(ptr4); 3645 heap26.deallocate(ptr5); 3646 heap05.deallocate(ptr6); 3647 heap35.deallocate(ptr7); 3648 heap64.deallocate(ptr8); 3649 heap02.deallocate(ptr9); 3650 heap17.deallocate(ptr10); 3651 heap15.deallocate(ptr11); 3652 heap30.deallocate(ptr12); 3653 heap58.deallocate(ptr13); 3654 heap70.deallocate(ptr14); 3655 heap21.deallocate(ptr15); 3656 heap50.deallocate(ptr16); 3657 heap38.deallocate(ptr17); 3658 heap03.deallocate(ptr18); 3659 heap95.deallocate(ptr19); 3660 heap94.deallocate(ptr20); 3661 heap73.deallocate(ptr21); 3662 heap83.deallocate(ptr22); 3663 heap04.deallocate(ptr23); 3664 heap65.deallocate(ptr24); 3665 heap52.deallocate(ptr25); 3666 heap45.deallocate(ptr26); 3667 heap23.deallocate(ptr27); 3668 heap79.deallocate(ptr28); 3669 heap02.deallocate(ptr29); 3670 heap15.deallocate(ptr30); 3671 heap19.deallocate(ptr31); 3672 heap36.deallocate(ptr32); 3673 heap57.deallocate(ptr33); 3674 heap23.deallocate(ptr34); 3675 heap66.deallocate(ptr35); 3676 heap66.deallocate(ptr36); 3677 heap59.deallocate(ptr37); 3678 heap87.deallocate(ptr38); 3679 heap93.deallocate(ptr39); 3680 heap73.deallocate(ptr40); 3681 heap43.deallocate(ptr41); 3682 heap39.deallocate(ptr42); 3683 heap13.deallocate(ptr43); 3684 heap20.deallocate(ptr44); 3685 heap70.deallocate(ptr45); 3686 heap98.deallocate(ptr46); 3687 heap40.deallocate(ptr47); 3688 heap93.deallocate(ptr48); 3689 heap34.deallocate(ptr49); 3690 heap43.deallocate(ptr50); 3691 heap38.deallocate(ptr51); 3692 heap86.deallocate(ptr52); 3693 heap14.deallocate(ptr53); 3694 heap56.deallocate(ptr54); 3695 heap12.deallocate(ptr55); 3696 heap00.deallocate(ptr56); 3697 heap73.deallocate(ptr57); 3698 heap99.deallocate(ptr58); 3699 heap70.deallocate(ptr59); 3700 heap05.deallocate(ptr60); 3701 heap92.deallocate(ptr61); 3702 heap59.deallocate(ptr62); 3703 heap82.deallocate(ptr63); 3704 heap47.deallocate(ptr64); 3705 heap41.deallocate(ptr65); 3706 heap84.deallocate(ptr66); 3707 heap52.deallocate(ptr67); 3708 heap88.deallocate(ptr68); 3709 heap90.deallocate(ptr69); 3710 heap93.deallocate(ptr70); 3711 heap27.deallocate(ptr71); 3712 heap56.deallocate(ptr72); 3713 heap98.deallocate(ptr73); 3714 heap37.deallocate(ptr74); 3715 heap70.deallocate(ptr75); 3716 heap42.deallocate(ptr76); 3717 heap98.deallocate(ptr77); 3718 heap03.deallocate(ptr78); 3719 heap41.deallocate(ptr79); 3720 heap78.deallocate(ptr80); 3721 heap66.deallocate(ptr81); 3722 heap29.deallocate(ptr82); 3723 heap29.deallocate(ptr83); 3724 heap49.deallocate(ptr84); 3725 heap01.deallocate(ptr85); 3726 heap27.deallocate(ptr86); 3727 heap57.deallocate(ptr87); 3728 heap69.deallocate(ptr88); 3729 heap15.deallocate(ptr89); 3730 heap96.deallocate(ptr90); 3731 heap24.deallocate(ptr91); 3732 heap18.deallocate(ptr92); 3733 heap80.deallocate(ptr93); 3734 heap41.deallocate(ptr94); 3735 heap05.deallocate(ptr95); 3736 heap94.deallocate(ptr96); 3737 heap62.deallocate(ptr97); 3738 heap93.deallocate(ptr98); 3739 heap74.deallocate(ptr99); 3740 heap00.deallocate(ptr100); 3741 heap96.deallocate(ptr101); 3742 heap92.deallocate(ptr102); 3743 heap63.deallocate(ptr103); 3744 heap06.deallocate(ptr104); 3745 heap06.deallocate(ptr105); 3746 heap22.deallocate(ptr106); 3747 heap47.deallocate(ptr107); 3748 heap31.deallocate(ptr108); 3749 heap63.deallocate(ptr109); 3750 heap96.deallocate(ptr110); 3751 heap94.deallocate(ptr111); 3752 heap93.deallocate(ptr112); 3753 heap72.deallocate(ptr113); 3754 heap20.deallocate(ptr114); 3755 heap90.deallocate(ptr115); 3756 heap67.deallocate(ptr116); 3757 heap12.deallocate(ptr117); 3758 heap38.deallocate(ptr118); 3759 heap75.deallocate(ptr119); 3760 heap17.deallocate(ptr120); 3761 heap17.deallocate(ptr121); 3762 heap06.deallocate(ptr122); 3763 heap74.deallocate(ptr123); 3764 heap26.deallocate(ptr124); 3765 heap52.deallocate(ptr125); 3766 heap94.deallocate(ptr126); 3767 heap11.deallocate(ptr127); 3768 heap03.deallocate(ptr128); 3769 heap37.deallocate(ptr129); 3770 heap39.deallocate(ptr130); 3771 heap55.deallocate(ptr131); 3772 heap84.deallocate(ptr132); 3773 heap65.deallocate(ptr133); 3774 heap95.deallocate(ptr134); 3775 heap03.deallocate(ptr135); 3776 heap74.deallocate(ptr136); 3777 heap93.deallocate(ptr137); 3778 heap32.deallocate(ptr138); 3779 heap93.deallocate(ptr139); 3780 heap51.deallocate(ptr140); 3781 heap08.deallocate(ptr141); 3782 heap43.deallocate(ptr142); 3783 heap81.deallocate(ptr143); 3784 heap03.deallocate(ptr144); 3785 heap53.deallocate(ptr145); 3786 heap57.deallocate(ptr146); 3787 heap04.deallocate(ptr147); 3788 heap36.deallocate(ptr148); 3789 heap87.deallocate(ptr149); 3790 heap68.deallocate(ptr150); 3791 heap58.deallocate(ptr151); 3792 heap00.deallocate(ptr152); 3793 heap03.deallocate(ptr153); 3794 heap56.deallocate(ptr154); 3795 heap97.deallocate(ptr155); 3796 heap22.deallocate(ptr156); 3797 heap24.deallocate(ptr157); 3798 heap33.deallocate(ptr158); 3799 heap06.deallocate(ptr159); 3800 heap61.deallocate(ptr160); 3801 heap72.deallocate(ptr161); 3802 heap16.deallocate(ptr162); 3803 heap96.deallocate(ptr163); 3804 heap24.deallocate(ptr164); 3805 heap42.deallocate(ptr165); 3806 heap74.deallocate(ptr166); 3807 heap76.deallocate(ptr167); 3808 heap13.deallocate(ptr168); 3809 heap21.deallocate(ptr169); 3810 heap02.deallocate(ptr170); 3811 heap74.deallocate(ptr171); 3812 heap02.deallocate(ptr172); 3813 heap58.deallocate(ptr173); 3814 heap61.deallocate(ptr174); 3815 heap48.deallocate(ptr175); 3816 heap21.deallocate(ptr176); 3817 heap79.deallocate(ptr177); 3818 heap95.deallocate(ptr178); 3819 heap50.deallocate(ptr179); 3820 heap45.deallocate(ptr180); 3821 heap42.deallocate(ptr181); 3822 heap22.deallocate(ptr182); 3823 heap67.deallocate(ptr183); 3824 heap94.deallocate(ptr184); 3825 heap72.deallocate(ptr185); 3826 heap08.deallocate(ptr186); 3827 heap90.deallocate(ptr187); 3828 heap39.deallocate(ptr188); 3829 heap64.deallocate(ptr189); 3830 heap67.deallocate(ptr190); 3831 heap77.deallocate(ptr191); 3832 heap36.deallocate(ptr192); 3833 heap37.deallocate(ptr193); 3834 heap83.deallocate(ptr194); 3835 heap10.deallocate(ptr195); 3836 heap76.deallocate(ptr196); 3837 heap40.deallocate(ptr197); 3838 heap73.deallocate(ptr198); 3839 heap30.deallocate(ptr199); 3840 heap83.deallocate(ptr200); 3841 heap45.deallocate(ptr201); 3842 heap95.deallocate(ptr202); 3843 heap81.deallocate(ptr203); 3844 heap67.deallocate(ptr204); 3845 heap81.deallocate(ptr205); 3846 heap43.deallocate(ptr206); 3847 heap67.deallocate(ptr207); 3848 heap32.deallocate(ptr208); 3849 heap53.deallocate(ptr209); 3850 heap10.deallocate(ptr210); 3851 heap37.deallocate(ptr211); 3852 heap85.deallocate(ptr212); 3853 heap91.deallocate(ptr213); 3854 heap49.deallocate(ptr214); 3855 heap24.deallocate(ptr215); 3856 heap52.deallocate(ptr216); 3857 heap57.deallocate(ptr217); 3858 heap81.deallocate(ptr218); 3859 heap27.deallocate(ptr219); 3860 heap75.deallocate(ptr220); 3861 heap87.deallocate(ptr221); 3862 heap00.deallocate(ptr222); 3863 heap60.deallocate(ptr223); 3864 heap43.deallocate(ptr224); 3865 heap62.deallocate(ptr225); 3866 heap73.deallocate(ptr226); 3867 heap73.deallocate(ptr227); 3868 heap87.deallocate(ptr228); 3869 heap82.deallocate(ptr229); 3870 heap52.deallocate(ptr230); 3871 heap08.deallocate(ptr231); 3872 heap30.deallocate(ptr232); 3873 heap91.deallocate(ptr233); 3874 heap25.deallocate(ptr234); 3875 heap28.deallocate(ptr235); 3876 heap53.deallocate(ptr236); 3877 heap52.deallocate(ptr237); 3878 heap00.deallocate(ptr238); 3879 heap62.deallocate(ptr239); 3880 heap91.deallocate(ptr240); 3881 heap30.deallocate(ptr241); 3882 heap93.deallocate(ptr242); 3883 heap37.deallocate(ptr243); 3884 heap79.deallocate(ptr244); 3885 heap74.deallocate(ptr245); 3886 heap47.deallocate(ptr246); 3887 heap32.deallocate(ptr247); 3888 heap39.deallocate(ptr248); 3889 heap17.deallocate(ptr249); 3890 heap74.deallocate(ptr250); 3891 heap19.deallocate(ptr251); 3892 heap39.deallocate(ptr252); 3893 heap14.deallocate(ptr253); 3894 heap63.deallocate(ptr254); 3895 heap44.deallocate(ptr255); 3896 heap68.deallocate(ptr256); 3897 heap48.deallocate(ptr257); 3898 heap51.deallocate(ptr258); 3899 heap12.deallocate(ptr259); 3900 heap00.deallocate(ptr260); 3901 heap53.deallocate(ptr261); 3902 heap82.deallocate(ptr262); 3903 heap67.deallocate(ptr263); 3904 heap81.deallocate(ptr264); 3905 heap98.deallocate(ptr265); 3906 heap07.deallocate(ptr266); 3907 heap97.deallocate(ptr267); 3908 heap30.deallocate(ptr268); 3909 heap90.deallocate(ptr269); 3910 heap57.deallocate(ptr270); 3911 heap22.deallocate(ptr271); 3912 heap96.deallocate(ptr272); 3913 heap41.deallocate(ptr273); 3914 heap16.deallocate(ptr274); 3915 heap96.deallocate(ptr275); 3916 heap91.deallocate(ptr276); 3917 heap07.deallocate(ptr277); 3918 heap13.deallocate(ptr278); 3919 heap26.deallocate(ptr279); 3920 heap48.deallocate(ptr280); 3921 heap33.deallocate(ptr281); 3922 heap07.deallocate(ptr282); 3923 heap96.deallocate(ptr283); 3924 heap91.deallocate(ptr284); 3925 heap01.deallocate(ptr285); 3926 heap18.deallocate(ptr286); 3927 heap95.deallocate(ptr287); 3928 heap16.deallocate(ptr288); 3929 heap73.deallocate(ptr289); 3930 heap75.deallocate(ptr290); 3931 heap93.deallocate(ptr291); 3932 heap67.deallocate(ptr292); 3933 heap04.deallocate(ptr293); 3934 heap29.deallocate(ptr294); 3935 heap25.deallocate(ptr295); 3936 heap03.deallocate(ptr296); 3937 heap66.deallocate(ptr297); 3938 heap26.deallocate(ptr298); 3939 heap50.deallocate(ptr299); 3940 heap92.deallocate(ptr300); 3941 heap55.deallocate(ptr301); 3942 heap84.deallocate(ptr302); 3943 heap25.deallocate(ptr303); 3944 heap07.deallocate(ptr304); 3945 heap13.deallocate(ptr305); 3946 heap05.deallocate(ptr306); 3947 heap71.deallocate(ptr307); 3948 heap72.deallocate(ptr308); 3949 heap78.deallocate(ptr309); 3950 heap60.deallocate(ptr310); 3951 heap58.deallocate(ptr311); 3952 heap34.deallocate(ptr312); 3953 heap04.deallocate(ptr313); 3954 heap07.deallocate(ptr314); 3955 heap39.deallocate(ptr315); 3956 heap40.deallocate(ptr316); 3957 heap66.deallocate(ptr317); 3958 heap70.deallocate(ptr318); 3959 heap76.deallocate(ptr319); 3960 heap28.deallocate(ptr320); 3961 heap66.deallocate(ptr321); 3962 heap20.deallocate(ptr322); 3963 heap34.deallocate(ptr323); 3964 heap90.deallocate(ptr324); 3965 heap35.deallocate(ptr325); 3966 heap33.deallocate(ptr326); 3967 heap74.deallocate(ptr327); 3968 heap55.deallocate(ptr328); 3969 heap86.deallocate(ptr329); 3970 heap85.deallocate(ptr330); 3971 heap76.deallocate(ptr331); 3972 heap40.deallocate(ptr332); 3973 heap14.deallocate(ptr333); 3974 heap93.deallocate(ptr334); 3975 heap10.deallocate(ptr335); 3976 heap41.deallocate(ptr336); 3977 heap78.deallocate(ptr337); 3978 heap97.deallocate(ptr338); 3979 heap31.deallocate(ptr339); 3980 heap85.deallocate(ptr340); 3981 heap35.deallocate(ptr341); 3982 heap58.deallocate(ptr342); 3983 heap05.deallocate(ptr343); 3984 heap71.deallocate(ptr344); 3985 heap61.deallocate(ptr345); 3986 heap49.deallocate(ptr346); 3987 heap67.deallocate(ptr347); 3988 heap04.deallocate(ptr348); 3989 heap51.deallocate(ptr349); 3990 heap35.deallocate(ptr350); 3991 heap19.deallocate(ptr351); 3992 heap25.deallocate(ptr352); 3993 heap08.deallocate(ptr353); 3994 heap56.deallocate(ptr354); 3995 heap20.deallocate(ptr355); 3996 heap58.deallocate(ptr356); 3997 heap19.deallocate(ptr357); 3998 heap47.deallocate(ptr358); 3999 heap70.deallocate(ptr359); 4000 heap74.deallocate(ptr360); 4001 heap02.deallocate(ptr361); 4002 heap37.deallocate(ptr362); 4003 heap07.deallocate(ptr363); 4004 heap31.deallocate(ptr364); 4005 heap85.deallocate(ptr365); 4006 heap95.deallocate(ptr366); 4007 heap69.deallocate(ptr367); 4008 heap46.deallocate(ptr368); 4009 heap09.deallocate(ptr369); 4010 heap13.deallocate(ptr370); 4011 heap18.deallocate(ptr371); 4012 heap77.deallocate(ptr372); 4013 heap81.deallocate(ptr373); 4014 heap60.deallocate(ptr374); 4015 heap89.deallocate(ptr375); 4016 heap48.deallocate(ptr376); 4017 heap79.deallocate(ptr377); 4018 heap77.deallocate(ptr378); 4019 heap67.deallocate(ptr379); 4020 heap64.deallocate(ptr380); 4021 heap67.deallocate(ptr381); 4022 heap77.deallocate(ptr382); 4023 heap23.deallocate(ptr383); 4024 heap44.deallocate(ptr384); 4025 heap86.deallocate(ptr385); 4026 heap12.deallocate(ptr386); 4027 heap28.deallocate(ptr387); 4028 heap83.deallocate(ptr388); 4029 heap10.deallocate(ptr389); 4030 heap67.deallocate(ptr390); 4031 heap48.deallocate(ptr391); 4032 heap79.deallocate(ptr392); 4033 heap99.deallocate(ptr393); 4034 heap41.deallocate(ptr394); 4035 heap71.deallocate(ptr395); 4036 heap46.deallocate(ptr396); 4037 heap31.deallocate(ptr397); 4038 heap63.deallocate(ptr398); 4039 heap65.deallocate(ptr399); 4040 heap78.deallocate(ptr400); 4041 heap22.deallocate(ptr401); 4042 heap06.deallocate(ptr402); 4043 heap11.deallocate(ptr403); 4044 heap11.deallocate(ptr404); 4045 heap24.deallocate(ptr405); 4046 heap42.deallocate(ptr406); 4047 heap31.deallocate(ptr407); 4048 heap86.deallocate(ptr408); 4049 heap30.deallocate(ptr409); 4050 heap67.deallocate(ptr410); 4051 heap30.deallocate(ptr411); 4052 heap45.deallocate(ptr412); 4053 heap17.deallocate(ptr413); 4054 heap09.deallocate(ptr414); 4055 heap56.deallocate(ptr415); 4056 heap28.deallocate(ptr416); 4057 heap84.deallocate(ptr417); 4058 heap75.deallocate(ptr418); 4059 heap31.deallocate(ptr419); 4060 heap23.deallocate(ptr420); 4061 heap54.deallocate(ptr421); 4062 heap26.deallocate(ptr422); 4063 heap62.deallocate(ptr423); 4064 heap06.deallocate(ptr424); 4065 heap67.deallocate(ptr425); 4066 heap67.deallocate(ptr426); 4067 heap78.deallocate(ptr427); 4068 heap87.deallocate(ptr428); 4069 heap51.deallocate(ptr429); 4070 heap09.deallocate(ptr430); 4071 heap77.deallocate(ptr431); 4072 heap86.deallocate(ptr432); 4073 heap64.deallocate(ptr433); 4074 heap96.deallocate(ptr434); 4075 heap16.deallocate(ptr435); 4076 heap11.deallocate(ptr436); 4077 heap38.deallocate(ptr437); 4078 heap01.deallocate(ptr438); 4079 heap56.deallocate(ptr439); 4080 heap51.deallocate(ptr440); 4081 heap99.deallocate(ptr441); 4082 heap47.deallocate(ptr442); 4083 heap57.deallocate(ptr443); 4084 heap29.deallocate(ptr444); 4085 heap59.deallocate(ptr445); 4086 heap83.deallocate(ptr446); 4087 heap40.deallocate(ptr447); 4088 heap19.deallocate(ptr448); 4089 heap17.deallocate(ptr449); 4090 heap21.deallocate(ptr450); 4091 heap22.deallocate(ptr451); 4092 heap04.deallocate(ptr452); 4093 heap45.deallocate(ptr453); 4094 heap73.deallocate(ptr454); 4095 heap96.deallocate(ptr455); 4096 heap23.deallocate(ptr456); 4097 heap16.deallocate(ptr457); 4098 heap92.deallocate(ptr458); 4099 heap02.deallocate(ptr459); 4100 heap11.deallocate(ptr460); 4101 heap67.deallocate(ptr461); 4102 heap69.deallocate(ptr462); 4103 heap21.deallocate(ptr463); 4104 heap20.deallocate(ptr464); 4105 heap32.deallocate(ptr465); 4106 heap39.deallocate(ptr466); 4107 heap39.deallocate(ptr467); 4108 heap66.deallocate(ptr468); 4109 heap42.deallocate(ptr469); 4110 heap49.deallocate(ptr470); 4111 heap33.deallocate(ptr471); 4112 heap30.deallocate(ptr472); 4113 heap88.deallocate(ptr473); 4114 heap73.deallocate(ptr474); 4115 heap00.deallocate(ptr475); 4116 heap14.deallocate(ptr476); 4117 heap42.deallocate(ptr477); 4118 heap07.deallocate(ptr478); 4119 heap63.deallocate(ptr479); 4120 heap28.deallocate(ptr480); 4121 heap62.deallocate(ptr481); 4122 heap69.deallocate(ptr482); 4123 heap06.deallocate(ptr483); 4124 heap74.deallocate(ptr484); 4125 heap15.deallocate(ptr485); 4126 heap41.deallocate(ptr486); 4127 heap56.deallocate(ptr487); 4128 heap13.deallocate(ptr488); 4129 heap95.deallocate(ptr489); 4130 heap73.deallocate(ptr490); 4131 heap88.deallocate(ptr491); 4132 heap65.deallocate(ptr492); 4133 heap68.deallocate(ptr493); 4134 heap87.deallocate(ptr494); 4135 heap66.deallocate(ptr495); 4136 heap91.deallocate(ptr496); 4137 heap23.deallocate(ptr497); 4138 heap32.deallocate(ptr498); 4139 heap05.deallocate(ptr499); 4140 heap57.deallocate(ptr500); 4141 heap49.deallocate(ptr501); 4142 heap99.deallocate(ptr502); 4143 heap77.deallocate(ptr503); 4144 heap05.deallocate(ptr504); 4145 heap45.deallocate(ptr505); 4146 heap50.deallocate(ptr506); 4147 heap77.deallocate(ptr507); 4148 heap00.deallocate(ptr508); 4149 heap81.deallocate(ptr509); 4150 heap37.deallocate(ptr510); 4151 heap39.deallocate(ptr511); 4152 heap76.deallocate(ptr512); 4153 heap31.deallocate(ptr513); 4154 heap04.deallocate(ptr514); 4155 heap74.deallocate(ptr515); 4156 heap79.deallocate(ptr516); 4157 heap65.deallocate(ptr517); 4158 heap99.deallocate(ptr518); 4159 heap47.deallocate(ptr519); 4160 heap28.deallocate(ptr520); 4161 heap31.deallocate(ptr521); 4162 heap70.deallocate(ptr522); 4163 heap22.deallocate(ptr523); 4164 heap68.deallocate(ptr524); 4165 heap92.deallocate(ptr525); 4166 heap83.deallocate(ptr526); 4167 heap05.deallocate(ptr527); 4168 heap65.deallocate(ptr528); 4169 heap39.deallocate(ptr529); 4170 heap32.deallocate(ptr530); 4171 heap07.deallocate(ptr531); 4172 heap94.deallocate(ptr532); 4173 heap90.deallocate(ptr533); 4174 heap68.deallocate(ptr534); 4175 heap21.deallocate(ptr535); 4176 heap37.deallocate(ptr536); 4177 heap03.deallocate(ptr537); 4178 heap65.deallocate(ptr538); 4179 heap00.deallocate(ptr539); 4180 heap05.deallocate(ptr540); 4181 heap54.deallocate(ptr541); 4182 heap07.deallocate(ptr542); 4183 heap38.deallocate(ptr543); 4184 heap80.deallocate(ptr544); 4185 heap04.deallocate(ptr545); 4186 heap90.deallocate(ptr546); 4187 heap08.deallocate(ptr547); 4188 heap90.deallocate(ptr548); 4189 heap89.deallocate(ptr549); 4190 heap32.deallocate(ptr550); 4191 heap75.deallocate(ptr551); 4192 heap70.deallocate(ptr552); 4193 heap62.deallocate(ptr553); 4194 heap01.deallocate(ptr554); 4195 heap20.deallocate(ptr555); 4196 heap37.deallocate(ptr556); 4197 heap30.deallocate(ptr557); 4198 heap47.deallocate(ptr558); 4199 heap99.deallocate(ptr559); 4200 heap23.deallocate(ptr560); 4201 heap74.deallocate(ptr561); 4202 heap68.deallocate(ptr562); 4203 heap90.deallocate(ptr563); 4204 heap51.deallocate(ptr564); 4205 heap12.deallocate(ptr565); 4206 heap86.deallocate(ptr566); 4207 heap39.deallocate(ptr567); 4208 heap11.deallocate(ptr568); 4209 heap42.deallocate(ptr569); 4210 heap75.deallocate(ptr570); 4211 heap95.deallocate(ptr571); 4212 heap91.deallocate(ptr572); 4213 heap82.deallocate(ptr573); 4214 heap61.deallocate(ptr574); 4215 heap95.deallocate(ptr575); 4216 heap25.deallocate(ptr576); 4217 heap25.deallocate(ptr577); 4218 heap25.deallocate(ptr578); 4219 heap89.deallocate(ptr579); 4220 heap41.deallocate(ptr580); 4221 heap92.deallocate(ptr581); 4222 heap20.deallocate(ptr582); 4223 heap66.deallocate(ptr583); 4224 heap25.deallocate(ptr584); 4225 heap37.deallocate(ptr585); 4226 heap09.deallocate(ptr586); 4227 heap53.deallocate(ptr587); 4228 heap84.deallocate(ptr588); 4229 heap18.deallocate(ptr589); 4230 heap77.deallocate(ptr590); 4231 heap17.deallocate(ptr591); 4232 heap11.deallocate(ptr592); 4233 heap73.deallocate(ptr593); 4234 heap16.deallocate(ptr594); 4235 heap98.deallocate(ptr595); 4236 heap92.deallocate(ptr596); 4237 heap99.deallocate(ptr597); 4238 heap74.deallocate(ptr598); 4239 heap16.deallocate(ptr599); 4240 heap29.deallocate(ptr600); 4241 heap26.deallocate(ptr601); 4242 heap21.deallocate(ptr602); 4243 heap22.deallocate(ptr603); 4244 heap83.deallocate(ptr604); 4245 heap83.deallocate(ptr605); 4246 heap78.deallocate(ptr606); 4247 heap96.deallocate(ptr607); 4248 heap52.deallocate(ptr608); 4249 heap33.deallocate(ptr609); 4250 heap31.deallocate(ptr610); 4251 heap04.deallocate(ptr611); 4252 heap29.deallocate(ptr612); 4253 heap32.deallocate(ptr613); 4254 heap20.deallocate(ptr614); 4255 heap61.deallocate(ptr615); 4256 heap85.deallocate(ptr616); 4257 heap50.deallocate(ptr617); 4258 heap19.deallocate(ptr618); 4259 heap65.deallocate(ptr619); 4260 heap89.deallocate(ptr620); 4261 heap94.deallocate(ptr621); 4262 heap40.deallocate(ptr622); 4263 heap47.deallocate(ptr623); 4264 heap57.deallocate(ptr624); 4265 heap56.deallocate(ptr625); 4266 heap81.deallocate(ptr626); 4267 heap64.deallocate(ptr627); 4268 heap40.deallocate(ptr628); 4269 heap92.deallocate(ptr629); 4270 heap41.deallocate(ptr630); 4271 heap54.deallocate(ptr631); 4272 heap26.deallocate(ptr632); 4273 heap37.deallocate(ptr633); 4274 heap67.deallocate(ptr634); 4275 heap71.deallocate(ptr635); 4276 heap32.deallocate(ptr636); 4277 heap75.deallocate(ptr637); 4278 heap00.deallocate(ptr638); 4279 heap96.deallocate(ptr639); 4280 heap02.deallocate(ptr640); 4281 heap70.deallocate(ptr641); 4282 heap13.deallocate(ptr642); 4283 heap88.deallocate(ptr643); 4284 heap43.deallocate(ptr644); 4285 heap16.deallocate(ptr645); 4286 heap34.deallocate(ptr646); 4287 heap47.deallocate(ptr647); 4288 heap97.deallocate(ptr648); 4289 heap16.deallocate(ptr649); 4290 heap35.deallocate(ptr650); 4291 heap19.deallocate(ptr651); 4292 heap41.deallocate(ptr652); 4293 heap64.deallocate(ptr653); 4294 heap33.deallocate(ptr654); 4295 heap90.deallocate(ptr655); 4296 heap44.deallocate(ptr656); 4297 heap50.deallocate(ptr657); 4298 heap92.deallocate(ptr658); 4299 heap00.deallocate(ptr659); 4300 heap76.deallocate(ptr660); 4301 heap25.deallocate(ptr661); 4302 heap81.deallocate(ptr662); 4303 heap60.deallocate(ptr663); 4304 heap38.deallocate(ptr664); 4305 heap67.deallocate(ptr665); 4306 heap93.deallocate(ptr666); 4307 heap18.deallocate(ptr667); 4308 heap72.deallocate(ptr668); 4309 heap19.deallocate(ptr669); 4310 heap20.deallocate(ptr670); 4311 heap34.deallocate(ptr671); 4312 heap86.deallocate(ptr672); 4313 heap13.deallocate(ptr673); 4314 heap21.deallocate(ptr674); 4315 heap33.deallocate(ptr675); 4316 heap92.deallocate(ptr676); 4317 heap49.deallocate(ptr677); 4318 heap96.deallocate(ptr678); 4319 heap51.deallocate(ptr679); 4320 heap33.deallocate(ptr680); 4321 heap98.deallocate(ptr681); 4322 heap83.deallocate(ptr682); 4323 heap64.deallocate(ptr683); 4324 heap96.deallocate(ptr684); 4325 heap58.deallocate(ptr685); 4326 heap95.deallocate(ptr686); 4327 heap00.deallocate(ptr687); 4328 heap88.deallocate(ptr688); 4329 heap66.deallocate(ptr689); 4330 heap49.deallocate(ptr690); 4331 heap19.deallocate(ptr691); 4332 heap39.deallocate(ptr692); 4333 heap13.deallocate(ptr693); 4334 heap34.deallocate(ptr694); 4335 heap15.deallocate(ptr695); 4336 heap67.deallocate(ptr696); 4337 heap80.deallocate(ptr697); 4338 heap59.deallocate(ptr698); 4339 heap62.deallocate(ptr699); 4340 heap81.deallocate(ptr700); 4341 heap27.deallocate(ptr701); 4342 heap64.deallocate(ptr702); 4343 heap30.deallocate(ptr703); 4344 heap89.deallocate(ptr704); 4345 heap61.deallocate(ptr705); 4346 heap07.deallocate(ptr706); 4347 heap34.deallocate(ptr707); 4348 heap02.deallocate(ptr708); 4349 heap37.deallocate(ptr709); 4350 heap12.deallocate(ptr710); 4351 heap14.deallocate(ptr711); 4352 heap75.deallocate(ptr712); 4353 heap65.deallocate(ptr713); 4354 heap68.deallocate(ptr714); 4355 heap31.deallocate(ptr715); 4356 heap06.deallocate(ptr716); 4357 heap12.deallocate(ptr717); 4358 heap26.deallocate(ptr718); 4359 heap07.deallocate(ptr719); 4360 heap52.deallocate(ptr720); 4361 heap33.deallocate(ptr721); 4362 heap56.deallocate(ptr722); 4363 heap18.deallocate(ptr723); 4364 heap54.deallocate(ptr724); 4365 heap74.deallocate(ptr725); 4366 heap13.deallocate(ptr726); 4367 heap58.deallocate(ptr727); 4368 heap74.deallocate(ptr728); 4369 heap24.deallocate(ptr729); 4370 heap20.deallocate(ptr730); 4371 heap01.deallocate(ptr731); 4372 heap88.deallocate(ptr732); 4373 heap01.deallocate(ptr733); 4374 heap02.deallocate(ptr734); 4375 heap01.deallocate(ptr735); 4376 heap91.deallocate(ptr736); 4377 heap63.deallocate(ptr737); 4378 heap43.deallocate(ptr738); 4379 heap70.deallocate(ptr739); 4380 heap53.deallocate(ptr740); 4381 heap68.deallocate(ptr741); 4382 heap49.deallocate(ptr742); 4383 heap27.deallocate(ptr743); 4384 heap40.deallocate(ptr744); 4385 heap43.deallocate(ptr745); 4386 heap46.deallocate(ptr746); 4387 heap98.deallocate(ptr747); 4388 heap65.deallocate(ptr748); 4389 heap77.deallocate(ptr749); 4390 heap23.deallocate(ptr750); 4391 heap43.deallocate(ptr751); 4392 heap45.deallocate(ptr752); 4393 heap30.deallocate(ptr753); 4394 heap69.deallocate(ptr754); 4395 heap81.deallocate(ptr755); 4396 heap32.deallocate(ptr756); 4397 heap34.deallocate(ptr757); 4398 heap53.deallocate(ptr758); 4399 heap00.deallocate(ptr759); 4400 heap82.deallocate(ptr760); 4401 heap72.deallocate(ptr761); 4402 heap47.deallocate(ptr762); 4403 heap23.deallocate(ptr763); 4404 heap83.deallocate(ptr764); 4405 heap56.deallocate(ptr765); 4406 heap76.deallocate(ptr766); 4407 heap97.deallocate(ptr767); 4408 heap66.deallocate(ptr768); 4409 heap84.deallocate(ptr769); 4410 heap02.deallocate(ptr770); 4411 heap71.deallocate(ptr771); 4412 heap07.deallocate(ptr772); 4413 heap78.deallocate(ptr773); 4414 heap93.deallocate(ptr774); 4415 heap08.deallocate(ptr775); 4416 heap83.deallocate(ptr776); 4417 heap84.deallocate(ptr777); 4418 heap39.deallocate(ptr778); 4419 heap29.deallocate(ptr779); 4420 heap29.deallocate(ptr780); 4421 heap37.deallocate(ptr781); 4422 heap15.deallocate(ptr782); 4423 heap56.deallocate(ptr783); 4424 heap93.deallocate(ptr784); 4425 heap02.deallocate(ptr785); 4426 heap70.deallocate(ptr786); 4427 heap35.deallocate(ptr787); 4428 heap30.deallocate(ptr788); 4429 heap84.deallocate(ptr789); 4430 heap46.deallocate(ptr790); 4431 heap23.deallocate(ptr791); 4432 heap17.deallocate(ptr792); 4433 heap97.deallocate(ptr793); 4434 heap56.deallocate(ptr794); 4435 heap07.deallocate(ptr795); 4436 heap97.deallocate(ptr796); 4437 heap58.deallocate(ptr797); 4438 heap44.deallocate(ptr798); 4439 heap89.deallocate(ptr799); 4440 heap97.deallocate(ptr800); 4441 heap89.deallocate(ptr801); 4442 heap51.deallocate(ptr802); 4443 heap85.deallocate(ptr803); 4444 heap80.deallocate(ptr804); 4445 heap99.deallocate(ptr805); 4446 heap72.deallocate(ptr806); 4447 heap43.deallocate(ptr807); 4448 heap47.deallocate(ptr808); 4449 heap38.deallocate(ptr809); 4450 heap53.deallocate(ptr810); 4451 heap33.deallocate(ptr811); 4452 heap62.deallocate(ptr812); 4453 heap70.deallocate(ptr813); 4454 heap32.deallocate(ptr814); 4455 heap78.deallocate(ptr815); 4456 heap07.deallocate(ptr816); 4457 heap18.deallocate(ptr817); 4458 heap05.deallocate(ptr818); 4459 heap28.deallocate(ptr819); 4460 heap74.deallocate(ptr820); 4461 heap19.deallocate(ptr821); 4462 heap22.deallocate(ptr822); 4463 heap31.deallocate(ptr823); 4464 heap74.deallocate(ptr824); 4465 heap36.deallocate(ptr825); 4466 heap61.deallocate(ptr826); 4467 heap13.deallocate(ptr827); 4468 heap56.deallocate(ptr828); 4469 heap79.deallocate(ptr829); 4470 heap49.deallocate(ptr830); 4471 heap80.deallocate(ptr831); 4472 heap12.deallocate(ptr832); 4473 heap94.deallocate(ptr833); 4474 heap28.deallocate(ptr834); 4475 heap99.deallocate(ptr835); 4476 heap99.deallocate(ptr836); 4477 heap52.deallocate(ptr837); 4478 heap73.deallocate(ptr838); 4479 heap29.deallocate(ptr839); 4480 heap33.deallocate(ptr840); 4481 heap25.deallocate(ptr841); 4482 heap62.deallocate(ptr842); 4483 heap27.deallocate(ptr843); 4484 heap98.deallocate(ptr844); 4485 heap72.deallocate(ptr845); 4486 heap57.deallocate(ptr846); 4487 heap78.deallocate(ptr847); 4488 heap85.deallocate(ptr848); 4489 heap07.deallocate(ptr849); 4490 heap42.deallocate(ptr850); 4491 heap78.deallocate(ptr851); 4492 heap68.deallocate(ptr852); 4493 heap19.deallocate(ptr853); 4494 heap06.deallocate(ptr854); 4495 heap07.deallocate(ptr855); 4496 heap81.deallocate(ptr856); 4497 heap66.deallocate(ptr857); 4498 heap67.deallocate(ptr858); 4499 heap44.deallocate(ptr859); 4500 heap85.deallocate(ptr860); 4501 heap64.deallocate(ptr861); 4502 heap26.deallocate(ptr862); 4503 heap57.deallocate(ptr863); 4504 heap88.deallocate(ptr864); 4505 heap49.deallocate(ptr865); 4506 heap47.deallocate(ptr866); 4507 heap58.deallocate(ptr867); 4508 heap04.deallocate(ptr868); 4509 heap22.deallocate(ptr869); 4510 heap03.deallocate(ptr870); 4511 heap46.deallocate(ptr871); 4512 heap52.deallocate(ptr872); 4513 heap97.deallocate(ptr873); 4514 heap98.deallocate(ptr874); 4515 heap27.deallocate(ptr875); 4516 heap22.deallocate(ptr876); 4517 heap31.deallocate(ptr877); 4518 heap54.deallocate(ptr878); 4519 heap85.deallocate(ptr879); 4520 heap92.deallocate(ptr880); 4521 heap48.deallocate(ptr881); 4522 heap90.deallocate(ptr882); 4523 heap96.deallocate(ptr883); 4524 heap39.deallocate(ptr884); 4525 heap34.deallocate(ptr885); 4526 heap28.deallocate(ptr886); 4527 heap57.deallocate(ptr887); 4528 heap61.deallocate(ptr888); 4529 heap40.deallocate(ptr889); 4530 heap78.deallocate(ptr890); 4531 heap70.deallocate(ptr891); 4532 heap29.deallocate(ptr892); 4533 heap89.deallocate(ptr893); 4534 heap85.deallocate(ptr894); 4535 heap87.deallocate(ptr895); 4536 heap21.deallocate(ptr896); 4537 heap89.deallocate(ptr897); 4538 heap51.deallocate(ptr898); 4539 heap46.deallocate(ptr899); 4540 heap18.deallocate(ptr900); 4541 heap86.deallocate(ptr901); 4542 heap44.deallocate(ptr902); 4543 heap66.deallocate(ptr903); 4544 heap41.deallocate(ptr904); 4545 heap45.deallocate(ptr905); 4546 heap70.deallocate(ptr906); 4547 heap80.deallocate(ptr907); 4548 heap68.deallocate(ptr908); 4549 heap63.deallocate(ptr909); 4550 heap81.deallocate(ptr910); 4551 heap74.deallocate(ptr911); 4552 heap74.deallocate(ptr912); 4553 heap53.deallocate(ptr913); 4554 heap33.deallocate(ptr914); 4555 heap66.deallocate(ptr915); 4556 heap16.deallocate(ptr916); 4557 heap19.deallocate(ptr917); 4558 heap66.deallocate(ptr918); 4559 heap57.deallocate(ptr919); 4560 heap37.deallocate(ptr920); 4561 heap56.deallocate(ptr921); 4562 heap73.deallocate(ptr922); 4563 heap76.deallocate(ptr923); 4564 heap21.deallocate(ptr924); 4565 heap39.deallocate(ptr925); 4566 heap82.deallocate(ptr926); 4567 heap79.deallocate(ptr927); 4568 heap98.deallocate(ptr928); 4569 heap21.deallocate(ptr929); 4570 heap04.deallocate(ptr930); 4571 heap63.deallocate(ptr931); 4572 heap93.deallocate(ptr932); 4573 heap42.deallocate(ptr933); 4574 heap85.deallocate(ptr934); 4575 heap32.deallocate(ptr935); 4576 heap36.deallocate(ptr936); 4577 heap25.deallocate(ptr937); 4578 heap39.deallocate(ptr938); 4579 heap45.deallocate(ptr939); 4580 heap01.deallocate(ptr940); 4581 heap17.deallocate(ptr941); 4582 heap98.deallocate(ptr942); 4583 heap12.deallocate(ptr943); 4584 heap81.deallocate(ptr944); 4585 heap68.deallocate(ptr945); 4586 heap50.deallocate(ptr946); 4587 heap10.deallocate(ptr947); 4588 heap08.deallocate(ptr948); 4589 heap19.deallocate(ptr949); 4590 heap95.deallocate(ptr950); 4591 heap30.deallocate(ptr951); 4592 heap01.deallocate(ptr952); 4593 heap56.deallocate(ptr953); 4594 heap87.deallocate(ptr954); 4595 heap89.deallocate(ptr955); 4596 heap65.deallocate(ptr956); 4597 heap29.deallocate(ptr957); 4598 heap63.deallocate(ptr958); 4599 heap75.deallocate(ptr959); 4600 heap93.deallocate(ptr960); 4601 heap67.deallocate(ptr961); 4602 heap14.deallocate(ptr962); 4603 heap46.deallocate(ptr963); 4604 heap01.deallocate(ptr964); 4605 heap64.deallocate(ptr965); 4606 heap92.deallocate(ptr966); 4607 heap57.deallocate(ptr967); 4608 heap29.deallocate(ptr968); 4609 heap37.deallocate(ptr969); 4610 heap97.deallocate(ptr970); 4611 heap15.deallocate(ptr971); 4612 heap07.deallocate(ptr972); 4613 heap26.deallocate(ptr973); 4614 heap75.deallocate(ptr974); 4615 heap07.deallocate(ptr975); 4616 heap02.deallocate(ptr976); 4617 heap10.deallocate(ptr977); 4618 heap88.deallocate(ptr978); 4619 heap39.deallocate(ptr979); 4620 heap36.deallocate(ptr980); 4621 heap19.deallocate(ptr981); 4622 heap61.deallocate(ptr982); 4623 heap59.deallocate(ptr983); 4624 heap88.deallocate(ptr984); 4625 heap24.deallocate(ptr985); 4626 heap62.deallocate(ptr986); 4627 heap81.deallocate(ptr987); 4628 heap61.deallocate(ptr988); 4629 heap95.deallocate(ptr989); 4630 heap38.deallocate(ptr990); 4631 heap07.deallocate(ptr991); 4632 heap94.deallocate(ptr992); 4633 heap96.deallocate(ptr993); 4634 heap91.deallocate(ptr994); 4635 heap67.deallocate(ptr995); 4636 heap20.deallocate(ptr996); 4637 heap38.deallocate(ptr997); 4638 heap78.deallocate(ptr998); 4639 heap48.deallocate(ptr999); 4640 heap03.deallocate(ptr1000); 4641 })); 4642 } 4643 4644 for (unsigned i = 0; i < 1e5; ++i) { 4645 size_t value = 0; 4646 bmalloc::AllIsoHeaps::get()->forEach([&] (IsoHeapImplBase& impl) { 4647 value += impl.freeableMemory(); 4648 }); 4649 } 4650 4651 for (auto& thread : threads) 4652 thread->waitForCompletion(); 4653 } 4654 2530 4655 #endif
Note: See TracChangeset
for help on using the changeset viewer.