WebKit Bugzilla
Attachment 372514 Details for
Bug 199053
: [bmalloc] IsoHeap's initialization is racy with IsoHeap::isInitialized
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-199053-20190619191257.patch (text/plain), 104.88 KB, created by
Yusuke Suzuki
on 2019-06-19 19:12:58 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Yusuke Suzuki
Created:
2019-06-19 19:12:58 PDT
Size:
104.88 KB
patch
obsolete
>Subversion Revision: 246597 >diff --git a/Source/WTF/ChangeLog b/Source/WTF/ChangeLog >index b250e0e6978a5e05af274de6e7eb6d1d307c6015..ad8acd849f6f8051fe11207e818a40bb3e9c72c3 100644 >--- a/Source/WTF/ChangeLog >+++ b/Source/WTF/ChangeLog >@@ -1,3 +1,17 @@ >+2019-06-19 Yusuke Suzuki <ysuzuki@apple.com> >+ >+ [bmalloc] IsoHeap's initialization is racy with IsoHeap::isInitialized >+ https://bugs.webkit.org/show_bug.cgi?id=199053 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Add constexpr static functions to generate pseudo random numbers from __LINE__. >+ >+ * wtf/WeakRandom.h: >+ (WTF::WeakRandom::nextState): >+ (WTF::WeakRandom::generate): >+ (WTF::WeakRandom::advance): >+ > 2019-06-19 Adrian Perez de Castro <aperez@igalia.com> > > [WPE][GTK] Fix build with unified sources disabled >diff --git a/Source/bmalloc/ChangeLog b/Source/bmalloc/ChangeLog >index 83bb43faab495749a01fb8e37bb730f97bcd4bc2..420af0f706d2d1a7bfa2d1219c3bc018dabb6131 100644 >--- a/Source/bmalloc/ChangeLog >+++ b/Source/bmalloc/ChangeLog >@@ -1,3 +1,61 @@ >+2019-06-19 Yusuke Suzuki <ysuzuki@apple.com> >+ >+ [bmalloc] IsoHeap's initialization is racy with IsoHeap::isInitialized >+ https://bugs.webkit.org/show_bug.cgi?id=199053 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ IsoHeap's initialization code is racy. Let's see the `isInitialized` and the initialization code. >+ >+ isInitialized: >+ >+ template<typename Type> >+ bool IsoHeap<Type>::isInitialized() >+ { >+ std::atomic<unsigned>* atomic = >+ reinterpret_cast<std::atomic<unsigned>*>(&m_allocatorOffsetPlusOne); >+ return !!atomic->load(std::memory_order_acquire); >+ } >+ >+ initialization: >+ >+ if (!handle.isInitialized()) { >+ std::lock_guard<Mutex> locker(handle.m_initializationLock); >+ if (!handle.isInitialized()) { >+ auto* heap = new IsoHeapImpl<typename api::IsoHeap<Type>::Config>(); >+ std::atomic_thread_fence(std::memory_order_seq_cst); >+ handle.setAllocatorOffset(heap->allocatorOffset()); // <================= (1) >+ handle.setDeallocatorOffset(heap->deallocatorOffset()); // (2) >+ handle.m_impl = heap; >+ } >+ if (!handle.isInitialized()) >+ handle.initialize(); >+ } >+ >+ IsoHeap::isInitialized is loading m_allocatorOffsetPlusOne with acquire fence. On the other hand, the initialization >+ code configures m_allocatorOffsetPlusOne (1) before configuring m_deallocatorOffsetPlusOne (2). Let's consider the following >+ case. >+ >+ 1. Thread A is at (1) >+ 2. Thread B calls handle.isInitialized(). Then B think that handle is already initialized while it lacks m_deallocatorOffsetPlusOne and m_impl pointer. >+ 3. Thread B uses this handle, and does `std::max(handle.allocatorOffset(), handle.deallocatorOffset())`. But m_deallocatorOffsetPlusOne is not configured >+ yet. As a result, deallocatorOffset() returns 0xffffffff (b/c it calculates m_deallocatorOffsetPlusOne - 1, and m_deallocatorOffsetPlusOne is first >+ zero-initialized before IsoHeap initialization happens). >+ 4. std::max returns 0xffffffff as an offset. Of course, this is wrong, and leading to the release assertion. >+ >+ This patch fixes the above issue by, >+ >+ 1. Add IsoHeap::initialize() function instead of initializing it in IsoTLS >+ 2. Change `isInitialized()` function to load m_impl pointer instead of m_allocatorOffsetPlusOne with acquire fence. >+ 3. In initialize() function, we store m_heap with release fence at last. >+ >+ * bmalloc/IsoHeap.h: >+ * bmalloc/IsoHeapInlines.h: >+ (bmalloc::api::IsoHeap<Type>::isInitialized): >+ (bmalloc::api::IsoHeap<Type>::initialize): >+ * bmalloc/IsoTLSInlines.h: >+ (bmalloc::IsoTLS::ensureHeap): >+ > 2019-06-14 Keith Miller <keith_miller@apple.com> > > Restore PAC based cage. >diff --git a/Source/WTF/wtf/WeakRandom.h b/Source/WTF/wtf/WeakRandom.h >index 7548bcdbea27f198a4ed07eee4ee4c2b6125cb80..4757c9543ab49d853687f7aff0cbb0a9e0280c2c 100644 >--- a/Source/WTF/wtf/WeakRandom.h >+++ b/Source/WTF/wtf/WeakRandom.h >@@ -87,17 +87,32 @@ class WeakRandom { > static unsigned lowOffset() { return OBJECT_OFFSETOF(WeakRandom, m_low); } > static unsigned highOffset() { return OBJECT_OFFSETOF(WeakRandom, m_high); } > >+ static constexpr uint64_t nextState(uint64_t x, uint64_t y) >+ { >+ x ^= x << 23; >+ x ^= x >> 17; >+ x ^= y ^ (y >> 26); >+ return x; >+ } >+ >+ static constexpr uint64_t generate(unsigned seed) >+ { >+ if (!seed) >+ seed = 1; >+ uint64_t low = seed; >+ uint64_t high = seed; >+ high = nextState(low, high); >+ return low + high; >+ } >+ > private: > uint64_t advance() > { > uint64_t x = m_low; > uint64_t y = m_high; > m_low = y; >- x ^= x << 23; >- x ^= x >> 17; >- x ^= y ^ (y >> 26); >- m_high = x; >- return x + y; >+ m_high = nextState(x, y); >+ return m_high + m_low; > } > > unsigned m_seed; >diff --git a/Source/bmalloc/bmalloc/IsoHeap.h b/Source/bmalloc/bmalloc/IsoHeap.h >index 35643e194ac2de4592f19580d400fc57999e9d9f..eeca739d2b394e860351ba1b464de5478b9bb167 100644 >--- a/Source/bmalloc/bmalloc/IsoHeap.h >+++ b/Source/bmalloc/bmalloc/IsoHeap.h >@@ -43,6 +43,8 @@ namespace api { > template<typename Type> > struct IsoHeap { > typedef IsoConfig<sizeof(Type)> Config; >+ >+ constexpr IsoHeap() = default; > > void* allocate(); > void* tryAllocate(); >@@ -50,6 +52,7 @@ struct IsoHeap { > > void scavenge(); > >+ void initialize(); > bool isInitialized(); > > unsigned allocatorOffset() { return m_allocatorOffsetPlusOne - 1; } >@@ -61,9 +64,9 @@ struct IsoHeap { > IsoHeapImpl<Config>& impl(); > > Mutex m_initializationLock; >- unsigned m_allocatorOffsetPlusOne; >- unsigned m_deallocatorOffsetPlusOne; >- IsoHeapImpl<Config>* m_impl; >+ unsigned m_allocatorOffsetPlusOne { 0 }; >+ unsigned m_deallocatorOffsetPlusOne { 0 }; >+ IsoHeapImpl<Config>* m_impl { nullptr }; > }; > > // Use this together with MAKE_BISO_MALLOCED_IMPL. >diff --git a/Source/bmalloc/bmalloc/IsoHeapInlines.h b/Source/bmalloc/bmalloc/IsoHeapInlines.h >index b0e8b988ef369af8ccf297bb5b8eda544f98ff75..4845a50c03968cf373624fc60fa670c381e3c6b8 100644 >--- a/Source/bmalloc/bmalloc/IsoHeapInlines.h >+++ b/Source/bmalloc/bmalloc/IsoHeapInlines.h >@@ -72,9 +72,18 @@ void IsoHeap<Type>::scavenge() > template<typename Type> > bool IsoHeap<Type>::isInitialized() > { >- std::atomic<unsigned>* atomic = >- reinterpret_cast<std::atomic<unsigned>*>(&m_allocatorOffsetPlusOne); >- return !!atomic->load(std::memory_order_acquire); >+ auto* atomic = reinterpret_cast<std::atomic<IsoHeapImpl<Config>*>*>(&m_impl); >+ return atomic->load(std::memory_order_acquire); >+} >+ >+template<typename Type> >+void IsoHeap<Type>::initialize() >+{ >+ auto* heap = new IsoHeapImpl<Config>(); >+ setAllocatorOffset(heap->allocatorOffset()); >+ setDeallocatorOffset(heap->deallocatorOffset()); >+ auto* atomic = reinterpret_cast<std::atomic<IsoHeapImpl<Config>*>*>(&m_impl); >+ atomic->store(heap, std::memory_order_release); > } > > template<typename Type> >diff --git a/Source/bmalloc/bmalloc/IsoTLSInlines.h b/Source/bmalloc/bmalloc/IsoTLSInlines.h >index 1d14b7af686411d7856872b96c0fc25c8179c14f..f6c4100c5f0b290e16ec530a8a2190d502a829b4 100644 >--- a/Source/bmalloc/bmalloc/IsoTLSInlines.h >+++ b/Source/bmalloc/bmalloc/IsoTLSInlines.h >@@ -173,13 +173,8 @@ void IsoTLS::ensureHeap(api::IsoHeap<Type>& handle) > { > if (!handle.isInitialized()) { > std::lock_guard<Mutex> locker(handle.m_initializationLock); >- if (!handle.isInitialized()) { >- auto* heap = new IsoHeapImpl<typename api::IsoHeap<Type>::Config>(); >- std::atomic_thread_fence(std::memory_order_seq_cst); >- handle.setAllocatorOffset(heap->allocatorOffset()); >- handle.setDeallocatorOffset(heap->deallocatorOffset()); >- handle.m_impl = heap; >- } >+ if (!handle.isInitialized()) >+ handle.initialize(); > } > } > >diff --git a/Tools/ChangeLog b/Tools/ChangeLog >index f9cbd5d98cffc81fa880138bb6716cf0df4ef12d..257f555c83e6af3978532bee981aba5ad3c6f428 100644 >--- a/Tools/ChangeLog >+++ b/Tools/ChangeLog >@@ -1,3 +1,18 @@ >+2019-06-19 Yusuke Suzuki <ysuzuki@apple.com> >+ >+ [bmalloc] IsoHeap's initialization is racy with IsoHeap::isInitialized >+ https://bugs.webkit.org/show_bug.cgi?id=199053 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Added a test stressing IsoHeap with multiple threads. >+ >+ * TestWebKitAPI/Tests/WTF/bmalloc/IsoHeap.cpp: >+ (assertHasObjects): >+ (assertHasOnlyObjects): >+ (assertClean): >+ (TEST): >+ > 2019-06-19 Michael Catanzaro <mcatanzaro@igalia.com> > > Unreviewed, fix build warnings in TestWebKitAPIInjectedBundle >diff --git a/Tools/TestWebKitAPI/Tests/WTF/bmalloc/IsoHeap.cpp b/Tools/TestWebKitAPI/Tests/WTF/bmalloc/IsoHeap.cpp >index 8b2aca7aadc5b4b4c393b31fe4daa728337cbad2..49102330d63d9e5b86ce7f74b31226a547ea59a9 100644 >--- a/Tools/TestWebKitAPI/Tests/WTF/bmalloc/IsoHeap.cpp >+++ b/Tools/TestWebKitAPI/Tests/WTF/bmalloc/IsoHeap.cpp >@@ -30,6 +30,8 @@ > #include <bmalloc/bmalloc.h> > #include <bmalloc/Environment.h> > #include <bmalloc/IsoHeapInlines.h> >+#include <wtf/Threading.h> >+#include <wtf/WeakRandom.h> > > #include <cmath> > #include <cstdlib> >@@ -90,7 +92,7 @@ static void assertHasObjects(IsoHeap<heapType>& heap, std::set<void*> pointers) > return; > } > auto& impl = heap.impl(); >- std::lock_guard<Mutex> locker(impl.lock); >+ std::lock_guard<bmalloc::Mutex> locker(impl.lock); > impl.forEachLiveObject( > [&] (void* object) { > pointers.erase(object); >@@ -106,7 +108,7 @@ static void assertHasOnlyObjects(IsoHeap<heapType>& heap, std::set<void*> pointe > return; > } > auto& impl = heap.impl(); >- std::lock_guard<Mutex> locker(impl.lock); >+ std::lock_guard<bmalloc::Mutex> locker(impl.lock); > impl.forEachLiveObject( > [&] (void* object) { > CHECK(pointers.erase(object) == 1); >@@ -121,14 +123,14 @@ static void assertClean(IsoHeap<heapType>& heap) > if (!Environment::get()->isDebugHeapEnabled()) { > auto& impl = heap.impl(); > { >- std::lock_guard<Mutex> locker(impl.lock); >+ std::lock_guard<bmalloc::Mutex> locker(impl.lock); > CHECK(!impl.numLiveObjects()); > } > } > heap.scavenge(); > if (!Environment::get()->isDebugHeapEnabled()) { > auto& impl = heap.impl(); >- std::lock_guard<Mutex> locker(impl.lock); >+ std::lock_guard<bmalloc::Mutex> locker(impl.lock); > CHECK(!impl.numCommittedPages()); > } > } >@@ -202,14 +204,14 @@ TEST(bmalloc, IsoFlipFlopFragmentedPagesScavengeInMiddle) > unsigned numCommittedPagesBefore; > auto& impl = heap.impl(); > { >- std::lock_guard<Mutex> locker(impl.lock); >+ std::lock_guard<bmalloc::Mutex> locker(impl.lock); > numCommittedPagesBefore = impl.numCommittedPages(); > } > assertHasOnlyObjects(heap, toptrset(ptrs)); > for (unsigned i = ptrs.size() / 2; i--;) > ptrs.push_back(heap.allocate()); > { >- std::lock_guard<Mutex> locker(impl.lock); >+ std::lock_guard<bmalloc::Mutex> locker(impl.lock); > CHECK(numCommittedPagesBefore == impl.numCommittedPages()); > } > for (void* ptr : ptrs) >@@ -235,14 +237,14 @@ TEST(bmalloc, IsoFlipFlopFragmentedPagesScavengeInMiddle288) > unsigned numCommittedPagesBefore; > auto& impl = heap.impl(); > { >- std::lock_guard<Mutex> locker(impl.lock); >+ std::lock_guard<bmalloc::Mutex> locker(impl.lock); > numCommittedPagesBefore = impl.numCommittedPages(); > } > assertHasOnlyObjects(heap, toptrset(ptrs)); > for (unsigned i = ptrs.size() / 2; i--;) > ptrs.push_back(heap.allocate()); > { >- std::lock_guard<Mutex> locker(impl.lock); >+ std::lock_guard<bmalloc::Mutex> locker(impl.lock); > CHECK(numCommittedPagesBefore == impl.numCommittedPages()); > } > for (void* ptr : ptrs) >@@ -343,4 +345,2124 @@ TEST(bmalloc, ScavengedMemoryShouldBeReused) > run(2); > } > >+template<size_t N> >+using Sized = std::array<char, N ? N : 1>; >+ >+TEST(bmalloc, IsoHeapMultipleThreads) >+{ >+ static constexpr size_t limit = 2048; >+ >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap00; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap01; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap02; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap03; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap04; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap05; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap06; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap07; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap08; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap09; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap10; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap11; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap12; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap13; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap14; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap15; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap16; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap17; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap18; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap19; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap20; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap21; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap22; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap23; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap24; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap25; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap26; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap27; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap28; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap29; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap30; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap31; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap32; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap33; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap34; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap35; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap36; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap37; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap38; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap39; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap40; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap41; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap42; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap43; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap44; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap45; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap46; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap47; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap48; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap49; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap50; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap51; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap52; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap53; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap54; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap55; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap56; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap57; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap58; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap59; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap60; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap61; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap62; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap63; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap64; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap65; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap66; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap67; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap68; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap69; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap70; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap71; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap72; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap73; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap74; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap75; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap76; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap77; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap78; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap79; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap80; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap81; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap82; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap83; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap84; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap85; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap86; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap87; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap88; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap89; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap90; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap91; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap92; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap93; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap94; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap95; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap96; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap97; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap98; >+ static IsoHeap<Sized<WeakRandom::generate(__LINE__) % limit>> heap99; >+ >+ WTF::Vector<Ref<Thread>> threads; >+ for (unsigned i = 0; i < 10; ++i) { >+ threads.append(Thread::create("IsoHeapStress", [&] { >+ void* ptr0 = heap82.allocate(); >+ void* ptr1 = heap96.allocate(); >+ void* ptr2 = heap13.allocate(); >+ void* ptr3 = heap69.allocate(); >+ void* ptr4 = heap26.allocate(); >+ void* ptr5 = heap26.allocate(); >+ void* ptr6 = heap05.allocate(); >+ void* ptr7 = heap35.allocate(); >+ void* ptr8 = heap64.allocate(); >+ void* ptr9 = heap02.allocate(); >+ void* ptr10 = heap17.allocate(); >+ void* ptr11 = heap15.allocate(); >+ void* ptr12 = heap30.allocate(); >+ void* ptr13 = heap58.allocate(); >+ void* ptr14 = heap70.allocate(); >+ void* ptr15 = heap21.allocate(); >+ void* ptr16 = heap50.allocate(); >+ void* ptr17 = heap38.allocate(); >+ void* ptr18 = heap03.allocate(); >+ void* ptr19 = heap95.allocate(); >+ void* ptr20 = heap94.allocate(); >+ void* ptr21 = heap73.allocate(); >+ void* ptr22 = heap83.allocate(); >+ void* ptr23 = heap04.allocate(); >+ void* ptr24 = heap65.allocate(); >+ void* ptr25 = heap52.allocate(); >+ void* ptr26 = heap45.allocate(); >+ void* ptr27 = heap23.allocate(); >+ void* ptr28 = heap79.allocate(); >+ void* ptr29 = heap02.allocate(); >+ void* ptr30 = heap15.allocate(); >+ void* ptr31 = heap19.allocate(); >+ void* ptr32 = heap36.allocate(); >+ void* ptr33 = heap57.allocate(); >+ void* ptr34 = heap23.allocate(); >+ void* ptr35 = heap66.allocate(); >+ void* ptr36 = heap66.allocate(); >+ void* ptr37 = heap59.allocate(); >+ void* ptr38 = heap87.allocate(); >+ void* ptr39 = heap93.allocate(); >+ void* ptr40 = heap73.allocate(); >+ void* ptr41 = heap43.allocate(); >+ void* ptr42 = heap39.allocate(); >+ void* ptr43 = heap13.allocate(); >+ void* ptr44 = heap20.allocate(); >+ void* ptr45 = heap70.allocate(); >+ void* ptr46 = heap98.allocate(); >+ void* ptr47 = heap40.allocate(); >+ void* ptr48 = heap93.allocate(); >+ void* ptr49 = heap34.allocate(); >+ void* ptr50 = heap43.allocate(); >+ void* ptr51 = heap38.allocate(); >+ void* ptr52 = heap86.allocate(); >+ void* ptr53 = heap14.allocate(); >+ void* ptr54 = heap56.allocate(); >+ void* ptr55 = heap12.allocate(); >+ void* ptr56 = heap00.allocate(); >+ void* ptr57 = heap73.allocate(); >+ void* ptr58 = heap99.allocate(); >+ void* ptr59 = heap70.allocate(); >+ void* ptr60 = heap05.allocate(); >+ void* ptr61 = heap92.allocate(); >+ void* ptr62 = heap59.allocate(); >+ void* ptr63 = heap82.allocate(); >+ void* ptr64 = heap47.allocate(); >+ void* ptr65 = heap41.allocate(); >+ void* ptr66 = heap84.allocate(); >+ void* ptr67 = heap52.allocate(); >+ void* ptr68 = heap88.allocate(); >+ void* ptr69 = heap90.allocate(); >+ void* ptr70 = heap93.allocate(); >+ void* ptr71 = heap27.allocate(); >+ void* ptr72 = heap56.allocate(); >+ void* ptr73 = heap98.allocate(); >+ void* ptr74 = heap37.allocate(); >+ void* ptr75 = heap70.allocate(); >+ void* ptr76 = heap42.allocate(); >+ void* ptr77 = heap98.allocate(); >+ void* ptr78 = heap03.allocate(); >+ void* ptr79 = heap41.allocate(); >+ void* ptr80 = heap78.allocate(); >+ void* ptr81 = heap66.allocate(); >+ void* ptr82 = heap29.allocate(); >+ void* ptr83 = heap29.allocate(); >+ void* ptr84 = heap49.allocate(); >+ void* ptr85 = heap01.allocate(); >+ void* ptr86 = heap27.allocate(); >+ void* ptr87 = heap57.allocate(); >+ void* ptr88 = heap69.allocate(); >+ void* ptr89 = heap15.allocate(); >+ void* ptr90 = heap96.allocate(); >+ void* ptr91 = heap24.allocate(); >+ void* ptr92 = heap18.allocate(); >+ void* ptr93 = heap80.allocate(); >+ void* ptr94 = heap41.allocate(); >+ void* ptr95 = heap05.allocate(); >+ void* ptr96 = heap94.allocate(); >+ void* ptr97 = heap62.allocate(); >+ void* ptr98 = heap93.allocate(); >+ void* ptr99 = heap74.allocate(); >+ void* ptr100 = heap00.allocate(); >+ void* ptr101 = heap96.allocate(); >+ void* ptr102 = heap92.allocate(); >+ void* ptr103 = heap63.allocate(); >+ void* ptr104 = heap06.allocate(); >+ void* ptr105 = heap06.allocate(); >+ void* ptr106 = heap22.allocate(); >+ void* ptr107 = heap47.allocate(); >+ void* ptr108 = heap31.allocate(); >+ void* ptr109 = heap63.allocate(); >+ void* ptr110 = heap96.allocate(); >+ void* ptr111 = heap94.allocate(); >+ void* ptr112 = heap93.allocate(); >+ void* ptr113 = heap72.allocate(); >+ void* ptr114 = heap20.allocate(); >+ void* ptr115 = heap90.allocate(); >+ void* ptr116 = heap67.allocate(); >+ void* ptr117 = heap12.allocate(); >+ void* ptr118 = heap38.allocate(); >+ void* ptr119 = heap75.allocate(); >+ void* ptr120 = heap17.allocate(); >+ void* ptr121 = heap17.allocate(); >+ void* ptr122 = heap06.allocate(); >+ void* ptr123 = heap74.allocate(); >+ void* ptr124 = heap26.allocate(); >+ void* ptr125 = heap52.allocate(); >+ void* ptr126 = heap94.allocate(); >+ void* ptr127 = heap11.allocate(); >+ void* ptr128 = heap03.allocate(); >+ void* ptr129 = heap37.allocate(); >+ void* ptr130 = heap39.allocate(); >+ void* ptr131 = heap55.allocate(); >+ void* ptr132 = heap84.allocate(); >+ void* ptr133 = heap65.allocate(); >+ void* ptr134 = heap95.allocate(); >+ void* ptr135 = heap03.allocate(); >+ void* ptr136 = heap74.allocate(); >+ void* ptr137 = heap93.allocate(); >+ void* ptr138 = heap32.allocate(); >+ void* ptr139 = heap93.allocate(); >+ void* ptr140 = heap51.allocate(); >+ void* ptr141 = heap08.allocate(); >+ void* ptr142 = heap43.allocate(); >+ void* ptr143 = heap81.allocate(); >+ void* ptr144 = heap03.allocate(); >+ void* ptr145 = heap53.allocate(); >+ void* ptr146 = heap57.allocate(); >+ void* ptr147 = heap04.allocate(); >+ void* ptr148 = heap36.allocate(); >+ void* ptr149 = heap87.allocate(); >+ void* ptr150 = heap68.allocate(); >+ void* ptr151 = heap58.allocate(); >+ void* ptr152 = heap00.allocate(); >+ void* ptr153 = heap03.allocate(); >+ void* ptr154 = heap56.allocate(); >+ void* ptr155 = heap97.allocate(); >+ void* ptr156 = heap22.allocate(); >+ void* ptr157 = heap24.allocate(); >+ void* ptr158 = heap33.allocate(); >+ void* ptr159 = heap06.allocate(); >+ void* ptr160 = heap61.allocate(); >+ void* ptr161 = heap72.allocate(); >+ void* ptr162 = heap16.allocate(); >+ void* ptr163 = heap96.allocate(); >+ void* ptr164 = heap24.allocate(); >+ void* ptr165 = heap42.allocate(); >+ void* ptr166 = heap74.allocate(); >+ void* ptr167 = heap76.allocate(); >+ void* ptr168 = heap13.allocate(); >+ void* ptr169 = heap21.allocate(); >+ void* ptr170 = heap02.allocate(); >+ void* ptr171 = heap74.allocate(); >+ void* ptr172 = heap02.allocate(); >+ void* ptr173 = heap58.allocate(); >+ void* ptr174 = heap61.allocate(); >+ void* ptr175 = heap48.allocate(); >+ void* ptr176 = heap21.allocate(); >+ void* ptr177 = heap79.allocate(); >+ void* ptr178 = heap95.allocate(); >+ void* ptr179 = heap50.allocate(); >+ void* ptr180 = heap45.allocate(); >+ void* ptr181 = heap42.allocate(); >+ void* ptr182 = heap22.allocate(); >+ void* ptr183 = heap67.allocate(); >+ void* ptr184 = heap94.allocate(); >+ void* ptr185 = heap72.allocate(); >+ void* ptr186 = heap08.allocate(); >+ void* ptr187 = heap90.allocate(); >+ void* ptr188 = heap39.allocate(); >+ void* ptr189 = heap64.allocate(); >+ void* ptr190 = heap67.allocate(); >+ void* ptr191 = heap77.allocate(); >+ void* ptr192 = heap36.allocate(); >+ void* ptr193 = heap37.allocate(); >+ void* ptr194 = heap83.allocate(); >+ void* ptr195 = heap10.allocate(); >+ void* ptr196 = heap76.allocate(); >+ void* ptr197 = heap40.allocate(); >+ void* ptr198 = heap73.allocate(); >+ void* ptr199 = heap30.allocate(); >+ void* ptr200 = heap83.allocate(); >+ void* ptr201 = heap45.allocate(); >+ void* ptr202 = heap95.allocate(); >+ void* ptr203 = heap81.allocate(); >+ void* ptr204 = heap67.allocate(); >+ void* ptr205 = heap81.allocate(); >+ void* ptr206 = heap43.allocate(); >+ void* ptr207 = heap67.allocate(); >+ void* ptr208 = heap32.allocate(); >+ void* ptr209 = heap53.allocate(); >+ void* ptr210 = heap10.allocate(); >+ void* ptr211 = heap37.allocate(); >+ void* ptr212 = heap85.allocate(); >+ void* ptr213 = heap91.allocate(); >+ void* ptr214 = heap49.allocate(); >+ void* ptr215 = heap24.allocate(); >+ void* ptr216 = heap52.allocate(); >+ void* ptr217 = heap57.allocate(); >+ void* ptr218 = heap81.allocate(); >+ void* ptr219 = heap27.allocate(); >+ void* ptr220 = heap75.allocate(); >+ void* ptr221 = heap87.allocate(); >+ void* ptr222 = heap00.allocate(); >+ void* ptr223 = heap60.allocate(); >+ void* ptr224 = heap43.allocate(); >+ void* ptr225 = heap62.allocate(); >+ void* ptr226 = heap73.allocate(); >+ void* ptr227 = heap73.allocate(); >+ void* ptr228 = heap87.allocate(); >+ void* ptr229 = heap82.allocate(); >+ void* ptr230 = heap52.allocate(); >+ void* ptr231 = heap08.allocate(); >+ void* ptr232 = heap30.allocate(); >+ void* ptr233 = heap91.allocate(); >+ void* ptr234 = heap25.allocate(); >+ void* ptr235 = heap28.allocate(); >+ void* ptr236 = heap53.allocate(); >+ void* ptr237 = heap52.allocate(); >+ void* ptr238 = heap00.allocate(); >+ void* ptr239 = heap62.allocate(); >+ void* ptr240 = heap91.allocate(); >+ void* ptr241 = heap30.allocate(); >+ void* ptr242 = heap93.allocate(); >+ void* ptr243 = heap37.allocate(); >+ void* ptr244 = heap79.allocate(); >+ void* ptr245 = heap74.allocate(); >+ void* ptr246 = heap47.allocate(); >+ void* ptr247 = heap32.allocate(); >+ void* ptr248 = heap39.allocate(); >+ void* ptr249 = heap17.allocate(); >+ void* ptr250 = heap74.allocate(); >+ void* ptr251 = heap19.allocate(); >+ void* ptr252 = heap39.allocate(); >+ void* ptr253 = heap14.allocate(); >+ void* ptr254 = heap63.allocate(); >+ void* ptr255 = heap44.allocate(); >+ void* ptr256 = heap68.allocate(); >+ void* ptr257 = heap48.allocate(); >+ void* ptr258 = heap51.allocate(); >+ void* ptr259 = heap12.allocate(); >+ void* ptr260 = heap00.allocate(); >+ void* ptr261 = heap53.allocate(); >+ void* ptr262 = heap82.allocate(); >+ void* ptr263 = heap67.allocate(); >+ void* ptr264 = heap81.allocate(); >+ void* ptr265 = heap98.allocate(); >+ void* ptr266 = heap07.allocate(); >+ void* ptr267 = heap97.allocate(); >+ void* ptr268 = heap30.allocate(); >+ void* ptr269 = heap90.allocate(); >+ void* ptr270 = heap57.allocate(); >+ void* ptr271 = heap22.allocate(); >+ void* ptr272 = heap96.allocate(); >+ void* ptr273 = heap41.allocate(); >+ void* ptr274 = heap16.allocate(); >+ void* ptr275 = heap96.allocate(); >+ void* ptr276 = heap91.allocate(); >+ void* ptr277 = heap07.allocate(); >+ void* ptr278 = heap13.allocate(); >+ void* ptr279 = heap26.allocate(); >+ void* ptr280 = heap48.allocate(); >+ void* ptr281 = heap33.allocate(); >+ void* ptr282 = heap07.allocate(); >+ void* ptr283 = heap96.allocate(); >+ void* ptr284 = heap91.allocate(); >+ void* ptr285 = heap01.allocate(); >+ void* ptr286 = heap18.allocate(); >+ void* ptr287 = heap95.allocate(); >+ void* ptr288 = heap16.allocate(); >+ void* ptr289 = heap73.allocate(); >+ void* ptr290 = heap75.allocate(); >+ void* ptr291 = heap93.allocate(); >+ void* ptr292 = heap67.allocate(); >+ void* ptr293 = heap04.allocate(); >+ void* ptr294 = heap29.allocate(); >+ void* ptr295 = heap25.allocate(); >+ void* ptr296 = heap03.allocate(); >+ void* ptr297 = heap66.allocate(); >+ void* ptr298 = heap26.allocate(); >+ void* ptr299 = heap50.allocate(); >+ void* ptr300 = heap92.allocate(); >+ void* ptr301 = heap55.allocate(); >+ void* ptr302 = heap84.allocate(); >+ void* ptr303 = heap25.allocate(); >+ void* ptr304 = heap07.allocate(); >+ void* ptr305 = heap13.allocate(); >+ void* ptr306 = heap05.allocate(); >+ void* ptr307 = heap71.allocate(); >+ void* ptr308 = heap72.allocate(); >+ void* ptr309 = heap78.allocate(); >+ void* ptr310 = heap60.allocate(); >+ void* ptr311 = heap58.allocate(); >+ void* ptr312 = heap34.allocate(); >+ void* ptr313 = heap04.allocate(); >+ void* ptr314 = heap07.allocate(); >+ void* ptr315 = heap39.allocate(); >+ void* ptr316 = heap40.allocate(); >+ void* ptr317 = heap66.allocate(); >+ void* ptr318 = heap70.allocate(); >+ void* ptr319 = heap76.allocate(); >+ void* ptr320 = heap28.allocate(); >+ void* ptr321 = heap66.allocate(); >+ void* ptr322 = heap20.allocate(); >+ void* ptr323 = heap34.allocate(); >+ void* ptr324 = heap90.allocate(); >+ void* ptr325 = heap35.allocate(); >+ void* ptr326 = heap33.allocate(); >+ void* ptr327 = heap74.allocate(); >+ void* ptr328 = heap55.allocate(); >+ void* ptr329 = heap86.allocate(); >+ void* ptr330 = heap85.allocate(); >+ void* ptr331 = heap76.allocate(); >+ void* ptr332 = heap40.allocate(); >+ void* ptr333 = heap14.allocate(); >+ void* ptr334 = heap93.allocate(); >+ void* ptr335 = heap10.allocate(); >+ void* ptr336 = heap41.allocate(); >+ void* ptr337 = heap78.allocate(); >+ void* ptr338 = heap97.allocate(); >+ void* ptr339 = heap31.allocate(); >+ void* ptr340 = heap85.allocate(); >+ void* ptr341 = heap35.allocate(); >+ void* ptr342 = heap58.allocate(); >+ void* ptr343 = heap05.allocate(); >+ void* ptr344 = heap71.allocate(); >+ void* ptr345 = heap61.allocate(); >+ void* ptr346 = heap49.allocate(); >+ void* ptr347 = heap67.allocate(); >+ void* ptr348 = heap04.allocate(); >+ void* ptr349 = heap51.allocate(); >+ void* ptr350 = heap35.allocate(); >+ void* ptr351 = heap19.allocate(); >+ void* ptr352 = heap25.allocate(); >+ void* ptr353 = heap08.allocate(); >+ void* ptr354 = heap56.allocate(); >+ void* ptr355 = heap20.allocate(); >+ void* ptr356 = heap58.allocate(); >+ void* ptr357 = heap19.allocate(); >+ void* ptr358 = heap47.allocate(); >+ void* ptr359 = heap70.allocate(); >+ void* ptr360 = heap74.allocate(); >+ void* ptr361 = heap02.allocate(); >+ void* ptr362 = heap37.allocate(); >+ void* ptr363 = heap07.allocate(); >+ void* ptr364 = heap31.allocate(); >+ void* ptr365 = heap85.allocate(); >+ void* ptr366 = heap95.allocate(); >+ void* ptr367 = heap69.allocate(); >+ void* ptr368 = heap46.allocate(); >+ void* ptr369 = heap09.allocate(); >+ void* ptr370 = heap13.allocate(); >+ void* ptr371 = heap18.allocate(); >+ void* ptr372 = heap77.allocate(); >+ void* ptr373 = heap81.allocate(); >+ void* ptr374 = heap60.allocate(); >+ void* ptr375 = heap89.allocate(); >+ void* ptr376 = heap48.allocate(); >+ void* ptr377 = heap79.allocate(); >+ void* ptr378 = heap77.allocate(); >+ void* ptr379 = heap67.allocate(); >+ void* ptr380 = heap64.allocate(); >+ void* ptr381 = heap67.allocate(); >+ void* ptr382 = heap77.allocate(); >+ void* ptr383 = heap23.allocate(); >+ void* ptr384 = heap44.allocate(); >+ void* ptr385 = heap86.allocate(); >+ void* ptr386 = heap12.allocate(); >+ void* ptr387 = heap28.allocate(); >+ void* ptr388 = heap83.allocate(); >+ void* ptr389 = heap10.allocate(); >+ void* ptr390 = heap67.allocate(); >+ void* ptr391 = heap48.allocate(); >+ void* ptr392 = heap79.allocate(); >+ void* ptr393 = heap99.allocate(); >+ void* ptr394 = heap41.allocate(); >+ void* ptr395 = heap71.allocate(); >+ void* ptr396 = heap46.allocate(); >+ void* ptr397 = heap31.allocate(); >+ void* ptr398 = heap63.allocate(); >+ void* ptr399 = heap65.allocate(); >+ void* ptr400 = heap78.allocate(); >+ void* ptr401 = heap22.allocate(); >+ void* ptr402 = heap06.allocate(); >+ void* ptr403 = heap11.allocate(); >+ void* ptr404 = heap11.allocate(); >+ void* ptr405 = heap24.allocate(); >+ void* ptr406 = heap42.allocate(); >+ void* ptr407 = heap31.allocate(); >+ void* ptr408 = heap86.allocate(); >+ void* ptr409 = heap30.allocate(); >+ void* ptr410 = heap67.allocate(); >+ void* ptr411 = heap30.allocate(); >+ void* ptr412 = heap45.allocate(); >+ void* ptr413 = heap17.allocate(); >+ void* ptr414 = heap09.allocate(); >+ void* ptr415 = heap56.allocate(); >+ void* ptr416 = heap28.allocate(); >+ void* ptr417 = heap84.allocate(); >+ void* ptr418 = heap75.allocate(); >+ void* ptr419 = heap31.allocate(); >+ void* ptr420 = heap23.allocate(); >+ void* ptr421 = heap54.allocate(); >+ void* ptr422 = heap26.allocate(); >+ void* ptr423 = heap62.allocate(); >+ void* ptr424 = heap06.allocate(); >+ void* ptr425 = heap67.allocate(); >+ void* ptr426 = heap67.allocate(); >+ void* ptr427 = heap78.allocate(); >+ void* ptr428 = heap87.allocate(); >+ void* ptr429 = heap51.allocate(); >+ void* ptr430 = heap09.allocate(); >+ void* ptr431 = heap77.allocate(); >+ void* ptr432 = heap86.allocate(); >+ void* ptr433 = heap64.allocate(); >+ void* ptr434 = heap96.allocate(); >+ void* ptr435 = heap16.allocate(); >+ void* ptr436 = heap11.allocate(); >+ void* ptr437 = heap38.allocate(); >+ void* ptr438 = heap01.allocate(); >+ void* ptr439 = heap56.allocate(); >+ void* ptr440 = heap51.allocate(); >+ void* ptr441 = heap99.allocate(); >+ void* ptr442 = heap47.allocate(); >+ void* ptr443 = heap57.allocate(); >+ void* ptr444 = heap29.allocate(); >+ void* ptr445 = heap59.allocate(); >+ void* ptr446 = heap83.allocate(); >+ void* ptr447 = heap40.allocate(); >+ void* ptr448 = heap19.allocate(); >+ void* ptr449 = heap17.allocate(); >+ void* ptr450 = heap21.allocate(); >+ void* ptr451 = heap22.allocate(); >+ void* ptr452 = heap04.allocate(); >+ void* ptr453 = heap45.allocate(); >+ void* ptr454 = heap73.allocate(); >+ void* ptr455 = heap96.allocate(); >+ void* ptr456 = heap23.allocate(); >+ void* ptr457 = heap16.allocate(); >+ void* ptr458 = heap92.allocate(); >+ void* ptr459 = heap02.allocate(); >+ void* ptr460 = heap11.allocate(); >+ void* ptr461 = heap67.allocate(); >+ void* ptr462 = heap69.allocate(); >+ void* ptr463 = heap21.allocate(); >+ void* ptr464 = heap20.allocate(); >+ void* ptr465 = heap32.allocate(); >+ void* ptr466 = heap39.allocate(); >+ void* ptr467 = heap39.allocate(); >+ void* ptr468 = heap66.allocate(); >+ void* ptr469 = heap42.allocate(); >+ void* ptr470 = heap49.allocate(); >+ void* ptr471 = heap33.allocate(); >+ void* ptr472 = heap30.allocate(); >+ void* ptr473 = heap88.allocate(); >+ void* ptr474 = heap73.allocate(); >+ void* ptr475 = heap00.allocate(); >+ void* ptr476 = heap14.allocate(); >+ void* ptr477 = heap42.allocate(); >+ void* ptr478 = heap07.allocate(); >+ void* ptr479 = heap63.allocate(); >+ void* ptr480 = heap28.allocate(); >+ void* ptr481 = heap62.allocate(); >+ void* ptr482 = heap69.allocate(); >+ void* ptr483 = heap06.allocate(); >+ void* ptr484 = heap74.allocate(); >+ void* ptr485 = heap15.allocate(); >+ void* ptr486 = heap41.allocate(); >+ void* ptr487 = heap56.allocate(); >+ void* ptr488 = heap13.allocate(); >+ void* ptr489 = heap95.allocate(); >+ void* ptr490 = heap73.allocate(); >+ void* ptr491 = heap88.allocate(); >+ void* ptr492 = heap65.allocate(); >+ void* ptr493 = heap68.allocate(); >+ void* ptr494 = heap87.allocate(); >+ void* ptr495 = heap66.allocate(); >+ void* ptr496 = heap91.allocate(); >+ void* ptr497 = heap23.allocate(); >+ void* ptr498 = heap32.allocate(); >+ void* ptr499 = heap05.allocate(); >+ void* ptr500 = heap57.allocate(); >+ void* ptr501 = heap49.allocate(); >+ void* ptr502 = heap99.allocate(); >+ void* ptr503 = heap77.allocate(); >+ void* ptr504 = heap05.allocate(); >+ void* ptr505 = heap45.allocate(); >+ void* ptr506 = heap50.allocate(); >+ void* ptr507 = heap77.allocate(); >+ void* ptr508 = heap00.allocate(); >+ void* ptr509 = heap81.allocate(); >+ void* ptr510 = heap37.allocate(); >+ void* ptr511 = heap39.allocate(); >+ void* ptr512 = heap76.allocate(); >+ void* ptr513 = heap31.allocate(); >+ void* ptr514 = heap04.allocate(); >+ void* ptr515 = heap74.allocate(); >+ void* ptr516 = heap79.allocate(); >+ void* ptr517 = heap65.allocate(); >+ void* ptr518 = heap99.allocate(); >+ void* ptr519 = heap47.allocate(); >+ void* ptr520 = heap28.allocate(); >+ void* ptr521 = heap31.allocate(); >+ void* ptr522 = heap70.allocate(); >+ void* ptr523 = heap22.allocate(); >+ void* ptr524 = heap68.allocate(); >+ void* ptr525 = heap92.allocate(); >+ void* ptr526 = heap83.allocate(); >+ void* ptr527 = heap05.allocate(); >+ void* ptr528 = heap65.allocate(); >+ void* ptr529 = heap39.allocate(); >+ void* ptr530 = heap32.allocate(); >+ void* ptr531 = heap07.allocate(); >+ void* ptr532 = heap94.allocate(); >+ void* ptr533 = heap90.allocate(); >+ void* ptr534 = heap68.allocate(); >+ void* ptr535 = heap21.allocate(); >+ void* ptr536 = heap37.allocate(); >+ void* ptr537 = heap03.allocate(); >+ void* ptr538 = heap65.allocate(); >+ void* ptr539 = heap00.allocate(); >+ void* ptr540 = heap05.allocate(); >+ void* ptr541 = heap54.allocate(); >+ void* ptr542 = heap07.allocate(); >+ void* ptr543 = heap38.allocate(); >+ void* ptr544 = heap80.allocate(); >+ void* ptr545 = heap04.allocate(); >+ void* ptr546 = heap90.allocate(); >+ void* ptr547 = heap08.allocate(); >+ void* ptr548 = heap90.allocate(); >+ void* ptr549 = heap89.allocate(); >+ void* ptr550 = heap32.allocate(); >+ void* ptr551 = heap75.allocate(); >+ void* ptr552 = heap70.allocate(); >+ void* ptr553 = heap62.allocate(); >+ void* ptr554 = heap01.allocate(); >+ void* ptr555 = heap20.allocate(); >+ void* ptr556 = heap37.allocate(); >+ void* ptr557 = heap30.allocate(); >+ void* ptr558 = heap47.allocate(); >+ void* ptr559 = heap99.allocate(); >+ void* ptr560 = heap23.allocate(); >+ void* ptr561 = heap74.allocate(); >+ void* ptr562 = heap68.allocate(); >+ void* ptr563 = heap90.allocate(); >+ void* ptr564 = heap51.allocate(); >+ void* ptr565 = heap12.allocate(); >+ void* ptr566 = heap86.allocate(); >+ void* ptr567 = heap39.allocate(); >+ void* ptr568 = heap11.allocate(); >+ void* ptr569 = heap42.allocate(); >+ void* ptr570 = heap75.allocate(); >+ void* ptr571 = heap95.allocate(); >+ void* ptr572 = heap91.allocate(); >+ void* ptr573 = heap82.allocate(); >+ void* ptr574 = heap61.allocate(); >+ void* ptr575 = heap95.allocate(); >+ void* ptr576 = heap25.allocate(); >+ void* ptr577 = heap25.allocate(); >+ void* ptr578 = heap25.allocate(); >+ void* ptr579 = heap89.allocate(); >+ void* ptr580 = heap41.allocate(); >+ void* ptr581 = heap92.allocate(); >+ void* ptr582 = heap20.allocate(); >+ void* ptr583 = heap66.allocate(); >+ void* ptr584 = heap25.allocate(); >+ void* ptr585 = heap37.allocate(); >+ void* ptr586 = heap09.allocate(); >+ void* ptr587 = heap53.allocate(); >+ void* ptr588 = heap84.allocate(); >+ void* ptr589 = heap18.allocate(); >+ void* ptr590 = heap77.allocate(); >+ void* ptr591 = heap17.allocate(); >+ void* ptr592 = heap11.allocate(); >+ void* ptr593 = heap73.allocate(); >+ void* ptr594 = heap16.allocate(); >+ void* ptr595 = heap98.allocate(); >+ void* ptr596 = heap92.allocate(); >+ void* ptr597 = heap99.allocate(); >+ void* ptr598 = heap74.allocate(); >+ void* ptr599 = heap16.allocate(); >+ void* ptr600 = heap29.allocate(); >+ void* ptr601 = heap26.allocate(); >+ void* ptr602 = heap21.allocate(); >+ void* ptr603 = heap22.allocate(); >+ void* ptr604 = heap83.allocate(); >+ void* ptr605 = heap83.allocate(); >+ void* ptr606 = heap78.allocate(); >+ void* ptr607 = heap96.allocate(); >+ void* ptr608 = heap52.allocate(); >+ void* ptr609 = heap33.allocate(); >+ void* ptr610 = heap31.allocate(); >+ void* ptr611 = heap04.allocate(); >+ void* ptr612 = heap29.allocate(); >+ void* ptr613 = heap32.allocate(); >+ void* ptr614 = heap20.allocate(); >+ void* ptr615 = heap61.allocate(); >+ void* ptr616 = heap85.allocate(); >+ void* ptr617 = heap50.allocate(); >+ void* ptr618 = heap19.allocate(); >+ void* ptr619 = heap65.allocate(); >+ void* ptr620 = heap89.allocate(); >+ void* ptr621 = heap94.allocate(); >+ void* ptr622 = heap40.allocate(); >+ void* ptr623 = heap47.allocate(); >+ void* ptr624 = heap57.allocate(); >+ void* ptr625 = heap56.allocate(); >+ void* ptr626 = heap81.allocate(); >+ void* ptr627 = heap64.allocate(); >+ void* ptr628 = heap40.allocate(); >+ void* ptr629 = heap92.allocate(); >+ void* ptr630 = heap41.allocate(); >+ void* ptr631 = heap54.allocate(); >+ void* ptr632 = heap26.allocate(); >+ void* ptr633 = heap37.allocate(); >+ void* ptr634 = heap67.allocate(); >+ void* ptr635 = heap71.allocate(); >+ void* ptr636 = heap32.allocate(); >+ void* ptr637 = heap75.allocate(); >+ void* ptr638 = heap00.allocate(); >+ void* ptr639 = heap96.allocate(); >+ void* ptr640 = heap02.allocate(); >+ void* ptr641 = heap70.allocate(); >+ void* ptr642 = heap13.allocate(); >+ void* ptr643 = heap88.allocate(); >+ void* ptr644 = heap43.allocate(); >+ void* ptr645 = heap16.allocate(); >+ void* ptr646 = heap34.allocate(); >+ void* ptr647 = heap47.allocate(); >+ void* ptr648 = heap97.allocate(); >+ void* ptr649 = heap16.allocate(); >+ void* ptr650 = heap35.allocate(); >+ void* ptr651 = heap19.allocate(); >+ void* ptr652 = heap41.allocate(); >+ void* ptr653 = heap64.allocate(); >+ void* ptr654 = heap33.allocate(); >+ void* ptr655 = heap90.allocate(); >+ void* ptr656 = heap44.allocate(); >+ void* ptr657 = heap50.allocate(); >+ void* ptr658 = heap92.allocate(); >+ void* ptr659 = heap00.allocate(); >+ void* ptr660 = heap76.allocate(); >+ void* ptr661 = heap25.allocate(); >+ void* ptr662 = heap81.allocate(); >+ void* ptr663 = heap60.allocate(); >+ void* ptr664 = heap38.allocate(); >+ void* ptr665 = heap67.allocate(); >+ void* ptr666 = heap93.allocate(); >+ void* ptr667 = heap18.allocate(); >+ void* ptr668 = heap72.allocate(); >+ void* ptr669 = heap19.allocate(); >+ void* ptr670 = heap20.allocate(); >+ void* ptr671 = heap34.allocate(); >+ void* ptr672 = heap86.allocate(); >+ void* ptr673 = heap13.allocate(); >+ void* ptr674 = heap21.allocate(); >+ void* ptr675 = heap33.allocate(); >+ void* ptr676 = heap92.allocate(); >+ void* ptr677 = heap49.allocate(); >+ void* ptr678 = heap96.allocate(); >+ void* ptr679 = heap51.allocate(); >+ void* ptr680 = heap33.allocate(); >+ void* ptr681 = heap98.allocate(); >+ void* ptr682 = heap83.allocate(); >+ void* ptr683 = heap64.allocate(); >+ void* ptr684 = heap96.allocate(); >+ void* ptr685 = heap58.allocate(); >+ void* ptr686 = heap95.allocate(); >+ void* ptr687 = heap00.allocate(); >+ void* ptr688 = heap88.allocate(); >+ void* ptr689 = heap66.allocate(); >+ void* ptr690 = heap49.allocate(); >+ void* ptr691 = heap19.allocate(); >+ void* ptr692 = heap39.allocate(); >+ void* ptr693 = heap13.allocate(); >+ void* ptr694 = heap34.allocate(); >+ void* ptr695 = heap15.allocate(); >+ void* ptr696 = heap67.allocate(); >+ void* ptr697 = heap80.allocate(); >+ void* ptr698 = heap59.allocate(); >+ void* ptr699 = heap62.allocate(); >+ void* ptr700 = heap81.allocate(); >+ void* ptr701 = heap27.allocate(); >+ void* ptr702 = heap64.allocate(); >+ void* ptr703 = heap30.allocate(); >+ void* ptr704 = heap89.allocate(); >+ void* ptr705 = heap61.allocate(); >+ void* ptr706 = heap07.allocate(); >+ void* ptr707 = heap34.allocate(); >+ void* ptr708 = heap02.allocate(); >+ void* ptr709 = heap37.allocate(); >+ void* ptr710 = heap12.allocate(); >+ void* ptr711 = heap14.allocate(); >+ void* ptr712 = heap75.allocate(); >+ void* ptr713 = heap65.allocate(); >+ void* ptr714 = heap68.allocate(); >+ void* ptr715 = heap31.allocate(); >+ void* ptr716 = heap06.allocate(); >+ void* ptr717 = heap12.allocate(); >+ void* ptr718 = heap26.allocate(); >+ void* ptr719 = heap07.allocate(); >+ void* ptr720 = heap52.allocate(); >+ void* ptr721 = heap33.allocate(); >+ void* ptr722 = heap56.allocate(); >+ void* ptr723 = heap18.allocate(); >+ void* ptr724 = heap54.allocate(); >+ void* ptr725 = heap74.allocate(); >+ void* ptr726 = heap13.allocate(); >+ void* ptr727 = heap58.allocate(); >+ void* ptr728 = heap74.allocate(); >+ void* ptr729 = heap24.allocate(); >+ void* ptr730 = heap20.allocate(); >+ void* ptr731 = heap01.allocate(); >+ void* ptr732 = heap88.allocate(); >+ void* ptr733 = heap01.allocate(); >+ void* ptr734 = heap02.allocate(); >+ void* ptr735 = heap01.allocate(); >+ void* ptr736 = heap91.allocate(); >+ void* ptr737 = heap63.allocate(); >+ void* ptr738 = heap43.allocate(); >+ void* ptr739 = heap70.allocate(); >+ void* ptr740 = heap53.allocate(); >+ void* ptr741 = heap68.allocate(); >+ void* ptr742 = heap49.allocate(); >+ void* ptr743 = heap27.allocate(); >+ void* ptr744 = heap40.allocate(); >+ void* ptr745 = heap43.allocate(); >+ void* ptr746 = heap46.allocate(); >+ void* ptr747 = heap98.allocate(); >+ void* ptr748 = heap65.allocate(); >+ void* ptr749 = heap77.allocate(); >+ void* ptr750 = heap23.allocate(); >+ void* ptr751 = heap43.allocate(); >+ void* ptr752 = heap45.allocate(); >+ void* ptr753 = heap30.allocate(); >+ void* ptr754 = heap69.allocate(); >+ void* ptr755 = heap81.allocate(); >+ void* ptr756 = heap32.allocate(); >+ void* ptr757 = heap34.allocate(); >+ void* ptr758 = heap53.allocate(); >+ void* ptr759 = heap00.allocate(); >+ void* ptr760 = heap82.allocate(); >+ void* ptr761 = heap72.allocate(); >+ void* ptr762 = heap47.allocate(); >+ void* ptr763 = heap23.allocate(); >+ void* ptr764 = heap83.allocate(); >+ void* ptr765 = heap56.allocate(); >+ void* ptr766 = heap76.allocate(); >+ void* ptr767 = heap97.allocate(); >+ void* ptr768 = heap66.allocate(); >+ void* ptr769 = heap84.allocate(); >+ void* ptr770 = heap02.allocate(); >+ void* ptr771 = heap71.allocate(); >+ void* ptr772 = heap07.allocate(); >+ void* ptr773 = heap78.allocate(); >+ void* ptr774 = heap93.allocate(); >+ void* ptr775 = heap08.allocate(); >+ void* ptr776 = heap83.allocate(); >+ void* ptr777 = heap84.allocate(); >+ void* ptr778 = heap39.allocate(); >+ void* ptr779 = heap29.allocate(); >+ void* ptr780 = heap29.allocate(); >+ void* ptr781 = heap37.allocate(); >+ void* ptr782 = heap15.allocate(); >+ void* ptr783 = heap56.allocate(); >+ void* ptr784 = heap93.allocate(); >+ void* ptr785 = heap02.allocate(); >+ void* ptr786 = heap70.allocate(); >+ void* ptr787 = heap35.allocate(); >+ void* ptr788 = heap30.allocate(); >+ void* ptr789 = heap84.allocate(); >+ void* ptr790 = heap46.allocate(); >+ void* ptr791 = heap23.allocate(); >+ void* ptr792 = heap17.allocate(); >+ void* ptr793 = heap97.allocate(); >+ void* ptr794 = heap56.allocate(); >+ void* ptr795 = heap07.allocate(); >+ void* ptr796 = heap97.allocate(); >+ void* ptr797 = heap58.allocate(); >+ void* ptr798 = heap44.allocate(); >+ void* ptr799 = heap89.allocate(); >+ void* ptr800 = heap97.allocate(); >+ void* ptr801 = heap89.allocate(); >+ void* ptr802 = heap51.allocate(); >+ void* ptr803 = heap85.allocate(); >+ void* ptr804 = heap80.allocate(); >+ void* ptr805 = heap99.allocate(); >+ void* ptr806 = heap72.allocate(); >+ void* ptr807 = heap43.allocate(); >+ void* ptr808 = heap47.allocate(); >+ void* ptr809 = heap38.allocate(); >+ void* ptr810 = heap53.allocate(); >+ void* ptr811 = heap33.allocate(); >+ void* ptr812 = heap62.allocate(); >+ void* ptr813 = heap70.allocate(); >+ void* ptr814 = heap32.allocate(); >+ void* ptr815 = heap78.allocate(); >+ void* ptr816 = heap07.allocate(); >+ void* ptr817 = heap18.allocate(); >+ void* ptr818 = heap05.allocate(); >+ void* ptr819 = heap28.allocate(); >+ void* ptr820 = heap74.allocate(); >+ void* ptr821 = heap19.allocate(); >+ void* ptr822 = heap22.allocate(); >+ void* ptr823 = heap31.allocate(); >+ void* ptr824 = heap74.allocate(); >+ void* ptr825 = heap36.allocate(); >+ void* ptr826 = heap61.allocate(); >+ void* ptr827 = heap13.allocate(); >+ void* ptr828 = heap56.allocate(); >+ void* ptr829 = heap79.allocate(); >+ void* ptr830 = heap49.allocate(); >+ void* ptr831 = heap80.allocate(); >+ void* ptr832 = heap12.allocate(); >+ void* ptr833 = heap94.allocate(); >+ void* ptr834 = heap28.allocate(); >+ void* ptr835 = heap99.allocate(); >+ void* ptr836 = heap99.allocate(); >+ void* ptr837 = heap52.allocate(); >+ void* ptr838 = heap73.allocate(); >+ void* ptr839 = heap29.allocate(); >+ void* ptr840 = heap33.allocate(); >+ void* ptr841 = heap25.allocate(); >+ void* ptr842 = heap62.allocate(); >+ void* ptr843 = heap27.allocate(); >+ void* ptr844 = heap98.allocate(); >+ void* ptr845 = heap72.allocate(); >+ void* ptr846 = heap57.allocate(); >+ void* ptr847 = heap78.allocate(); >+ void* ptr848 = heap85.allocate(); >+ void* ptr849 = heap07.allocate(); >+ void* ptr850 = heap42.allocate(); >+ void* ptr851 = heap78.allocate(); >+ void* ptr852 = heap68.allocate(); >+ void* ptr853 = heap19.allocate(); >+ void* ptr854 = heap06.allocate(); >+ void* ptr855 = heap07.allocate(); >+ void* ptr856 = heap81.allocate(); >+ void* ptr857 = heap66.allocate(); >+ void* ptr858 = heap67.allocate(); >+ void* ptr859 = heap44.allocate(); >+ void* ptr860 = heap85.allocate(); >+ void* ptr861 = heap64.allocate(); >+ void* ptr862 = heap26.allocate(); >+ void* ptr863 = heap57.allocate(); >+ void* ptr864 = heap88.allocate(); >+ void* ptr865 = heap49.allocate(); >+ void* ptr866 = heap47.allocate(); >+ void* ptr867 = heap58.allocate(); >+ void* ptr868 = heap04.allocate(); >+ void* ptr869 = heap22.allocate(); >+ void* ptr870 = heap03.allocate(); >+ void* ptr871 = heap46.allocate(); >+ void* ptr872 = heap52.allocate(); >+ void* ptr873 = heap97.allocate(); >+ void* ptr874 = heap98.allocate(); >+ void* ptr875 = heap27.allocate(); >+ void* ptr876 = heap22.allocate(); >+ void* ptr877 = heap31.allocate(); >+ void* ptr878 = heap54.allocate(); >+ void* ptr879 = heap85.allocate(); >+ void* ptr880 = heap92.allocate(); >+ void* ptr881 = heap48.allocate(); >+ void* ptr882 = heap90.allocate(); >+ void* ptr883 = heap96.allocate(); >+ void* ptr884 = heap39.allocate(); >+ void* ptr885 = heap34.allocate(); >+ void* ptr886 = heap28.allocate(); >+ void* ptr887 = heap57.allocate(); >+ void* ptr888 = heap61.allocate(); >+ void* ptr889 = heap40.allocate(); >+ void* ptr890 = heap78.allocate(); >+ void* ptr891 = heap70.allocate(); >+ void* ptr892 = heap29.allocate(); >+ void* ptr893 = heap89.allocate(); >+ void* ptr894 = heap85.allocate(); >+ void* ptr895 = heap87.allocate(); >+ void* ptr896 = heap21.allocate(); >+ void* ptr897 = heap89.allocate(); >+ void* ptr898 = heap51.allocate(); >+ void* ptr899 = heap46.allocate(); >+ void* ptr900 = heap18.allocate(); >+ void* ptr901 = heap86.allocate(); >+ void* ptr902 = heap44.allocate(); >+ void* ptr903 = heap66.allocate(); >+ void* ptr904 = heap41.allocate(); >+ void* ptr905 = heap45.allocate(); >+ void* ptr906 = heap70.allocate(); >+ void* ptr907 = heap80.allocate(); >+ void* ptr908 = heap68.allocate(); >+ void* ptr909 = heap63.allocate(); >+ void* ptr910 = heap81.allocate(); >+ void* ptr911 = heap74.allocate(); >+ void* ptr912 = heap74.allocate(); >+ void* ptr913 = heap53.allocate(); >+ void* ptr914 = heap33.allocate(); >+ void* ptr915 = heap66.allocate(); >+ void* ptr916 = heap16.allocate(); >+ void* ptr917 = heap19.allocate(); >+ void* ptr918 = heap66.allocate(); >+ void* ptr919 = heap57.allocate(); >+ void* ptr920 = heap37.allocate(); >+ void* ptr921 = heap56.allocate(); >+ void* ptr922 = heap73.allocate(); >+ void* ptr923 = heap76.allocate(); >+ void* ptr924 = heap21.allocate(); >+ void* ptr925 = heap39.allocate(); >+ void* ptr926 = heap82.allocate(); >+ void* ptr927 = heap79.allocate(); >+ void* ptr928 = heap98.allocate(); >+ void* ptr929 = heap21.allocate(); >+ void* ptr930 = heap04.allocate(); >+ void* ptr931 = heap63.allocate(); >+ void* ptr932 = heap93.allocate(); >+ void* ptr933 = heap42.allocate(); >+ void* ptr934 = heap85.allocate(); >+ void* ptr935 = heap32.allocate(); >+ void* ptr936 = heap36.allocate(); >+ void* ptr937 = heap25.allocate(); >+ void* ptr938 = heap39.allocate(); >+ void* ptr939 = heap45.allocate(); >+ void* ptr940 = heap01.allocate(); >+ void* ptr941 = heap17.allocate(); >+ void* ptr942 = heap98.allocate(); >+ void* ptr943 = heap12.allocate(); >+ void* ptr944 = heap81.allocate(); >+ void* ptr945 = heap68.allocate(); >+ void* ptr946 = heap50.allocate(); >+ void* ptr947 = heap10.allocate(); >+ void* ptr948 = heap08.allocate(); >+ void* ptr949 = heap19.allocate(); >+ void* ptr950 = heap95.allocate(); >+ void* ptr951 = heap30.allocate(); >+ void* ptr952 = heap01.allocate(); >+ void* ptr953 = heap56.allocate(); >+ void* ptr954 = heap87.allocate(); >+ void* ptr955 = heap89.allocate(); >+ void* ptr956 = heap65.allocate(); >+ void* ptr957 = heap29.allocate(); >+ void* ptr958 = heap63.allocate(); >+ void* ptr959 = heap75.allocate(); >+ void* ptr960 = heap93.allocate(); >+ void* ptr961 = heap67.allocate(); >+ void* ptr962 = heap14.allocate(); >+ void* ptr963 = heap46.allocate(); >+ void* ptr964 = heap01.allocate(); >+ void* ptr965 = heap64.allocate(); >+ void* ptr966 = heap92.allocate(); >+ void* ptr967 = heap57.allocate(); >+ void* ptr968 = heap29.allocate(); >+ void* ptr969 = heap37.allocate(); >+ void* ptr970 = heap97.allocate(); >+ void* ptr971 = heap15.allocate(); >+ void* ptr972 = heap07.allocate(); >+ void* ptr973 = heap26.allocate(); >+ void* ptr974 = heap75.allocate(); >+ void* ptr975 = heap07.allocate(); >+ void* ptr976 = heap02.allocate(); >+ void* ptr977 = heap10.allocate(); >+ void* ptr978 = heap88.allocate(); >+ void* ptr979 = heap39.allocate(); >+ void* ptr980 = heap36.allocate(); >+ void* ptr981 = heap19.allocate(); >+ void* ptr982 = heap61.allocate(); >+ void* ptr983 = heap59.allocate(); >+ void* ptr984 = heap88.allocate(); >+ void* ptr985 = heap24.allocate(); >+ void* ptr986 = heap62.allocate(); >+ void* ptr987 = heap81.allocate(); >+ void* ptr988 = heap61.allocate(); >+ void* ptr989 = heap95.allocate(); >+ void* ptr990 = heap38.allocate(); >+ void* ptr991 = heap07.allocate(); >+ void* ptr992 = heap94.allocate(); >+ void* ptr993 = heap96.allocate(); >+ void* ptr994 = heap91.allocate(); >+ void* ptr995 = heap67.allocate(); >+ void* ptr996 = heap20.allocate(); >+ void* ptr997 = heap38.allocate(); >+ void* ptr998 = heap78.allocate(); >+ void* ptr999 = heap48.allocate(); >+ void* ptr1000 = heap03.allocate(); >+ heap82.deallocate(ptr0); >+ heap96.deallocate(ptr1); >+ heap13.deallocate(ptr2); >+ heap69.deallocate(ptr3); >+ heap26.deallocate(ptr4); >+ heap26.deallocate(ptr5); >+ heap05.deallocate(ptr6); >+ heap35.deallocate(ptr7); >+ heap64.deallocate(ptr8); >+ heap02.deallocate(ptr9); >+ heap17.deallocate(ptr10); >+ heap15.deallocate(ptr11); >+ heap30.deallocate(ptr12); >+ heap58.deallocate(ptr13); >+ heap70.deallocate(ptr14); >+ heap21.deallocate(ptr15); >+ heap50.deallocate(ptr16); >+ heap38.deallocate(ptr17); >+ heap03.deallocate(ptr18); >+ heap95.deallocate(ptr19); >+ heap94.deallocate(ptr20); >+ heap73.deallocate(ptr21); >+ heap83.deallocate(ptr22); >+ heap04.deallocate(ptr23); >+ heap65.deallocate(ptr24); >+ heap52.deallocate(ptr25); >+ heap45.deallocate(ptr26); >+ heap23.deallocate(ptr27); >+ heap79.deallocate(ptr28); >+ heap02.deallocate(ptr29); >+ heap15.deallocate(ptr30); >+ heap19.deallocate(ptr31); >+ heap36.deallocate(ptr32); >+ heap57.deallocate(ptr33); >+ heap23.deallocate(ptr34); >+ heap66.deallocate(ptr35); >+ heap66.deallocate(ptr36); >+ heap59.deallocate(ptr37); >+ heap87.deallocate(ptr38); >+ heap93.deallocate(ptr39); >+ heap73.deallocate(ptr40); >+ heap43.deallocate(ptr41); >+ heap39.deallocate(ptr42); >+ heap13.deallocate(ptr43); >+ heap20.deallocate(ptr44); >+ heap70.deallocate(ptr45); >+ heap98.deallocate(ptr46); >+ heap40.deallocate(ptr47); >+ heap93.deallocate(ptr48); >+ heap34.deallocate(ptr49); >+ heap43.deallocate(ptr50); >+ heap38.deallocate(ptr51); >+ heap86.deallocate(ptr52); >+ heap14.deallocate(ptr53); >+ heap56.deallocate(ptr54); >+ heap12.deallocate(ptr55); >+ heap00.deallocate(ptr56); >+ heap73.deallocate(ptr57); >+ heap99.deallocate(ptr58); >+ heap70.deallocate(ptr59); >+ heap05.deallocate(ptr60); >+ heap92.deallocate(ptr61); >+ heap59.deallocate(ptr62); >+ heap82.deallocate(ptr63); >+ heap47.deallocate(ptr64); >+ heap41.deallocate(ptr65); >+ heap84.deallocate(ptr66); >+ heap52.deallocate(ptr67); >+ heap88.deallocate(ptr68); >+ heap90.deallocate(ptr69); >+ heap93.deallocate(ptr70); >+ heap27.deallocate(ptr71); >+ heap56.deallocate(ptr72); >+ heap98.deallocate(ptr73); >+ heap37.deallocate(ptr74); >+ heap70.deallocate(ptr75); >+ heap42.deallocate(ptr76); >+ heap98.deallocate(ptr77); >+ heap03.deallocate(ptr78); >+ heap41.deallocate(ptr79); >+ heap78.deallocate(ptr80); >+ heap66.deallocate(ptr81); >+ heap29.deallocate(ptr82); >+ heap29.deallocate(ptr83); >+ heap49.deallocate(ptr84); >+ heap01.deallocate(ptr85); >+ heap27.deallocate(ptr86); >+ heap57.deallocate(ptr87); >+ heap69.deallocate(ptr88); >+ heap15.deallocate(ptr89); >+ heap96.deallocate(ptr90); >+ heap24.deallocate(ptr91); >+ heap18.deallocate(ptr92); >+ heap80.deallocate(ptr93); >+ heap41.deallocate(ptr94); >+ heap05.deallocate(ptr95); >+ heap94.deallocate(ptr96); >+ heap62.deallocate(ptr97); >+ heap93.deallocate(ptr98); >+ heap74.deallocate(ptr99); >+ heap00.deallocate(ptr100); >+ heap96.deallocate(ptr101); >+ heap92.deallocate(ptr102); >+ heap63.deallocate(ptr103); >+ heap06.deallocate(ptr104); >+ heap06.deallocate(ptr105); >+ heap22.deallocate(ptr106); >+ heap47.deallocate(ptr107); >+ heap31.deallocate(ptr108); >+ heap63.deallocate(ptr109); >+ heap96.deallocate(ptr110); >+ heap94.deallocate(ptr111); >+ heap93.deallocate(ptr112); >+ heap72.deallocate(ptr113); >+ heap20.deallocate(ptr114); >+ heap90.deallocate(ptr115); >+ heap67.deallocate(ptr116); >+ heap12.deallocate(ptr117); >+ heap38.deallocate(ptr118); >+ heap75.deallocate(ptr119); >+ heap17.deallocate(ptr120); >+ heap17.deallocate(ptr121); >+ heap06.deallocate(ptr122); >+ heap74.deallocate(ptr123); >+ heap26.deallocate(ptr124); >+ heap52.deallocate(ptr125); >+ heap94.deallocate(ptr126); >+ heap11.deallocate(ptr127); >+ heap03.deallocate(ptr128); >+ heap37.deallocate(ptr129); >+ heap39.deallocate(ptr130); >+ heap55.deallocate(ptr131); >+ heap84.deallocate(ptr132); >+ heap65.deallocate(ptr133); >+ heap95.deallocate(ptr134); >+ heap03.deallocate(ptr135); >+ heap74.deallocate(ptr136); >+ heap93.deallocate(ptr137); >+ heap32.deallocate(ptr138); >+ heap93.deallocate(ptr139); >+ heap51.deallocate(ptr140); >+ heap08.deallocate(ptr141); >+ heap43.deallocate(ptr142); >+ heap81.deallocate(ptr143); >+ heap03.deallocate(ptr144); >+ heap53.deallocate(ptr145); >+ heap57.deallocate(ptr146); >+ heap04.deallocate(ptr147); >+ heap36.deallocate(ptr148); >+ heap87.deallocate(ptr149); >+ heap68.deallocate(ptr150); >+ heap58.deallocate(ptr151); >+ heap00.deallocate(ptr152); >+ heap03.deallocate(ptr153); >+ heap56.deallocate(ptr154); >+ heap97.deallocate(ptr155); >+ heap22.deallocate(ptr156); >+ heap24.deallocate(ptr157); >+ heap33.deallocate(ptr158); >+ heap06.deallocate(ptr159); >+ heap61.deallocate(ptr160); >+ heap72.deallocate(ptr161); >+ heap16.deallocate(ptr162); >+ heap96.deallocate(ptr163); >+ heap24.deallocate(ptr164); >+ heap42.deallocate(ptr165); >+ heap74.deallocate(ptr166); >+ heap76.deallocate(ptr167); >+ heap13.deallocate(ptr168); >+ heap21.deallocate(ptr169); >+ heap02.deallocate(ptr170); >+ heap74.deallocate(ptr171); >+ heap02.deallocate(ptr172); >+ heap58.deallocate(ptr173); >+ heap61.deallocate(ptr174); >+ heap48.deallocate(ptr175); >+ heap21.deallocate(ptr176); >+ heap79.deallocate(ptr177); >+ heap95.deallocate(ptr178); >+ heap50.deallocate(ptr179); >+ heap45.deallocate(ptr180); >+ heap42.deallocate(ptr181); >+ heap22.deallocate(ptr182); >+ heap67.deallocate(ptr183); >+ heap94.deallocate(ptr184); >+ heap72.deallocate(ptr185); >+ heap08.deallocate(ptr186); >+ heap90.deallocate(ptr187); >+ heap39.deallocate(ptr188); >+ heap64.deallocate(ptr189); >+ heap67.deallocate(ptr190); >+ heap77.deallocate(ptr191); >+ heap36.deallocate(ptr192); >+ heap37.deallocate(ptr193); >+ heap83.deallocate(ptr194); >+ heap10.deallocate(ptr195); >+ heap76.deallocate(ptr196); >+ heap40.deallocate(ptr197); >+ heap73.deallocate(ptr198); >+ heap30.deallocate(ptr199); >+ heap83.deallocate(ptr200); >+ heap45.deallocate(ptr201); >+ heap95.deallocate(ptr202); >+ heap81.deallocate(ptr203); >+ heap67.deallocate(ptr204); >+ heap81.deallocate(ptr205); >+ heap43.deallocate(ptr206); >+ heap67.deallocate(ptr207); >+ heap32.deallocate(ptr208); >+ heap53.deallocate(ptr209); >+ heap10.deallocate(ptr210); >+ heap37.deallocate(ptr211); >+ heap85.deallocate(ptr212); >+ heap91.deallocate(ptr213); >+ heap49.deallocate(ptr214); >+ heap24.deallocate(ptr215); >+ heap52.deallocate(ptr216); >+ heap57.deallocate(ptr217); >+ heap81.deallocate(ptr218); >+ heap27.deallocate(ptr219); >+ heap75.deallocate(ptr220); >+ heap87.deallocate(ptr221); >+ heap00.deallocate(ptr222); >+ heap60.deallocate(ptr223); >+ heap43.deallocate(ptr224); >+ heap62.deallocate(ptr225); >+ heap73.deallocate(ptr226); >+ heap73.deallocate(ptr227); >+ heap87.deallocate(ptr228); >+ heap82.deallocate(ptr229); >+ heap52.deallocate(ptr230); >+ heap08.deallocate(ptr231); >+ heap30.deallocate(ptr232); >+ heap91.deallocate(ptr233); >+ heap25.deallocate(ptr234); >+ heap28.deallocate(ptr235); >+ heap53.deallocate(ptr236); >+ heap52.deallocate(ptr237); >+ heap00.deallocate(ptr238); >+ heap62.deallocate(ptr239); >+ heap91.deallocate(ptr240); >+ heap30.deallocate(ptr241); >+ heap93.deallocate(ptr242); >+ heap37.deallocate(ptr243); >+ heap79.deallocate(ptr244); >+ heap74.deallocate(ptr245); >+ heap47.deallocate(ptr246); >+ heap32.deallocate(ptr247); >+ heap39.deallocate(ptr248); >+ heap17.deallocate(ptr249); >+ heap74.deallocate(ptr250); >+ heap19.deallocate(ptr251); >+ heap39.deallocate(ptr252); >+ heap14.deallocate(ptr253); >+ heap63.deallocate(ptr254); >+ heap44.deallocate(ptr255); >+ heap68.deallocate(ptr256); >+ heap48.deallocate(ptr257); >+ heap51.deallocate(ptr258); >+ heap12.deallocate(ptr259); >+ heap00.deallocate(ptr260); >+ heap53.deallocate(ptr261); >+ heap82.deallocate(ptr262); >+ heap67.deallocate(ptr263); >+ heap81.deallocate(ptr264); >+ heap98.deallocate(ptr265); >+ heap07.deallocate(ptr266); >+ heap97.deallocate(ptr267); >+ heap30.deallocate(ptr268); >+ heap90.deallocate(ptr269); >+ heap57.deallocate(ptr270); >+ heap22.deallocate(ptr271); >+ heap96.deallocate(ptr272); >+ heap41.deallocate(ptr273); >+ heap16.deallocate(ptr274); >+ heap96.deallocate(ptr275); >+ heap91.deallocate(ptr276); >+ heap07.deallocate(ptr277); >+ heap13.deallocate(ptr278); >+ heap26.deallocate(ptr279); >+ heap48.deallocate(ptr280); >+ heap33.deallocate(ptr281); >+ heap07.deallocate(ptr282); >+ heap96.deallocate(ptr283); >+ heap91.deallocate(ptr284); >+ heap01.deallocate(ptr285); >+ heap18.deallocate(ptr286); >+ heap95.deallocate(ptr287); >+ heap16.deallocate(ptr288); >+ heap73.deallocate(ptr289); >+ heap75.deallocate(ptr290); >+ heap93.deallocate(ptr291); >+ heap67.deallocate(ptr292); >+ heap04.deallocate(ptr293); >+ heap29.deallocate(ptr294); >+ heap25.deallocate(ptr295); >+ heap03.deallocate(ptr296); >+ heap66.deallocate(ptr297); >+ heap26.deallocate(ptr298); >+ heap50.deallocate(ptr299); >+ heap92.deallocate(ptr300); >+ heap55.deallocate(ptr301); >+ heap84.deallocate(ptr302); >+ heap25.deallocate(ptr303); >+ heap07.deallocate(ptr304); >+ heap13.deallocate(ptr305); >+ heap05.deallocate(ptr306); >+ heap71.deallocate(ptr307); >+ heap72.deallocate(ptr308); >+ heap78.deallocate(ptr309); >+ heap60.deallocate(ptr310); >+ heap58.deallocate(ptr311); >+ heap34.deallocate(ptr312); >+ heap04.deallocate(ptr313); >+ heap07.deallocate(ptr314); >+ heap39.deallocate(ptr315); >+ heap40.deallocate(ptr316); >+ heap66.deallocate(ptr317); >+ heap70.deallocate(ptr318); >+ heap76.deallocate(ptr319); >+ heap28.deallocate(ptr320); >+ heap66.deallocate(ptr321); >+ heap20.deallocate(ptr322); >+ heap34.deallocate(ptr323); >+ heap90.deallocate(ptr324); >+ heap35.deallocate(ptr325); >+ heap33.deallocate(ptr326); >+ heap74.deallocate(ptr327); >+ heap55.deallocate(ptr328); >+ heap86.deallocate(ptr329); >+ heap85.deallocate(ptr330); >+ heap76.deallocate(ptr331); >+ heap40.deallocate(ptr332); >+ heap14.deallocate(ptr333); >+ heap93.deallocate(ptr334); >+ heap10.deallocate(ptr335); >+ heap41.deallocate(ptr336); >+ heap78.deallocate(ptr337); >+ heap97.deallocate(ptr338); >+ heap31.deallocate(ptr339); >+ heap85.deallocate(ptr340); >+ heap35.deallocate(ptr341); >+ heap58.deallocate(ptr342); >+ heap05.deallocate(ptr343); >+ heap71.deallocate(ptr344); >+ heap61.deallocate(ptr345); >+ heap49.deallocate(ptr346); >+ heap67.deallocate(ptr347); >+ heap04.deallocate(ptr348); >+ heap51.deallocate(ptr349); >+ heap35.deallocate(ptr350); >+ heap19.deallocate(ptr351); >+ heap25.deallocate(ptr352); >+ heap08.deallocate(ptr353); >+ heap56.deallocate(ptr354); >+ heap20.deallocate(ptr355); >+ heap58.deallocate(ptr356); >+ heap19.deallocate(ptr357); >+ heap47.deallocate(ptr358); >+ heap70.deallocate(ptr359); >+ heap74.deallocate(ptr360); >+ heap02.deallocate(ptr361); >+ heap37.deallocate(ptr362); >+ heap07.deallocate(ptr363); >+ heap31.deallocate(ptr364); >+ heap85.deallocate(ptr365); >+ heap95.deallocate(ptr366); >+ heap69.deallocate(ptr367); >+ heap46.deallocate(ptr368); >+ heap09.deallocate(ptr369); >+ heap13.deallocate(ptr370); >+ heap18.deallocate(ptr371); >+ heap77.deallocate(ptr372); >+ heap81.deallocate(ptr373); >+ heap60.deallocate(ptr374); >+ heap89.deallocate(ptr375); >+ heap48.deallocate(ptr376); >+ heap79.deallocate(ptr377); >+ heap77.deallocate(ptr378); >+ heap67.deallocate(ptr379); >+ heap64.deallocate(ptr380); >+ heap67.deallocate(ptr381); >+ heap77.deallocate(ptr382); >+ heap23.deallocate(ptr383); >+ heap44.deallocate(ptr384); >+ heap86.deallocate(ptr385); >+ heap12.deallocate(ptr386); >+ heap28.deallocate(ptr387); >+ heap83.deallocate(ptr388); >+ heap10.deallocate(ptr389); >+ heap67.deallocate(ptr390); >+ heap48.deallocate(ptr391); >+ heap79.deallocate(ptr392); >+ heap99.deallocate(ptr393); >+ heap41.deallocate(ptr394); >+ heap71.deallocate(ptr395); >+ heap46.deallocate(ptr396); >+ heap31.deallocate(ptr397); >+ heap63.deallocate(ptr398); >+ heap65.deallocate(ptr399); >+ heap78.deallocate(ptr400); >+ heap22.deallocate(ptr401); >+ heap06.deallocate(ptr402); >+ heap11.deallocate(ptr403); >+ heap11.deallocate(ptr404); >+ heap24.deallocate(ptr405); >+ heap42.deallocate(ptr406); >+ heap31.deallocate(ptr407); >+ heap86.deallocate(ptr408); >+ heap30.deallocate(ptr409); >+ heap67.deallocate(ptr410); >+ heap30.deallocate(ptr411); >+ heap45.deallocate(ptr412); >+ heap17.deallocate(ptr413); >+ heap09.deallocate(ptr414); >+ heap56.deallocate(ptr415); >+ heap28.deallocate(ptr416); >+ heap84.deallocate(ptr417); >+ heap75.deallocate(ptr418); >+ heap31.deallocate(ptr419); >+ heap23.deallocate(ptr420); >+ heap54.deallocate(ptr421); >+ heap26.deallocate(ptr422); >+ heap62.deallocate(ptr423); >+ heap06.deallocate(ptr424); >+ heap67.deallocate(ptr425); >+ heap67.deallocate(ptr426); >+ heap78.deallocate(ptr427); >+ heap87.deallocate(ptr428); >+ heap51.deallocate(ptr429); >+ heap09.deallocate(ptr430); >+ heap77.deallocate(ptr431); >+ heap86.deallocate(ptr432); >+ heap64.deallocate(ptr433); >+ heap96.deallocate(ptr434); >+ heap16.deallocate(ptr435); >+ heap11.deallocate(ptr436); >+ heap38.deallocate(ptr437); >+ heap01.deallocate(ptr438); >+ heap56.deallocate(ptr439); >+ heap51.deallocate(ptr440); >+ heap99.deallocate(ptr441); >+ heap47.deallocate(ptr442); >+ heap57.deallocate(ptr443); >+ heap29.deallocate(ptr444); >+ heap59.deallocate(ptr445); >+ heap83.deallocate(ptr446); >+ heap40.deallocate(ptr447); >+ heap19.deallocate(ptr448); >+ heap17.deallocate(ptr449); >+ heap21.deallocate(ptr450); >+ heap22.deallocate(ptr451); >+ heap04.deallocate(ptr452); >+ heap45.deallocate(ptr453); >+ heap73.deallocate(ptr454); >+ heap96.deallocate(ptr455); >+ heap23.deallocate(ptr456); >+ heap16.deallocate(ptr457); >+ heap92.deallocate(ptr458); >+ heap02.deallocate(ptr459); >+ heap11.deallocate(ptr460); >+ heap67.deallocate(ptr461); >+ heap69.deallocate(ptr462); >+ heap21.deallocate(ptr463); >+ heap20.deallocate(ptr464); >+ heap32.deallocate(ptr465); >+ heap39.deallocate(ptr466); >+ heap39.deallocate(ptr467); >+ heap66.deallocate(ptr468); >+ heap42.deallocate(ptr469); >+ heap49.deallocate(ptr470); >+ heap33.deallocate(ptr471); >+ heap30.deallocate(ptr472); >+ heap88.deallocate(ptr473); >+ heap73.deallocate(ptr474); >+ heap00.deallocate(ptr475); >+ heap14.deallocate(ptr476); >+ heap42.deallocate(ptr477); >+ heap07.deallocate(ptr478); >+ heap63.deallocate(ptr479); >+ heap28.deallocate(ptr480); >+ heap62.deallocate(ptr481); >+ heap69.deallocate(ptr482); >+ heap06.deallocate(ptr483); >+ heap74.deallocate(ptr484); >+ heap15.deallocate(ptr485); >+ heap41.deallocate(ptr486); >+ heap56.deallocate(ptr487); >+ heap13.deallocate(ptr488); >+ heap95.deallocate(ptr489); >+ heap73.deallocate(ptr490); >+ heap88.deallocate(ptr491); >+ heap65.deallocate(ptr492); >+ heap68.deallocate(ptr493); >+ heap87.deallocate(ptr494); >+ heap66.deallocate(ptr495); >+ heap91.deallocate(ptr496); >+ heap23.deallocate(ptr497); >+ heap32.deallocate(ptr498); >+ heap05.deallocate(ptr499); >+ heap57.deallocate(ptr500); >+ heap49.deallocate(ptr501); >+ heap99.deallocate(ptr502); >+ heap77.deallocate(ptr503); >+ heap05.deallocate(ptr504); >+ heap45.deallocate(ptr505); >+ heap50.deallocate(ptr506); >+ heap77.deallocate(ptr507); >+ heap00.deallocate(ptr508); >+ heap81.deallocate(ptr509); >+ heap37.deallocate(ptr510); >+ heap39.deallocate(ptr511); >+ heap76.deallocate(ptr512); >+ heap31.deallocate(ptr513); >+ heap04.deallocate(ptr514); >+ heap74.deallocate(ptr515); >+ heap79.deallocate(ptr516); >+ heap65.deallocate(ptr517); >+ heap99.deallocate(ptr518); >+ heap47.deallocate(ptr519); >+ heap28.deallocate(ptr520); >+ heap31.deallocate(ptr521); >+ heap70.deallocate(ptr522); >+ heap22.deallocate(ptr523); >+ heap68.deallocate(ptr524); >+ heap92.deallocate(ptr525); >+ heap83.deallocate(ptr526); >+ heap05.deallocate(ptr527); >+ heap65.deallocate(ptr528); >+ heap39.deallocate(ptr529); >+ heap32.deallocate(ptr530); >+ heap07.deallocate(ptr531); >+ heap94.deallocate(ptr532); >+ heap90.deallocate(ptr533); >+ heap68.deallocate(ptr534); >+ heap21.deallocate(ptr535); >+ heap37.deallocate(ptr536); >+ heap03.deallocate(ptr537); >+ heap65.deallocate(ptr538); >+ heap00.deallocate(ptr539); >+ heap05.deallocate(ptr540); >+ heap54.deallocate(ptr541); >+ heap07.deallocate(ptr542); >+ heap38.deallocate(ptr543); >+ heap80.deallocate(ptr544); >+ heap04.deallocate(ptr545); >+ heap90.deallocate(ptr546); >+ heap08.deallocate(ptr547); >+ heap90.deallocate(ptr548); >+ heap89.deallocate(ptr549); >+ heap32.deallocate(ptr550); >+ heap75.deallocate(ptr551); >+ heap70.deallocate(ptr552); >+ heap62.deallocate(ptr553); >+ heap01.deallocate(ptr554); >+ heap20.deallocate(ptr555); >+ heap37.deallocate(ptr556); >+ heap30.deallocate(ptr557); >+ heap47.deallocate(ptr558); >+ heap99.deallocate(ptr559); >+ heap23.deallocate(ptr560); >+ heap74.deallocate(ptr561); >+ heap68.deallocate(ptr562); >+ heap90.deallocate(ptr563); >+ heap51.deallocate(ptr564); >+ heap12.deallocate(ptr565); >+ heap86.deallocate(ptr566); >+ heap39.deallocate(ptr567); >+ heap11.deallocate(ptr568); >+ heap42.deallocate(ptr569); >+ heap75.deallocate(ptr570); >+ heap95.deallocate(ptr571); >+ heap91.deallocate(ptr572); >+ heap82.deallocate(ptr573); >+ heap61.deallocate(ptr574); >+ heap95.deallocate(ptr575); >+ heap25.deallocate(ptr576); >+ heap25.deallocate(ptr577); >+ heap25.deallocate(ptr578); >+ heap89.deallocate(ptr579); >+ heap41.deallocate(ptr580); >+ heap92.deallocate(ptr581); >+ heap20.deallocate(ptr582); >+ heap66.deallocate(ptr583); >+ heap25.deallocate(ptr584); >+ heap37.deallocate(ptr585); >+ heap09.deallocate(ptr586); >+ heap53.deallocate(ptr587); >+ heap84.deallocate(ptr588); >+ heap18.deallocate(ptr589); >+ heap77.deallocate(ptr590); >+ heap17.deallocate(ptr591); >+ heap11.deallocate(ptr592); >+ heap73.deallocate(ptr593); >+ heap16.deallocate(ptr594); >+ heap98.deallocate(ptr595); >+ heap92.deallocate(ptr596); >+ heap99.deallocate(ptr597); >+ heap74.deallocate(ptr598); >+ heap16.deallocate(ptr599); >+ heap29.deallocate(ptr600); >+ heap26.deallocate(ptr601); >+ heap21.deallocate(ptr602); >+ heap22.deallocate(ptr603); >+ heap83.deallocate(ptr604); >+ heap83.deallocate(ptr605); >+ heap78.deallocate(ptr606); >+ heap96.deallocate(ptr607); >+ heap52.deallocate(ptr608); >+ heap33.deallocate(ptr609); >+ heap31.deallocate(ptr610); >+ heap04.deallocate(ptr611); >+ heap29.deallocate(ptr612); >+ heap32.deallocate(ptr613); >+ heap20.deallocate(ptr614); >+ heap61.deallocate(ptr615); >+ heap85.deallocate(ptr616); >+ heap50.deallocate(ptr617); >+ heap19.deallocate(ptr618); >+ heap65.deallocate(ptr619); >+ heap89.deallocate(ptr620); >+ heap94.deallocate(ptr621); >+ heap40.deallocate(ptr622); >+ heap47.deallocate(ptr623); >+ heap57.deallocate(ptr624); >+ heap56.deallocate(ptr625); >+ heap81.deallocate(ptr626); >+ heap64.deallocate(ptr627); >+ heap40.deallocate(ptr628); >+ heap92.deallocate(ptr629); >+ heap41.deallocate(ptr630); >+ heap54.deallocate(ptr631); >+ heap26.deallocate(ptr632); >+ heap37.deallocate(ptr633); >+ heap67.deallocate(ptr634); >+ heap71.deallocate(ptr635); >+ heap32.deallocate(ptr636); >+ heap75.deallocate(ptr637); >+ heap00.deallocate(ptr638); >+ heap96.deallocate(ptr639); >+ heap02.deallocate(ptr640); >+ heap70.deallocate(ptr641); >+ heap13.deallocate(ptr642); >+ heap88.deallocate(ptr643); >+ heap43.deallocate(ptr644); >+ heap16.deallocate(ptr645); >+ heap34.deallocate(ptr646); >+ heap47.deallocate(ptr647); >+ heap97.deallocate(ptr648); >+ heap16.deallocate(ptr649); >+ heap35.deallocate(ptr650); >+ heap19.deallocate(ptr651); >+ heap41.deallocate(ptr652); >+ heap64.deallocate(ptr653); >+ heap33.deallocate(ptr654); >+ heap90.deallocate(ptr655); >+ heap44.deallocate(ptr656); >+ heap50.deallocate(ptr657); >+ heap92.deallocate(ptr658); >+ heap00.deallocate(ptr659); >+ heap76.deallocate(ptr660); >+ heap25.deallocate(ptr661); >+ heap81.deallocate(ptr662); >+ heap60.deallocate(ptr663); >+ heap38.deallocate(ptr664); >+ heap67.deallocate(ptr665); >+ heap93.deallocate(ptr666); >+ heap18.deallocate(ptr667); >+ heap72.deallocate(ptr668); >+ heap19.deallocate(ptr669); >+ heap20.deallocate(ptr670); >+ heap34.deallocate(ptr671); >+ heap86.deallocate(ptr672); >+ heap13.deallocate(ptr673); >+ heap21.deallocate(ptr674); >+ heap33.deallocate(ptr675); >+ heap92.deallocate(ptr676); >+ heap49.deallocate(ptr677); >+ heap96.deallocate(ptr678); >+ heap51.deallocate(ptr679); >+ heap33.deallocate(ptr680); >+ heap98.deallocate(ptr681); >+ heap83.deallocate(ptr682); >+ heap64.deallocate(ptr683); >+ heap96.deallocate(ptr684); >+ heap58.deallocate(ptr685); >+ heap95.deallocate(ptr686); >+ heap00.deallocate(ptr687); >+ heap88.deallocate(ptr688); >+ heap66.deallocate(ptr689); >+ heap49.deallocate(ptr690); >+ heap19.deallocate(ptr691); >+ heap39.deallocate(ptr692); >+ heap13.deallocate(ptr693); >+ heap34.deallocate(ptr694); >+ heap15.deallocate(ptr695); >+ heap67.deallocate(ptr696); >+ heap80.deallocate(ptr697); >+ heap59.deallocate(ptr698); >+ heap62.deallocate(ptr699); >+ heap81.deallocate(ptr700); >+ heap27.deallocate(ptr701); >+ heap64.deallocate(ptr702); >+ heap30.deallocate(ptr703); >+ heap89.deallocate(ptr704); >+ heap61.deallocate(ptr705); >+ heap07.deallocate(ptr706); >+ heap34.deallocate(ptr707); >+ heap02.deallocate(ptr708); >+ heap37.deallocate(ptr709); >+ heap12.deallocate(ptr710); >+ heap14.deallocate(ptr711); >+ heap75.deallocate(ptr712); >+ heap65.deallocate(ptr713); >+ heap68.deallocate(ptr714); >+ heap31.deallocate(ptr715); >+ heap06.deallocate(ptr716); >+ heap12.deallocate(ptr717); >+ heap26.deallocate(ptr718); >+ heap07.deallocate(ptr719); >+ heap52.deallocate(ptr720); >+ heap33.deallocate(ptr721); >+ heap56.deallocate(ptr722); >+ heap18.deallocate(ptr723); >+ heap54.deallocate(ptr724); >+ heap74.deallocate(ptr725); >+ heap13.deallocate(ptr726); >+ heap58.deallocate(ptr727); >+ heap74.deallocate(ptr728); >+ heap24.deallocate(ptr729); >+ heap20.deallocate(ptr730); >+ heap01.deallocate(ptr731); >+ heap88.deallocate(ptr732); >+ heap01.deallocate(ptr733); >+ heap02.deallocate(ptr734); >+ heap01.deallocate(ptr735); >+ heap91.deallocate(ptr736); >+ heap63.deallocate(ptr737); >+ heap43.deallocate(ptr738); >+ heap70.deallocate(ptr739); >+ heap53.deallocate(ptr740); >+ heap68.deallocate(ptr741); >+ heap49.deallocate(ptr742); >+ heap27.deallocate(ptr743); >+ heap40.deallocate(ptr744); >+ heap43.deallocate(ptr745); >+ heap46.deallocate(ptr746); >+ heap98.deallocate(ptr747); >+ heap65.deallocate(ptr748); >+ heap77.deallocate(ptr749); >+ heap23.deallocate(ptr750); >+ heap43.deallocate(ptr751); >+ heap45.deallocate(ptr752); >+ heap30.deallocate(ptr753); >+ heap69.deallocate(ptr754); >+ heap81.deallocate(ptr755); >+ heap32.deallocate(ptr756); >+ heap34.deallocate(ptr757); >+ heap53.deallocate(ptr758); >+ heap00.deallocate(ptr759); >+ heap82.deallocate(ptr760); >+ heap72.deallocate(ptr761); >+ heap47.deallocate(ptr762); >+ heap23.deallocate(ptr763); >+ heap83.deallocate(ptr764); >+ heap56.deallocate(ptr765); >+ heap76.deallocate(ptr766); >+ heap97.deallocate(ptr767); >+ heap66.deallocate(ptr768); >+ heap84.deallocate(ptr769); >+ heap02.deallocate(ptr770); >+ heap71.deallocate(ptr771); >+ heap07.deallocate(ptr772); >+ heap78.deallocate(ptr773); >+ heap93.deallocate(ptr774); >+ heap08.deallocate(ptr775); >+ heap83.deallocate(ptr776); >+ heap84.deallocate(ptr777); >+ heap39.deallocate(ptr778); >+ heap29.deallocate(ptr779); >+ heap29.deallocate(ptr780); >+ heap37.deallocate(ptr781); >+ heap15.deallocate(ptr782); >+ heap56.deallocate(ptr783); >+ heap93.deallocate(ptr784); >+ heap02.deallocate(ptr785); >+ heap70.deallocate(ptr786); >+ heap35.deallocate(ptr787); >+ heap30.deallocate(ptr788); >+ heap84.deallocate(ptr789); >+ heap46.deallocate(ptr790); >+ heap23.deallocate(ptr791); >+ heap17.deallocate(ptr792); >+ heap97.deallocate(ptr793); >+ heap56.deallocate(ptr794); >+ heap07.deallocate(ptr795); >+ heap97.deallocate(ptr796); >+ heap58.deallocate(ptr797); >+ heap44.deallocate(ptr798); >+ heap89.deallocate(ptr799); >+ heap97.deallocate(ptr800); >+ heap89.deallocate(ptr801); >+ heap51.deallocate(ptr802); >+ heap85.deallocate(ptr803); >+ heap80.deallocate(ptr804); >+ heap99.deallocate(ptr805); >+ heap72.deallocate(ptr806); >+ heap43.deallocate(ptr807); >+ heap47.deallocate(ptr808); >+ heap38.deallocate(ptr809); >+ heap53.deallocate(ptr810); >+ heap33.deallocate(ptr811); >+ heap62.deallocate(ptr812); >+ heap70.deallocate(ptr813); >+ heap32.deallocate(ptr814); >+ heap78.deallocate(ptr815); >+ heap07.deallocate(ptr816); >+ heap18.deallocate(ptr817); >+ heap05.deallocate(ptr818); >+ heap28.deallocate(ptr819); >+ heap74.deallocate(ptr820); >+ heap19.deallocate(ptr821); >+ heap22.deallocate(ptr822); >+ heap31.deallocate(ptr823); >+ heap74.deallocate(ptr824); >+ heap36.deallocate(ptr825); >+ heap61.deallocate(ptr826); >+ heap13.deallocate(ptr827); >+ heap56.deallocate(ptr828); >+ heap79.deallocate(ptr829); >+ heap49.deallocate(ptr830); >+ heap80.deallocate(ptr831); >+ heap12.deallocate(ptr832); >+ heap94.deallocate(ptr833); >+ heap28.deallocate(ptr834); >+ heap99.deallocate(ptr835); >+ heap99.deallocate(ptr836); >+ heap52.deallocate(ptr837); >+ heap73.deallocate(ptr838); >+ heap29.deallocate(ptr839); >+ heap33.deallocate(ptr840); >+ heap25.deallocate(ptr841); >+ heap62.deallocate(ptr842); >+ heap27.deallocate(ptr843); >+ heap98.deallocate(ptr844); >+ heap72.deallocate(ptr845); >+ heap57.deallocate(ptr846); >+ heap78.deallocate(ptr847); >+ heap85.deallocate(ptr848); >+ heap07.deallocate(ptr849); >+ heap42.deallocate(ptr850); >+ heap78.deallocate(ptr851); >+ heap68.deallocate(ptr852); >+ heap19.deallocate(ptr853); >+ heap06.deallocate(ptr854); >+ heap07.deallocate(ptr855); >+ heap81.deallocate(ptr856); >+ heap66.deallocate(ptr857); >+ heap67.deallocate(ptr858); >+ heap44.deallocate(ptr859); >+ heap85.deallocate(ptr860); >+ heap64.deallocate(ptr861); >+ heap26.deallocate(ptr862); >+ heap57.deallocate(ptr863); >+ heap88.deallocate(ptr864); >+ heap49.deallocate(ptr865); >+ heap47.deallocate(ptr866); >+ heap58.deallocate(ptr867); >+ heap04.deallocate(ptr868); >+ heap22.deallocate(ptr869); >+ heap03.deallocate(ptr870); >+ heap46.deallocate(ptr871); >+ heap52.deallocate(ptr872); >+ heap97.deallocate(ptr873); >+ heap98.deallocate(ptr874); >+ heap27.deallocate(ptr875); >+ heap22.deallocate(ptr876); >+ heap31.deallocate(ptr877); >+ heap54.deallocate(ptr878); >+ heap85.deallocate(ptr879); >+ heap92.deallocate(ptr880); >+ heap48.deallocate(ptr881); >+ heap90.deallocate(ptr882); >+ heap96.deallocate(ptr883); >+ heap39.deallocate(ptr884); >+ heap34.deallocate(ptr885); >+ heap28.deallocate(ptr886); >+ heap57.deallocate(ptr887); >+ heap61.deallocate(ptr888); >+ heap40.deallocate(ptr889); >+ heap78.deallocate(ptr890); >+ heap70.deallocate(ptr891); >+ heap29.deallocate(ptr892); >+ heap89.deallocate(ptr893); >+ heap85.deallocate(ptr894); >+ heap87.deallocate(ptr895); >+ heap21.deallocate(ptr896); >+ heap89.deallocate(ptr897); >+ heap51.deallocate(ptr898); >+ heap46.deallocate(ptr899); >+ heap18.deallocate(ptr900); >+ heap86.deallocate(ptr901); >+ heap44.deallocate(ptr902); >+ heap66.deallocate(ptr903); >+ heap41.deallocate(ptr904); >+ heap45.deallocate(ptr905); >+ heap70.deallocate(ptr906); >+ heap80.deallocate(ptr907); >+ heap68.deallocate(ptr908); >+ heap63.deallocate(ptr909); >+ heap81.deallocate(ptr910); >+ heap74.deallocate(ptr911); >+ heap74.deallocate(ptr912); >+ heap53.deallocate(ptr913); >+ heap33.deallocate(ptr914); >+ heap66.deallocate(ptr915); >+ heap16.deallocate(ptr916); >+ heap19.deallocate(ptr917); >+ heap66.deallocate(ptr918); >+ heap57.deallocate(ptr919); >+ heap37.deallocate(ptr920); >+ heap56.deallocate(ptr921); >+ heap73.deallocate(ptr922); >+ heap76.deallocate(ptr923); >+ heap21.deallocate(ptr924); >+ heap39.deallocate(ptr925); >+ heap82.deallocate(ptr926); >+ heap79.deallocate(ptr927); >+ heap98.deallocate(ptr928); >+ heap21.deallocate(ptr929); >+ heap04.deallocate(ptr930); >+ heap63.deallocate(ptr931); >+ heap93.deallocate(ptr932); >+ heap42.deallocate(ptr933); >+ heap85.deallocate(ptr934); >+ heap32.deallocate(ptr935); >+ heap36.deallocate(ptr936); >+ heap25.deallocate(ptr937); >+ heap39.deallocate(ptr938); >+ heap45.deallocate(ptr939); >+ heap01.deallocate(ptr940); >+ heap17.deallocate(ptr941); >+ heap98.deallocate(ptr942); >+ heap12.deallocate(ptr943); >+ heap81.deallocate(ptr944); >+ heap68.deallocate(ptr945); >+ heap50.deallocate(ptr946); >+ heap10.deallocate(ptr947); >+ heap08.deallocate(ptr948); >+ heap19.deallocate(ptr949); >+ heap95.deallocate(ptr950); >+ heap30.deallocate(ptr951); >+ heap01.deallocate(ptr952); >+ heap56.deallocate(ptr953); >+ heap87.deallocate(ptr954); >+ heap89.deallocate(ptr955); >+ heap65.deallocate(ptr956); >+ heap29.deallocate(ptr957); >+ heap63.deallocate(ptr958); >+ heap75.deallocate(ptr959); >+ heap93.deallocate(ptr960); >+ heap67.deallocate(ptr961); >+ heap14.deallocate(ptr962); >+ heap46.deallocate(ptr963); >+ heap01.deallocate(ptr964); >+ heap64.deallocate(ptr965); >+ heap92.deallocate(ptr966); >+ heap57.deallocate(ptr967); >+ heap29.deallocate(ptr968); >+ heap37.deallocate(ptr969); >+ heap97.deallocate(ptr970); >+ heap15.deallocate(ptr971); >+ heap07.deallocate(ptr972); >+ heap26.deallocate(ptr973); >+ heap75.deallocate(ptr974); >+ heap07.deallocate(ptr975); >+ heap02.deallocate(ptr976); >+ heap10.deallocate(ptr977); >+ heap88.deallocate(ptr978); >+ heap39.deallocate(ptr979); >+ heap36.deallocate(ptr980); >+ heap19.deallocate(ptr981); >+ heap61.deallocate(ptr982); >+ heap59.deallocate(ptr983); >+ heap88.deallocate(ptr984); >+ heap24.deallocate(ptr985); >+ heap62.deallocate(ptr986); >+ heap81.deallocate(ptr987); >+ heap61.deallocate(ptr988); >+ heap95.deallocate(ptr989); >+ heap38.deallocate(ptr990); >+ heap07.deallocate(ptr991); >+ heap94.deallocate(ptr992); >+ heap96.deallocate(ptr993); >+ heap91.deallocate(ptr994); >+ heap67.deallocate(ptr995); >+ heap20.deallocate(ptr996); >+ heap38.deallocate(ptr997); >+ heap78.deallocate(ptr998); >+ heap48.deallocate(ptr999); >+ heap03.deallocate(ptr1000); >+ })); >+ } >+ >+ for (auto& thread : threads) >+ thread->waitForCompletion(); >+} >+ > #endif
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
saam
:
review+
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 199053
: 372514