Chromium Code Reviews| Index: include/v8-profiler.h | 
| diff --git a/include/v8-profiler.h b/include/v8-profiler.h | 
| index 29d3c84a740b03a87a72de28b38f93be3a044779..9b9d8fd3de3aa652dbcfedfc863df6793d01c0c6 100644 | 
| --- a/include/v8-profiler.h | 
| +++ b/include/v8-profiler.h | 
| @@ -60,12 +60,50 @@ struct TickSample { | 
| frames_count(0), | 
| has_external_callback(false), | 
| update_stats(true) {} | 
| + | 
| + /** | 
| + * Initialize a tick sample from the isolate. | 
| + * \param isolate The currect isolate. | 
| + * \param state Execution state. | 
| + * \param updated_state When running on simulator, this will be set to | 
| + the real register state used for sampling. | 
| + * \param record_c_entry_frame Include or skip the runtime function. | 
| + * \param update_stats Whether update the sample to the aggregated stats. | 
| + * \param use_first_state Force V8 to use the first register state to | 
| + collect sample, default value is false, unless | 
| + the first register state is absolutely correct, | 
| + otherwise don't use it. | 
| + */ | 
| void Init(Isolate* isolate, const v8::RegisterState& state, | 
| - RecordCEntryFrame record_c_entry_frame, bool update_stats); | 
| + RegisterState& updated_state, | 
| 
 
alph
2016/07/28 23:57:06
Hmm. Is it an output parameter? Where is it used?
 
 | 
| + RecordCEntryFrame record_c_entry_frame, bool update_stats, | 
| + bool use_first_state = false); | 
| 
 
alph
2016/07/28 23:57:06
The name looks a bit awkward. Not sure about a bet
 
 | 
| + /** | 
| + * Get a call stack sample from the isolate. | 
| + * \param isolate The currect isolate. | 
| + * \param state Execution state. | 
| + * \param updated_state When running on simulator, this will be set to | 
| + the real register state used for sampling. | 
| + * \param record_c_entry_frame Include or skip the runtime function. | 
| + * \param frames Caller allocated buffer to store stack frames. | 
| + * \param frames_limit Maximum number of frames to capture. The buffer must | 
| + * be large enough to hold the number of frames. | 
| + * \param sample_info The sample info is filled up by the function | 
| + * provides number of actual captured stack frames and | 
| + * the current VM state. | 
| + * \param use_first_state Force V8 to use the first register state to | 
| + collect sample, default value is false, unless | 
| + the first register state is absolutely correct, | 
| + otherwise don't use it. | 
| + * \note GetStackSample should only be called when the JS thread is paused or | 
| + * interrupted. Otherwise the behavior is undefined. | 
| + */ | 
| static bool GetStackSample(Isolate* isolate, const v8::RegisterState& state, | 
| + RegisterState& updated_state, | 
| RecordCEntryFrame record_c_entry_frame, | 
| void** frames, size_t frames_limit, | 
| - v8::SampleInfo* sample_info); | 
| + v8::SampleInfo* sample_info, | 
| + bool use_first_state = false); | 
| StateTag state; // The state of the VM. | 
| void* pc; // Instruction pointer. | 
| union { |