1 --- a/base/trace_event/trace_event.h 2 +++ b/base/trace_event/trace_event.h 3 @@ -5,6 +5,43 @@ 4 #ifndef BASE_TRACE_EVENT_TRACE_EVENT_H_ 5 #define BASE_TRACE_EVENT_TRACE_EVENT_H_ 6 7 +// Replace with stub implementation. 8 +#if 1 9 +#include "base/trace_event/common/trace_event_common.h" 10 +#include "base/trace_event/heap_profiler.h" 11 + 12 +// To avoid -Wunused-* errors, eat expression by macro. 13 +namespace libchrome_internal { 14 +template <typename... Args> void Ignore(Args&&... args) {} 15 +} 16 +#define INTERNAL_IGNORE(...) \ 17 + (false ? libchrome_internal::Ignore(__VA_ARGS__) : (void) 0) 18 + 19 +// Body is effectively empty. 20 +#define INTERNAL_TRACE_EVENT_ADD_SCOPED(...) INTERNAL_IGNORE(__VA_ARGS__) 21 +#define INTERNAL_TRACE_TASK_EXECUTION(...) 22 +#define INTERNAL_TRACE_EVENT_ADD_SCOPED_WITH_FLOW(...) \ 23 + INTERNAL_IGNORE(__VA_ARGS__) 24 +#define TRACE_ID_MANGLE(val) (val) 25 + 26 +namespace base { 27 +namespace trace_event { 28 + 29 +class TraceLog { 30 + public: 31 + static TraceLog* GetInstance() { 32 + static TraceLog instance; 33 + return &instance; 34 + } 35 + 36 + pid_t process_id() { return 0; } 37 + void SetCurrentThreadBlocksMessageLoop() {} 38 +}; 39 + 40 +} // namespace trace_event 41 +} // namespace base 42 +#else 43 + 44 // This header file defines implementation details of how the trace macros in 45 // trace_event_common.h collect and store trace events. Anything not 46 // implementation-specific should go in trace_event_common.h instead of here. 47 @@ -1115,4 +1152,5 @@ template<typename IDType> class TraceSco 48 } // namespace trace_event 49 } // namespace base 50 51 +#endif 52 #endif // BASE_TRACE_EVENT_TRACE_EVENT_H_ 53 --- a/base/trace_event/heap_profiler.h 54 +++ b/base/trace_event/heap_profiler.h 55 @@ -5,6 +5,22 @@ 56 #ifndef BASE_TRACE_EVENT_HEAP_PROFILER_H 57 #define BASE_TRACE_EVENT_HEAP_PROFILER_H 58 59 +// Replace with stub implementation. 60 +#if 1 61 +#define TRACE_HEAP_PROFILER_API_SCOPED_TASK_EXECUTION \ 62 + trace_event_internal::HeapProfilerScopedTaskExecutionTracker 63 + 64 +namespace trace_event_internal { 65 + 66 +class HeapProfilerScopedTaskExecutionTracker { 67 + public: 68 + explicit HeapProfilerScopedTaskExecutionTracker(const char*) {} 69 +}; 70 + 71 +} // namespace trace_event_internal 72 + 73 +#else 74 + 75 #include "base/compiler_specific.h" 76 #include "base/trace_event/heap_profiler_allocation_context_tracker.h" 77 78 @@ -86,4 +102,5 @@ class BASE_EXPORT HeapProfilerScopedIgno 79 80 } // namespace trace_event_internal 81 82 +#endif 83 #endif // BASE_TRACE_EVENT_HEAP_PROFILER_H 84 --- a/base/test/test_pending_task.h 85 +++ b/base/test/test_pending_task.h 86 @@ -10,7 +10,8 @@ 87 #include "base/callback.h" 88 #include "base/location.h" 89 #include "base/time/time.h" 90 -#include "base/trace_event/trace_event_argument.h" 91 +// Unsupported in libchrome. 92 +// #include "base/trace_event/trace_event_argument.h" 93 94 namespace base { 95 96 @@ -58,10 +59,13 @@ struct TestPendingTask { 97 TimeDelta delay; 98 TestNestability nestability; 99 100 +// Unsupported in libchrome. 101 +#if 0 102 // Functions for using test pending task with tracing, useful in unit 103 // testing. 104 void AsValueInto(base::trace_event::TracedValue* state) const; 105 std::unique_ptr<base::trace_event::ConvertableToTraceFormat> AsValue() const; 106 +#endif 107 std::string ToString() const; 108 109 private: 110 --- a/base/test/test_pending_task.cc 111 +++ b/base/test/test_pending_task.cc 112 @@ -38,6 +38,8 @@ bool TestPendingTask::ShouldRunBefore(co 113 114 TestPendingTask::~TestPendingTask() {} 115 116 +// Unsupported in libchrome. 117 +#if 0 118 void TestPendingTask::AsValueInto(base::trace_event::TracedValue* state) const { 119 state->SetInteger("run_at", GetTimeToRun().ToInternalValue()); 120 state->SetString("posting_function", location.ToString()); 121 @@ -61,10 +63,14 @@ TestPendingTask::AsValue() const { 122 AsValueInto(state.get()); 123 return std::move(state); 124 } 125 +#endif 126 127 std::string TestPendingTask::ToString() const { 128 std::string output("TestPendingTask("); 129 +// Unsupported in libchrome. 130 +#if 0 131 AsValue()->AppendAsTraceFormat(&output); 132 +#endif 133 output += ")"; 134 return output; 135 } 136 ---- a/base/threading/thread_id_name_manager.cc 137 +++ b/base/threading/thread_id_name_manager.cc 138 @@ -12,7 +12,8 @@ 139 #include "base/no_destructor.h" 140 #include "base/strings/string_util.h" 141 #include "base/threading/thread_local.h" 142 -#include "base/trace_event/heap_profiler_allocation_context_tracker.h" 143 +// Unsupported in libchrome. 144 +// #include "base/trace_event/heap_profiler_allocation_context_tracker.h" 145 146 namespace base { 147 namespace { 148 @@ -94,8 +95,9 @@ void ThreadIdNameManager::SetName(const std::string& name) { 149 // call GetName(which holds a lock) during the first allocation because it can 150 // cause a deadlock when the first allocation happens in the 151 // ThreadIdNameManager itself when holding the lock. 152 - trace_event::AllocationContextTracker::SetCurrentThreadName( 153 - leaked_str->c_str()); 154 + // Unsupported in libchrome. 155 + // trace_event::AllocationContextTracker::SetCurrentThreadName( 156 + // leaked_str->c_str()); 157 } 158 159 const char* ThreadIdNameManager::GetName(PlatformThreadId id) { 160 --- a/base/memory/shared_memory_posix.cc 161 +++ b/base/memory/shared_memory_posix.cc 162 @@ -16,7 +16,8 @@ 163 #include "base/logging.h" 164 #include "base/macros.h" 165 #include "base/memory/shared_memory_helper.h" 166 -#include "base/memory/shared_memory_tracker.h" 167 +// Unsupported in libchrome. 168 +// #include "base/memory/shared_memory_tracker.h" 169 #include "base/posix/eintr_wrapper.h" 170 #include "base/posix/safe_strerror.h" 171 #include "base/process/process_metrics.h" 172 @@ -302,7 +305,8 @@ bool SharedMemory::MapAt(off_t offset, size_t bytes) { 173 DCHECK_EQ(0U, 174 reinterpret_cast<uintptr_t>(memory_) & 175 (SharedMemory::MAP_MINIMUM_ALIGNMENT - 1)); 176 - SharedMemoryTracker::GetInstance()->IncrementMemoryUsage(*this); 177 + // Unsupported in libchrome. 178 + // SharedMemoryTracker::GetInstance()->IncrementMemoryUsage(*this); 179 } else { 180 memory_ = nullptr; 181 } 182 @@ -314,7 +318,8 @@ bool SharedMemory::Unmap() { 183 if (!memory_) 184 return false; 185 186 - SharedMemoryTracker::GetInstance()->DecrementMemoryUsage(*this); 187 + // Unsupported in libchrome. 188 + // SharedMemoryTracker::GetInstance()->DecrementMemoryUsage(*this); 189 munmap(memory_, mapped_size_); 190 memory_ = nullptr; 191 mapped_size_ = 0; 192