@@ -36,11 +36,10 @@ v8::Platform* CreateDefaultPlatform(
3636 if (in_process_stack_dumping == InProcessStackDumping::kEnabled ) {
3737 v8::base::debug::EnableInProcessStackDumping ();
3838 }
39- DefaultPlatform* platform = new DefaultPlatform (idle_task_support);
39+ DefaultPlatform* platform =
40+ new DefaultPlatform (idle_task_support, tracing_controller);
4041 platform->SetThreadPoolSize (thread_pool_size);
4142 platform->EnsureInitialized ();
42- if (tracing_controller != nullptr )
43- platform->SetTracingController (tracing_controller);
4443 return platform;
4544}
4645
@@ -64,16 +63,25 @@ void RunIdleTasks(v8::Platform* platform, v8::Isolate* isolate,
6463void SetTracingController (
6564 v8::Platform* platform,
6665 v8::platform::tracing::TracingController* tracing_controller) {
67- return static_cast <DefaultPlatform*>(platform)->SetTracingController (
66+ static_cast <DefaultPlatform*>(platform)->SetTracingController (
6867 tracing_controller);
6968}
7069
7170const int DefaultPlatform::kMaxThreadPoolSize = 8 ;
7271
73- DefaultPlatform::DefaultPlatform (IdleTaskSupport idle_task_support)
72+ DefaultPlatform::DefaultPlatform (IdleTaskSupport idle_task_support,
73+ v8::TracingController* tracing_controller)
7474 : initialized_(false ),
7575 thread_pool_size_ (0 ),
76- idle_task_support_(idle_task_support) {}
76+ idle_task_support_(idle_task_support) {
77+ if (tracing_controller) {
78+ tracing_controller_.reset (tracing_controller);
79+ } else {
80+ tracing::TracingController* controller = new tracing::TracingController ();
81+ controller->Initialize (nullptr );
82+ tracing_controller_.reset (controller);
83+ }
84+ }
7785
7886DefaultPlatform::~DefaultPlatform () {
7987 base::LockGuard<base::Mutex> guard (&lock_);
@@ -274,64 +282,16 @@ TracingController* DefaultPlatform::GetTracingController() {
274282 return tracing_controller_.get ();
275283}
276284
277- uint64_t DefaultPlatform::AddTraceEvent (
278- char phase, const uint8_t * category_enabled_flag, const char * name,
279- const char * scope, uint64_t id, uint64_t bind_id, int num_args,
280- const char ** arg_names, const uint8_t * arg_types,
281- const uint64_t * arg_values,
282- std::unique_ptr<v8::ConvertableToTraceFormat>* arg_convertables,
283- unsigned int flags) {
284- if (tracing_controller_) {
285- return tracing_controller_->AddTraceEvent (
286- phase, category_enabled_flag, name, scope, id, bind_id, num_args,
287- arg_names, arg_types, arg_values, arg_convertables, flags);
288- }
289-
290- return 0 ;
291- }
292-
293- void DefaultPlatform::UpdateTraceEventDuration (
294- const uint8_t * category_enabled_flag, const char * name, uint64_t handle) {
295- if (tracing_controller_) {
296- tracing_controller_->UpdateTraceEventDuration (category_enabled_flag, name,
297- handle);
298- }
299- }
300-
301- const uint8_t * DefaultPlatform::GetCategoryGroupEnabled (const char * name) {
302- if (tracing_controller_) {
303- return tracing_controller_->GetCategoryGroupEnabled (name);
304- }
305- static uint8_t no = 0 ;
306- return &no;
307- }
308-
309-
310- const char * DefaultPlatform::GetCategoryGroupName (
311- const uint8_t * category_enabled_flag) {
312- static const char dummy[] = " dummy" ;
313- return dummy;
314- }
315-
316285void DefaultPlatform::SetTracingController (
317- TracingController* tracing_controller) {
286+ v8::TracingController* tracing_controller) {
287+ DCHECK_NOT_NULL (tracing_controller);
318288 tracing_controller_.reset (tracing_controller);
319289}
320290
321291size_t DefaultPlatform::NumberOfAvailableBackgroundThreads () {
322292 return static_cast <size_t >(thread_pool_size_);
323293}
324294
325- void DefaultPlatform::AddTraceStateObserver (TraceStateObserver* observer) {
326- if (!tracing_controller_) return ;
327- tracing_controller_->AddTraceStateObserver (observer);
328- }
329-
330- void DefaultPlatform::RemoveTraceStateObserver (TraceStateObserver* observer) {
331- if (!tracing_controller_) return ;
332- tracing_controller_->RemoveTraceStateObserver (observer);
333- }
334-
335295Platform::StackTracePrinter DefaultPlatform::GetStackTracePrinter () {
336296 return PrintStackTrace;
337297}
0 commit comments