- Oct 22, 2011
-
-
Johnny Chen authored
Add benchmarks for expression evaluations (TestExpressionCmd.py) and disassembly (TestDoAttachThenDisassembly.py). An example: [17:45:55] johnny:/Volumes/data/lldb/svn/trunk/test $ ./bench.py 2>&1 | grep -P '^lldb.*benchmark:' lldb startup delay (create fresh target) benchmark: Avg: 0.104274 (Laps: 30, Total Elapsed Time: 3.128214) lldb startup delay (set first breakpoint) benchmark: Avg: 0.102216 (Laps: 30, Total Elapsed Time: 3.066470) lldb frame variable benchmark: Avg: 1.649162 (Laps: 20, Total Elapsed Time: 32.983245) lldb stepping benchmark: Avg: 0.104409 (Laps: 50, Total Elapsed Time: 5.220461) lldb expr cmd benchmark: Avg: 0.206774 (Laps: 25, Total Elapsed Time: 5.169350) lldb disassembly benchmark: Avg: 0.089086 (Laps: 10, Total Elapsed Time: 0.890859) llvm-svn: 142708
-
- Oct 21, 2011
-
-
Johnny Chen authored
Example (start the lldb inferior, break at the Driver::MainLoop() function, and issue 'frame variable'): $ ./dotest.py -v +b -x '-F Driver::MainLoop()' -n -p TestFrameVariableResponse.py ---------------------------------------------------------------------- Collected 1 test 1: test_startup_delay (TestFrameVariableResponse.FrameVariableResponseBench) Test response time for the 'frame variable' command. ... lldb frame variable benchmark: Avg: 1.636897 (Laps: 20, Total Elapsed Time: 32.737944) ok ---------------------------------------------------------------------- Ran 1 test in 65.105s OK llvm-svn: 142678
-
Johnny Chen authored
llvm-svn: 142676
-
Johnny Chen authored
which happen before the listingings of test cases. llvm-svn: 142668
-
Johnny Chen authored
llvm-svn: 142663
-
Johnny Chen authored
llvm-svn: 142629
-
Johnny Chen authored
o create a fresh target; and o set the first breakpoint Example (using lldb to set a breakpoint on lldb's Driver::MainLoop function): ./dotest.py -v +b -x '-F Driver::MainLoop()' -p TestStartupDelays.py ... 1: test_startup_delay (TestStartupDelays.StartupDelaysBench) Test start up delays creating a target and setting a breakpoint. ... lldb startup delays benchmark: create fresh target: Avg: 0.106732 (Laps: 15, Total Elapsed Time: 1.600985) set first breakpoint: Avg: 0.102589 (Laps: 15, Total Elapsed Time: 1.538832) ok llvm-svn: 142628
-
Johnny Chen authored
check that the option arg in '-x opt_arg' does not start with a '-' char. llvm-svn: 142625
-
- Oct 20, 2011
-
-
Johnny Chen authored
llvm-svn: 142602
-
Johnny Chen authored
llvm-svn: 142601
-
Johnny Chen authored
Parameterize the iteration count used when running benchmarks, instead of hard-coded inside the test case. Add a '-y count' option to the test driver for this purpose. An example: $ ./dotest.py -v -y 25 +b -p TestDisassembly.py ... ---------------------------------------------------------------------- Collected 2 tests 1: test_run_gdb_then_lldb (TestDisassembly.DisassembleDriverMainLoop) Test disassembly on a large function with lldb vs. gdb. ... gdb benchmark: Avg: 0.226305 (Laps: 25, Total Elapsed Time: 5.657614) lldb benchmark: Avg: 0.113864 (Laps: 25, Total Elapsed Time: 2.846606) lldb_avg/gdb_avg: 0.503146 ok 2: test_run_lldb_then_gdb (TestDisassembly.DisassembleDriverMainLoop) Test disassembly on a large function with lldb vs. gdb. ... lldb benchmark: Avg: 0.113008 (Laps: 25, Total Elapsed Time: 2.825201) gdb benchmark: Avg: 0.225240 (Laps: 25, Total Elapsed Time: 5.631001) lldb_avg/gdb_avg: 0.501723 ok ---------------------------------------------------------------------- Ran 2 tests in 41.346s OK llvm-svn: 142598
-
Johnny Chen authored
llvm-svn: 142595
-
Johnny Chen authored
llvm-svn: 142594
-
Johnny Chen authored
bring the debugger to the desired state. This patch makes BenchBase inherit from TestBase, instead of Base (which is a parent class of TestBase). This is so that we can also enjoy the Pythonic way of bringing the lldb debugger to a desired state before running the benchmark and collect statistics. llvm-svn: 142562
-
Johnny Chen authored
Missed this file when doing r142543 to temporarily relax the expected substrings for watchpoint creation output. llvm-svn: 142549
-
- Oct 19, 2011
-
-
Johnny Chen authored
due a bug in the decl file info of a global variable emitted by clang. llvm-svn: 142543
-
Johnny Chen authored
child=None, child_prompt=None, use_cmd_api=False By default, expect a pexpect spawned child and child prompt to be supplied (use_cmd_api=False). If use_cmd_api is true, ignore the child and child prompt and use self.runCmd() to run the hooks one by one. Modify existing client to reflect the change. llvm-svn: 142532
-
Johnny Chen authored
llvm-svn: 142469
-
- Oct 18, 2011
-
-
Johnny Chen authored
llvm-svn: 142291
-
- Oct 17, 2011
-
-
Enrico Granata authored
this patch introduces a new command script import command which takes as input a filename for a Python script and imports the module contained in that file. the containing directory is added to the Python path such that dependencies are honored. also, the module may contain an __lldb_init_module(debugger,dict) function, which gets called after importing, and which can somehow initialize the module's interaction with lldb llvm-svn: 142283
-
Johnny Chen authored
llvm-svn: 142242
-
Johnny Chen authored
llvm-svn: 142241
-
Johnny Chen authored
watchpoint modify -c 'global==5' modifies the last created watchpoint so that the condition expression is evaluated at the stop point to decide whether we should proceed with the stopping. Also add SBWatchpont::SetCondition(const char *condition) to set condition programmatically. Test cases to come later. llvm-svn: 142227
-
- Oct 14, 2011
-
-
Johnny Chen authored
llvm-svn: 141979
-
Johnny Chen authored
llvm-svn: 141965
-
Johnny Chen authored
llvm-svn: 141963
-
Johnny Chen authored
lldb::SBWatchpoint SBTarget::WatchAddress (lldb::addr_t addr, size_t size, bool read, bool write) llvm-svn: 141931
-
Johnny Chen authored
llvm-svn: 141928
-
Johnny Chen authored
a watchpoint for either the variable encapsulated by SBValue (Watch) or the pointee encapsulated by SBValue (WatchPointee). Removed SBFrame::WatchValue() and SBFrame::WatchLocation() API as a result of that. Modified the watchpoint related test suite to reflect the change. Plus replacing WatchpointLocation with Watchpoint throughout the code base. There are still cleanups to be dome. This patch passes the whole test suite. Check it in so that we aggressively catch regressions. llvm-svn: 141925
-
- Oct 12, 2011
-
-
Johnny Chen authored
llvm-svn: 141790
-
Johnny Chen authored
to be able to specify the runhook(s) to bring the debug session to a certain state before running the benchmarking logic. An example, ./dotest.py -v -t +b -k 'process attach -n Mail' -k 'thread backtrace all' -p TestRunHooksThenSteppings.py spawns lldb, attaches to the 'Mail' application, does a backtrace for all threads, and then runs the benchmark to step the inferior multiple times. llvm-svn: 141740
-
- Oct 11, 2011
-
-
Jim Ingham authored
classes & namespaces. llvm-svn: 141629
-
Johnny Chen authored
for the debugger to execute for certain kind of tests (for example, a benchmark). A list of runhooks can be used to steer the debugger into the desired state before more actions can be performed. llvm-svn: 141626
-
Johnny Chen authored
Recent changes in lldb inlining robustness seem to have fixed it. llvm-svn: 141595
-
Johnny Chen authored
and the breakpoint specification for the benchmark purpose. This is used by TestSteppingSpeed.py to benchmark the lldb stepping speed. Without '-e' and 'x' specified, the test defaults to run the built lldb against itself and stopped on Driver::MainLoop, then stepping for 50 times. rdar://problem/7511193 llvm-svn: 141584
-
- Oct 08, 2011
-
-
Jim Ingham authored
llvm-svn: 141468
-
Johnny Chen authored
llvm-svn: 141443
-
Jim Ingham authored
SymbolFIle (it was done mostly in the BreakpointResolverName resolver before.) Then tailor our searches to the way the indexed maps are laid out. This removes a bunch of test case failures using indexed dSYM's. llvm-svn: 141428
-
- Oct 07, 2011
-
-
Johnny Chen authored
If we spawn an lldb process for test (via pexpect), do not load the init file unless told otherwise. Set up self.lldbOption to be "--no-lldbibit" unless env variable NO_LLDBIBIT is defined and equals "NO". Also add "-nx" to gdb spawned. llvm-svn: 141384
-
Jim Ingham authored
llvm-svn: 141375
-