From 9a1a41acdd10dc4a3d423bc072022288394785a7 Mon Sep 17 00:00:00 2001 From: "dmikurube@chromium.org" Date: Fri, 15 Feb 2013 10:12:27 +0000 Subject: Get a filename of dumped heap profile in a V8 extension HeapProfilerDump(). BUG=chromium-os:38652 TBR=darin@chromium.org Review URL: https://chromiumcodereview.appspot.com/12212157 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@182659 0039d316-1c4b-4281-b951-d872f2087c98 --- content/renderer/memory_benchmarking_extension.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'content') diff --git a/content/renderer/memory_benchmarking_extension.cc b/content/renderer/memory_benchmarking_extension.cc index 6918ac7..20e3e16 100644 --- a/content/renderer/memory_benchmarking_extension.cc +++ b/content/renderer/memory_benchmarking_extension.cc @@ -35,7 +35,7 @@ class MemoryBenchmarkingWrapper : public v8::Extension { "};" "chrome.memoryBenchmarking.heapProfilerDump = function(reason) {" " native function HeapProfilerDump();" - " HeapProfilerDump(reason);" + " return HeapProfilerDump(reason);" "};" ) {} @@ -60,10 +60,14 @@ class MemoryBenchmarkingWrapper : public v8::Extension { static v8::Handle HeapProfilerDump(const v8::Arguments& args) { #if !defined(NO_TCMALLOC) && defined(OS_LINUX) + char dumped_filename_buffer[1000]; std::string reason("benchmarking_extension"); if (args.Length() && args[0]->IsString()) reason = *v8::String::AsciiValue(args[0]); - ::HeapProfilerDump(reason.c_str()); + ::HeapProfilerDumpWithFileName(reason.c_str(), + dumped_filename_buffer, + sizeof(dumped_filename_buffer)); + return v8::String::New(dumped_filename_buffer); #endif // !defined(NO_TCMALLOC) && defined(OS_LINUX) return v8::Undefined(); } -- cgit v1.1