| Index: src/sampler.cc
 | 
| diff --git a/src/sampler.cc b/src/sampler.cc
 | 
| index e86cb68900604a5f05e86bc902be5e648c5ff719..222b3182e81219609e88229c55c7a5a462c9d877 100644
 | 
| --- a/src/sampler.cc
 | 
| +++ b/src/sampler.cc
 | 
| @@ -658,7 +658,8 @@ Sampler::Sampler(Isolate* isolate, int interval)
 | 
|        interval_(interval),
 | 
|        profiling_(false),
 | 
|        active_(false),
 | 
| -      samples_taken_(0) {
 | 
| +      is_counting_samples_(false),
 | 
| +      js_and_external_sample_count_(0) {
 | 
|    data_ = new PlatformData;
 | 
|  }
 | 
|  
 | 
| @@ -688,7 +689,11 @@ void Sampler::SampleStack(const RegisterState& state) {
 | 
|    TickSample sample_obj;
 | 
|    if (sample == NULL) sample = &sample_obj;
 | 
|    sample->Init(isolate_, state);
 | 
| -  if (++samples_taken_ < 0) samples_taken_ = 0;
 | 
| +  if (is_counting_samples_) {
 | 
| +    if (sample->state == JS || sample->state == EXTERNAL) {
 | 
| +      ++js_and_external_sample_count_;
 | 
| +    }
 | 
| +  }
 | 
|    Tick(sample);
 | 
|  }
 | 
|  
 | 
| 
 |