| Index: src/cpu-profiler.cc | 
| diff --git a/src/cpu-profiler.cc b/src/cpu-profiler.cc | 
| index 234114908cedb3cdb7698365e7fcac070fa3b64e..ed3f6925e083cee4c39d262b4ef4fa3a3352d780 100644 | 
| --- a/src/cpu-profiler.cc | 
| +++ b/src/cpu-profiler.cc | 
| @@ -420,6 +420,10 @@ void CpuProfiler::StartProcessorIfNotStarted() { | 
| generator_ = new ProfileGenerator(profiles_); | 
| processor_ = new ProfilerEventsProcessor(generator_); | 
| processor_->Start(); | 
| +    // Enable stack sampling. | 
| +    // It is important to have it started prior to logging, see issue 683: | 
| +    // http://code.google.com/p/v8/issues/detail?id=683 | 
| +    reinterpret_cast<Sampler*>(Logger::ticker_)->Start(); | 
| // Enumerate stuff we already have in the heap. | 
| if (Heap::HasBeenSetup()) { | 
| Logger::LogCodeObjects(); | 
| @@ -427,8 +431,6 @@ void CpuProfiler::StartProcessorIfNotStarted() { | 
| Logger::LogFunctionObjects(); | 
| Logger::LogAccessorCallbacks(); | 
| } | 
| -    // Enable stack sampling. | 
| -    reinterpret_cast<Sampler*>(Logger::ticker_)->Start(); | 
| } | 
| } | 
|  | 
|  |