Revert "Revert "Upgrade to 5.0.71.48"" DO NOT MERGE
This reverts commit f2e3994fa5148cc3d9946666f0b0596290192b0e,
and updates the x64 makefile properly so it doesn't break that
build.
FPIIM-449
Change-Id: Ib83e35bfbae6af627451c926a9650ec57c045605
(cherry picked from commit 109988c7ccb6f3fd1a58574fa3dfb88beaef6632)
diff --git a/src/profiler/sampler.h b/src/profiler/sampler.h
index 354e935..8e8ef1c 100644
--- a/src/profiler/sampler.h
+++ b/src/profiler/sampler.h
@@ -34,12 +34,13 @@
TickSample()
: state(OTHER),
pc(NULL),
- external_callback(NULL),
+ external_callback_entry(NULL),
frames_count(0),
has_external_callback(false),
+ update_stats(true),
top_frame_type(StackFrame::NONE) {}
void Init(Isolate* isolate, const v8::RegisterState& state,
- RecordCEntryFrame record_c_entry_frame);
+ RecordCEntryFrame record_c_entry_frame, bool update_stats);
static void GetStackSample(Isolate* isolate, const v8::RegisterState& state,
RecordCEntryFrame record_c_entry_frame,
void** frames, size_t frames_limit,
@@ -48,7 +49,7 @@
Address pc; // Instruction pointer.
union {
Address tos; // Top stack value (*sp).
- Address external_callback;
+ Address external_callback_entry;
};
static const unsigned kMaxFramesCountLog2 = 8;
static const unsigned kMaxFramesCount = (1 << kMaxFramesCountLog2) - 1;
@@ -56,6 +57,7 @@
base::TimeTicks timestamp;
unsigned frames_count : kMaxFramesCountLog2; // Number of captured frames.
bool has_external_callback : 1;
+ bool update_stats : 1; // Whether the sample should update aggregated stats.
StackFrame::Type top_frame_type : 4;
};
@@ -98,12 +100,12 @@
}
// Used in tests to make sure that stack sampling is performed.
- unsigned js_and_external_sample_count() const {
- return js_and_external_sample_count_;
- }
+ unsigned js_sample_count() const { return js_sample_count_; }
+ unsigned external_sample_count() const { return external_sample_count_; }
void StartCountingSamples() {
- is_counting_samples_ = true;
- js_and_external_sample_count_ = 0;
+ js_sample_count_ = 0;
+ external_sample_count_ = 0;
+ is_counting_samples_ = true;
}
class PlatformData;
@@ -123,9 +125,10 @@
base::Atomic32 has_processing_thread_;
base::Atomic32 active_;
PlatformData* data_; // Platform specific data.
+ // Counts stack samples taken in various VM states.
bool is_counting_samples_;
- // Counts stack samples taken in JS VM state.
- unsigned js_and_external_sample_count_;
+ unsigned js_sample_count_;
+ unsigned external_sample_count_;
DISALLOW_IMPLICIT_CONSTRUCTORS(Sampler);
};