From e74033d9ccb9a7f742929c741c0c0f52a935e15b Mon Sep 17 00:00:00 2001 From: "fschneider@chromium.org" Date: Tue, 13 Sep 2011 09:31:41 +0000 Subject: [PATCH] Fix some valgrind errors in d8 shell. This fixes 3 possibly lost warnings occurring when running unit tests under d8: 28 bytes in 1 blocks are possibly lost in loss record 40 of 68 at 0x67FB8DB: operator new[](unsigned int) by 0x83865CC: v8::Shell::SetOptions(int, char**) (d8.cc:1200) by 0x83869A5: v8::Shell::Main(int, char**) (d8.cc:1276) by 0x8386B31: main (d8.cc:1333) Review URL: http://codereview.chromium.org/7780032 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/d8.cc | 12 +++++++++++- src/d8.h | 2 ++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/d8.cc b/src/d8.cc index 544e824..079913d 100644 --- a/src/d8.cc +++ b/src/d8.cc @@ -1090,6 +1090,16 @@ void SourceGroup::WaitForThread() { #endif // V8_SHARED +ShellOptions::~ShellOptions() { + delete[] isolate_sources; + isolate_sources = NULL; +#ifndef V8_SHARED + delete parallel_files; + parallel_files = NULL; +#endif // V8_SHARED +} + + bool Shell::SetOptions(int argc, char* argv[]) { for (int i = 0; i < argc; i++) { if (strcmp(argv[i], "--stress-opt") == 0) { @@ -1198,7 +1208,7 @@ bool Shell::SetOptions(int argc, char* argv[]) { v8::V8::SetFlagsFromCommandLine(&argc, argv, true); - // set up isolated source groups + // Set up isolated source groups. options.isolate_sources = new SourceGroup[options.num_isolates]; SourceGroup* current = options.isolate_sources; current->Begin(argv, 1); diff --git a/src/d8.h b/src/d8.h index 052b7e0..052b4c0 100644 --- a/src/d8.h +++ b/src/d8.h @@ -191,6 +191,8 @@ class ShellOptions { num_isolates(1), isolate_sources(NULL) { } + ~ShellOptions(); + #ifndef V8_SHARED bool use_preemption; int preemption_interval; -- 2.7.4