bool mozilla_sampler_register_thread(const char* aName, void* stackTop) { #if defined(MOZ_WIDGET_GONK) && !defined(MOZ_PROFILING) // The only way to profile secondary threads on b2g // is to build with profiling OR have the profiler // running on startup. if (!profiler_is_active()) { return false; } #endif PseudoStack* stack = new PseudoStack(); tlsPseudoStack.set(stack); bool isMainThread = is_main_thread_name(aName); return Sampler::RegisterCurrentThread(aName, stack, isMainThread, stackTop); }
bool mozilla_sampler_register_thread(const char* aName, void* aGuessStackTop) { if (sInitCount == 0) { return false; } #if defined(MOZ_WIDGET_GONK) && !defined(MOZ_PROFILING) // The only way to profile secondary threads on b2g // is to build with profiling OR have the profiler // running on startup. if (!profiler_is_active()) { return false; } #endif MOZ_ASSERT(tlsPseudoStack.get() == nullptr); PseudoStack* stack = PseudoStack::create(); tlsPseudoStack.set(stack); bool isMainThread = is_main_thread_name(aName); void* stackTop = GetStackTop(aGuessStackTop); return Sampler::RegisterCurrentThread(aName, stack, isMainThread, stackTop); }