| Index: include/v8-profiler.h
|
| diff --git a/include/v8-profiler.h b/include/v8-profiler.h
|
| index 88a5fe027d7ab0ea49a28ce935fc87827067bdc4..bcb69f3763e1b76dfc48e215a7e2fad80f235cee 100644
|
| --- a/include/v8-profiler.h
|
| +++ b/include/v8-profiler.h
|
| @@ -60,12 +60,47 @@ struct TickSample {
|
| frames_count(0),
|
| has_external_callback(false),
|
| update_stats(true) {}
|
| +
|
| + /**
|
| + * Initialize a tick sample from the isolate.
|
| + * \param isolate The isolate.
|
| + * \param state Execution state.
|
| + * \param record_c_entry_frame Include or skip the runtime function.
|
| + * \param update_stats Whether update the sample to the aggregated stats.
|
| + * \param use_simulator_reg_state When set to true and V8 is running under a
|
| + * simulator, the method will use the simulator
|
| + * register state rather than the one provided
|
| + * with |state| argument. Otherwise the method
|
| + * will use provided register |state| as is.
|
| + */
|
| void Init(Isolate* isolate, const v8::RegisterState& state,
|
| - RecordCEntryFrame record_c_entry_frame, bool update_stats);
|
| - static bool GetStackSample(Isolate* isolate, const v8::RegisterState& state,
|
| + RecordCEntryFrame record_c_entry_frame, bool update_stats,
|
| + bool use_simulator_reg_state = true);
|
| + /**
|
| + * Get a call stack sample from the isolate.
|
| + * \param isolate The isolate.
|
| + * \param state Register state.
|
| + * \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_simulator_reg_state When set to true and V8 is running under a
|
| + * simulator, the method will use the simulator
|
| + * register state rather than the one provided
|
| + * with |state| argument. Otherwise the method
|
| + * will use provided register |state| as is.
|
| + * \note GetStackSample is thread and signal safe and should only be called
|
| + * when the JS thread is paused or interrupted.
|
| + * Otherwise the behavior is undefined.
|
| + */
|
| + static bool GetStackSample(Isolate* isolate, v8::RegisterState* state,
|
| RecordCEntryFrame record_c_entry_frame,
|
| void** frames, size_t frames_limit,
|
| - v8::SampleInfo* sample_info);
|
| + v8::SampleInfo* sample_info,
|
| + bool use_simulator_reg_state = true);
|
| StateTag state; // The state of the VM.
|
| void* pc; // Instruction pointer.
|
| union {
|
|
|