diff options
author | Greg Clayton <gclayton@apple.com> | 2013-03-19 19:30:33 +0000 |
---|---|---|
committer | Greg Clayton <gclayton@apple.com> | 2013-03-19 19:30:33 +0000 |
commit | 1080fafb69520306c79115d29183ed5be31c1e31 (patch) | |
tree | 60c237289de453cefcfb878ab59d4cccccc2cf8b /lldb/tools/lldb-perf | |
parent | 1fb8ce4002daa75df2d8797d5f28763e58684cf5 (diff) | |
download | bcm5719-llvm-1080fafb69520306c79115d29183ed5be31c1e31.tar.gz bcm5719-llvm-1080fafb69520306c79115d29183ed5be31c1e31.zip |
Update Sketch test case to capture this and use accessors for debugger, target, process and thread.
llvm-svn: 177425
Diffstat (limited to 'lldb/tools/lldb-perf')
-rw-r--r-- | lldb/tools/lldb-perf/darwin/sketch/main.cpp | 77 | ||||
-rw-r--r-- | lldb/tools/lldb-perf/lib/TestCase.h | 23 |
2 files changed, 64 insertions, 36 deletions
diff --git a/lldb/tools/lldb-perf/darwin/sketch/main.cpp b/lldb/tools/lldb-perf/darwin/sketch/main.cpp index dba3b4dc534..f360f096fe7 100644 --- a/lldb/tools/lldb-perf/darwin/sketch/main.cpp +++ b/lldb/tools/lldb-perf/darwin/sketch/main.cpp @@ -24,29 +24,34 @@ class SketchTest : public TestCase { public: SketchTest () : - m_fetch_frames_measurement ([this] (SBProcess process) -> void { - Xcode::FetchFrames (process,false,false); - }, "fetch-frames", "time to dump backtrace for every frame in every thread"), - m_file_line_bp_measurement([] (SBTarget target,const char* file, uint32_t line) -> void { - Xcode::CreateFileLineBreakpoint(target, file, line); - }, "file-line-bkpt", "time to set a breakpoint given a file and line"), - m_fetch_modules_measurement ([] (SBTarget target) -> void { - Xcode::FetchModules(target); - }, "fetch-modules", "time to get info for all modules in the process"), - m_fetch_vars_measurement([this] (SBProcess process, int depth) -> void { - auto threads_count = process.GetNumThreads(); - for (size_t thread_num = 0; thread_num < threads_count; thread_num++) - { - SBThread thread(process.GetThreadAtIndex(thread_num)); - SBFrame frame(thread.GetFrameAtIndex(0)); - Xcode::FetchVariables(frame,depth,GetVerbose()); - - } - }, "fetch-vars", "time to dump variables for the topmost frame in every thread"), - m_run_expr_measurement([this] (SBFrame frame, const char* expr) -> void { - SBValue value(frame.EvaluateExpression(expr, lldb::eDynamicCanRunTarget)); - Xcode::FetchVariable(value,0,GetVerbose()); - }, "run-expr", "time to evaluate an expression and display the result") + m_fetch_frames_measurement ([this] () -> void + { + Xcode::FetchFrames (GetProcess(),false,false); + }, "fetch-frames", "time to dump backtrace for every frame in every thread"), + m_file_line_bp_measurement([this] (const char* file, uint32_t line) -> void + { + Xcode::CreateFileLineBreakpoint(GetTarget(), file, line); + }, "file-line-bkpt", "time to set a breakpoint given a file and line"), + m_fetch_modules_measurement ([this] () -> void + { + Xcode::FetchModules(GetTarget()); + }, "fetch-modules", "time to get info for all modules in the process"), + m_fetch_vars_measurement([this] (int depth) -> void + { + SBProcess process (GetProcess()); + auto threads_count = process.GetNumThreads(); + for (size_t thread_num = 0; thread_num < threads_count; thread_num++) + { + SBThread thread(process.GetThreadAtIndex(thread_num)); + SBFrame frame(thread.GetFrameAtIndex(0)); + Xcode::FetchVariables(frame,depth,GetVerbose()); + } + }, "fetch-vars", "time to dump variables for the topmost frame in every thread"), + m_run_expr_measurement([this] (SBFrame frame, const char* expr) -> void + { + SBValue value(frame.EvaluateExpression(expr, lldb::eDynamicCanRunTarget)); + Xcode::FetchVariable (value, 0, GetVerbose()); + }, "run-expr", "time to evaluate an expression and display the result") {} virtual @@ -57,7 +62,7 @@ public: virtual bool Setup (int argc, const char** argv) { - SetVerbose(true); + //SetVerbose(true); m_app_path.assign(argv[1]); m_doc_path.assign(argv[2]); m_out_path.assign(argv[3]); @@ -69,18 +74,18 @@ public: const char* empty = nullptr; const char* args[] = {file_arg,persist_arg,persist_skip,empty}; SBLaunchInfo launch_info (args); - m_file_line_bp_measurement(m_target, "SKTDocument.m",245); - m_file_line_bp_measurement(m_target, "SKTDocument.m",283); - m_file_line_bp_measurement(m_target, "SKTText.m",326); + m_file_line_bp_measurement("SKTDocument.m",245); + m_file_line_bp_measurement("SKTDocument.m",283); + m_file_line_bp_measurement("SKTText.m",326); return Launch (launch_info); } void DoTest () { - m_fetch_frames_measurement(m_process); - m_fetch_modules_measurement(m_target); - m_fetch_vars_measurement(m_process,1); + m_fetch_frames_measurement(); + m_fetch_modules_measurement(); + m_fetch_vars_measurement(1); } virtual void @@ -91,7 +96,7 @@ public: case 0: { DoTest (); - m_file_line_bp_measurement(m_target, "SKTDocument.m",254); + m_file_line_bp_measurement("SKTDocument.m",254); next_action.Continue(); } break; @@ -191,11 +196,11 @@ public: } private: - Measurement<lldb_perf::TimeGauge, std::function<void(SBProcess)>> m_fetch_frames_measurement; - Measurement<lldb_perf::TimeGauge, std::function<void(SBTarget, const char*, uint32_t)>> m_file_line_bp_measurement; - Measurement<lldb_perf::TimeGauge, std::function<void(SBTarget)>> m_fetch_modules_measurement; - Measurement<lldb_perf::TimeGauge, std::function<void(SBProcess,int)>> m_fetch_vars_measurement; - Measurement<lldb_perf::TimeGauge, std::function<void(SBFrame,const char*)>> m_run_expr_measurement; + Measurement<lldb_perf::TimeGauge, std::function<void()>> m_fetch_frames_measurement; + Measurement<lldb_perf::TimeGauge, std::function<void(const char*, uint32_t)>> m_file_line_bp_measurement; + Measurement<lldb_perf::TimeGauge, std::function<void()>> m_fetch_modules_measurement; + Measurement<lldb_perf::TimeGauge, std::function<void(int)>> m_fetch_vars_measurement; + Measurement<lldb_perf::TimeGauge, std::function<void(SBFrame, const char*)>> m_run_expr_measurement; std::string m_app_path; std::string m_doc_path; diff --git a/lldb/tools/lldb-perf/lib/TestCase.h b/lldb/tools/lldb-perf/lib/TestCase.h index 69d8002f014..3102d371ad6 100644 --- a/lldb/tools/lldb-perf/lib/TestCase.h +++ b/lldb/tools/lldb-perf/lib/TestCase.h @@ -105,6 +105,29 @@ public: static void Run (TestCase& test, int argc, const char** argv); + lldb::SBDebugger & + GetDebugger() + { + return m_debugger; + } + + lldb::SBTarget & + GetTarget() + { + return m_target; + } + + lldb::SBProcess & + GetProcess () + { + return m_process; + } + + lldb::SBThread & + GetThread () + { + return m_thread; + } protected: lldb::SBDebugger m_debugger; lldb::SBTarget m_target; |