Version 3.15.8

Enforced stack allocation of TryCatch blocks. (issue 2166,chromium:152389)

Fixed external exceptions in external try-catch handlers. (issue 2166)

Activated incremental code flushing by default.

Performance and stability improvements on all platforms.

git-svn-id: http://v8.googlecode.com/svn/trunk@13133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/test/cctest/test-cpu-profiler.cc b/test/cctest/test-cpu-profiler.cc
index 589e6d8..b10e688 100644
--- a/test/cctest/test-cpu-profiler.cc
+++ b/test/cctest/test-cpu-profiler.cc
@@ -5,7 +5,6 @@
 #include "v8.h"
 #include "cpu-profiler-inl.h"
 #include "cctest.h"
-#include "platform.h"
 #include "../include/v8-profiler.h"
 
 using i::CodeEntry;
@@ -21,7 +20,7 @@
 TEST(StartStop) {
   CpuProfilesCollection profiles;
   ProfileGenerator generator(&profiles);
-  ProfilerEventsProcessor processor(&generator, NULL, 1000);
+  ProfilerEventsProcessor processor(&generator);
   processor.Start();
   processor.Stop();
   processor.Join();
@@ -39,13 +38,11 @@
   return reinterpret_cast<i::Address>(n);
 }
 
-static void AddTickSampleEvent(ProfilerEventsProcessor* processor,
-                               i::Address frame1,
-                               i::Address frame2 = NULL,
-                               i::Address frame3 = NULL) {
-  i::TickSample* sample;
-  i::OS::Sleep(20);
-  while ((sample = processor->StartTickSampleEvent()) == NULL) i::OS::Sleep(20);
+static void EnqueueTickSampleEvent(ProfilerEventsProcessor* proc,
+                                   i::Address frame1,
+                                   i::Address frame2 = NULL,
+                                   i::Address frame3 = NULL) {
+  i::TickSample* sample = proc->TickSampleEvent();
   sample->pc = frame1;
   sample->tos = frame1;
   sample->frames_count = 0;
@@ -57,7 +54,6 @@
     sample->stack[1] = frame3;
     sample->frames_count = 2;
   }
-  processor->FinishTickSampleEvent();
 }
 
 namespace {
@@ -85,7 +81,7 @@
   CpuProfilesCollection profiles;
   profiles.StartProfiling("", 1);
   ProfileGenerator generator(&profiles);
-  ProfilerEventsProcessor processor(&generator, NULL, 1000);
+  ProfilerEventsProcessor processor(&generator);
   processor.Start();
 
   // Enqueue code creation events.
@@ -112,8 +108,8 @@
   processor.CodeMoveEvent(ToAddress(0x1400), ToAddress(0x1500));
   processor.CodeCreateEvent(i::Logger::STUB_TAG, 3, ToAddress(0x1600), 0x10);
   processor.CodeCreateEvent(i::Logger::STUB_TAG, 4, ToAddress(0x1605), 0x10);
-  // Add a tick event to enable code events processing.
-  AddTickSampleEvent(&processor, ToAddress(0x1000));
+  // Enqueue a tick event to enable code events processing.
+  EnqueueTickSampleEvent(&processor, ToAddress(0x1000));
 
   processor.Stop();
   processor.Join();
@@ -146,7 +142,7 @@
   CpuProfilesCollection profiles;
   profiles.StartProfiling("", 1);
   ProfileGenerator generator(&profiles);
-  ProfilerEventsProcessor processor(&generator, NULL, 1000);
+  ProfilerEventsProcessor processor(&generator);
   processor.Start();
 
   processor.CodeCreateEvent(i::Logger::BUILTIN_TAG,
@@ -158,12 +154,12 @@
                             "ddd",
                             ToAddress(0x1400),
                             0x80);
-  AddTickSampleEvent(&processor, ToAddress(0x1210));
-  AddTickSampleEvent(&processor, ToAddress(0x1305), ToAddress(0x1220));
-  AddTickSampleEvent(&processor,
-                     ToAddress(0x1404),
-                     ToAddress(0x1305),
-                     ToAddress(0x1230));
+  EnqueueTickSampleEvent(&processor, ToAddress(0x1210));
+  EnqueueTickSampleEvent(&processor, ToAddress(0x1305), ToAddress(0x1220));
+  EnqueueTickSampleEvent(&processor,
+                         ToAddress(0x1404),
+                         ToAddress(0x1305),
+                         ToAddress(0x1230));
 
   processor.Stop();
   processor.Join();
@@ -236,7 +232,7 @@
   CpuProfilesCollection profiles;
   profiles.StartProfiling("", 1);
   ProfileGenerator generator(&profiles);
-  ProfilerEventsProcessor processor(&generator, NULL, 1000);
+  ProfilerEventsProcessor processor(&generator);
   processor.Start();
 
   processor.CodeCreateEvent(i::Logger::BUILTIN_TAG,
@@ -244,14 +240,13 @@
                             ToAddress(0x1200),
                             0x80);
 
-  i::TickSample* sample = processor.StartTickSampleEvent();
+  i::TickSample* sample = processor.TickSampleEvent();
   sample->pc = ToAddress(0x1200);
   sample->tos = 0;
   sample->frames_count = i::TickSample::kMaxFramesCount;
   for (int i = 0; i < sample->frames_count; ++i) {
     sample->stack[i] = ToAddress(0x1200);
   }
-  processor.FinishTickSampleEvent();
 
   processor.Stop();
   processor.Join();