Never mind; that shouldn't be needed, as isolate->Dispose() contains delete
this. Funky!

You said "it can be caught by valgrind". What does Valgrind report?

On Mon, May 14, 2018 at 11:16 AM Jakob Kummerow <jkumme...@chromium.org>
wrote:

> One obvious observation is that you don't have a delete isolate; statement
> in the loop ;-)
>
> On Sat, May 12, 2018 at 8:42 AM YJ <yang.ji...@celigo.com> wrote:
>
>> Kinda related to this old thread
>> https://groups.google.com/forum/#!searchin/v8-users/isolate$20memory|sort:date/v8-users/C_CzX8nSbDU/c4FR8-j6BQAJ
>>
>> Basically, I'd imagine if I instantiate an isolate and immediately
>> "Dispose" it inside a loop, all memory used by the isolated should be
>> released therefore the loop could go on forever. In reality however, doing
>> this would consume all available memories and doesn't seem to release any
>> memory back to the os at all. It is not a "leak" in the sense that it can
>> be caught by valgrind, it appears something is actually hogging the memory.
>> I am really curious of what is holding onto the memory. I really hope I am
>> just missing something obvious and any help is appreciated.
>>
>> I test the following code on a MBP
>>
>> #include "v8/include/v8.h"
>> #include "v8/include/libplatform/libplatform.h"
>>
>> int main(int argc, char* argv[]) {
>>   v8::V8::InitializeICUDefaultLocation(V8_LIB_FULL_PATH);
>>   v8::V8::InitializeExternalStartupData(V8_LIB_FULL_PATH);
>>   std::unique_ptr<v8::Platform> platform =
>> v8::platform::NewDefaultPlatform();
>>   v8::V8::InitializePlatform(platform.get());
>>   v8::V8::Initialize();
>>   for (auto i = 0; i < 1000000000; ++i) {
>>     v8::Isolate::CreateParams create_params;
>>     create_params.array_buffer_allocator =
>> v8::ArrayBuffer::Allocator::NewDefaultAllocator();
>>     v8::Isolate* isolate = v8::Isolate::New(create_params);
>>     isolate->Dispose();
>>     delete create_params.array_buffer_allocator;
>>   }
>>   v8::V8::Dispose();
>>   v8::V8::ShutdownPlatform();
>> }
>>
>> It will run until all memory is gone and macOS will just be unresponsive.
>>
>> I was using v8 version 6.5 and with the following build args
>>
>> is_debug = false
>> target_cpu = "x64"
>> use_drfuzz = false
>> use_libfuzzer = false
>> v8_enable_test_features = ""
>> v8_experimental_extra_library_files = []
>> v8_extra_library_files = []
>> symbol_level = 1
>> is_component_build = false
>> use_sysroot = false
>> use_glib = false
>> use_custom_libcxx = false
>> use_custom_libcxx_for_host = false
>> v8_enable_i18n_support = false
>> icu_use_data_file = false
>> v8_static_library = true
>> v8_enable_gdbjit = false
>>
>> Thanks
>>
>> --
>> --
>> v8-users mailing list
>> v8-users@googlegroups.com
>> http://groups.google.com/group/v8-users
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "v8-users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to v8-users+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to