| #
63c5c2a0 |
| 19-Jul-2013 |
Jim Ingham <[email protected]> |
Turn off fast stepping for ARM till the MC's MayAffectControlFlow gets more accurate.
rdar://problem/14488761
llvm-svn: 186646
|
|
Revision tags: llvmorg-3.3.1-rc1, llvmorg-3.3.0, llvmorg-3.3.0-rc3, llvmorg-3.3.0-rc2, llvmorg-3.3.0-rc1 |
|
| #
5160ce5c |
| 27-Mar-2013 |
Greg Clayton <[email protected]> |
<rdar://problem/13521159>
LLDB is crashing when logging is enabled from lldb-perf-clang. This has to do with the global destructor chain as the process and its threads are being torn down.
All logg
<rdar://problem/13521159>
LLDB is crashing when logging is enabled from lldb-perf-clang. This has to do with the global destructor chain as the process and its threads are being torn down.
All logging channels now make one and only one instance that is kept in a global pointer which is never freed. This guarantees that logging can correctly continue as the process tears itself down.
llvm-svn: 178191
show more ...
|
| #
17d023f6 |
| 13-Mar-2013 |
Jim Ingham <[email protected]> |
Add a target setting (target.use-fast-stepping) to control using the "run to next branch" stepping algorithm.
llvm-svn: 176958
|
| #
0c61dee1 |
| 13-Mar-2013 |
Jim Ingham <[email protected]> |
The step by running from branch to branch pretty much works with this checkin (at least for x86_64) but is still turned off, it needs more qualification. If you want to play with it, change the init
The step by running from branch to branch pretty much works with this checkin (at least for x86_64) but is still turned off, it needs more qualification. If you want to play with it, change the initialization of m_use_fast_step to true.
llvm-svn: 176923
show more ...
|
| #
0f063ba6 |
| 02-Mar-2013 |
Jim Ingham <[email protected]> |
Convert from the C-based LLVM Disassembler shim to the full MC Disassembler API's. Calculate "can branch" using the MC API's rather than our hand-rolled regex'es. As extra credit, allow setting the
Convert from the C-based LLVM Disassembler shim to the full MC Disassembler API's. Calculate "can branch" using the MC API's rather than our hand-rolled regex'es. As extra credit, allow setting the disassembly flavor for x86 based architectures to intel or att.
<rdar://problem/11319574> <rdar://problem/9329275>
llvm-svn: 176392
show more ...
|
| #
2995077d |
| 26-Jan-2013 |
Jim Ingham <[email protected]> |
Add "target.process.stop-on-shared-library-events" setting, and make it work. Add the ability to give breakpoints a "kind" string, and have the StopInfoBreakpoint print that in the brief description
Add "target.process.stop-on-shared-library-events" setting, and make it work. Add the ability to give breakpoints a "kind" string, and have the StopInfoBreakpoint print that in the brief description if set. Also print the kind - if set - in the breakpoint listing. Give kinds to a bunch of the internal breakpoints. We were deleting the Mac OS X dynamic loader breakpoint as though the id we had stored away was a breakpoint site ID, but in fact it was a breakpoint id, so we never actually deleted it. Fixed that.
llvm-svn: 173555
show more ...
|
|
Revision tags: llvmorg-3.2.0, llvmorg-3.2.0-rc3, llvmorg-3.2.0-rc2 |
|
| #
d01b2953 |
| 29-Nov-2012 |
Daniel Malea <[email protected]> |
Resolve printf formatting warnings on Linux: - use macros from inttypes.h for format strings instead of OS-specific types
Patch from Matt Kopec!
llvm-svn: 168945
|
|
Revision tags: llvmorg-3.2.0-rc1 |
|
| #
927bfa3f |
| 10-Sep-2012 |
Jim Ingham <[email protected]> |
Shortcut ThreadPlanStepRange::MischiefManaged - if we have pushed new plans and they are not done, then we aren't done either.
<rdar://problem/12259124>
llvm-svn: 163572
|
|
Revision tags: llvmorg-3.1.0, llvmorg-3.1.0-rc3 |
|
| #
64e7ead1 |
| 03-May-2012 |
Jim Ingham <[email protected]> |
Clean up the usage of "MasterPlan" status in ThreadPlans. Only user-initiated plans should be MasterPlans that want to stay on the plan stack. So make all plans NOT MasterPlans by default and then
Clean up the usage of "MasterPlan" status in ThreadPlans. Only user-initiated plans should be MasterPlans that want to stay on the plan stack. So make all plans NOT MasterPlans by default and then have the SB API's and the CommandObjectThread step commands set this explicitly.
Also added a "clean up" phase to the Thread::ShouldStop so that if plans get stranded on the stack, we can remove them. This is done by adding an IsPlanStale method to the thread plans, and if the plan can know that it is no longer relevant, it returns true, and the plan and its sub-plans will get discarded.
llvm-svn: 156101
show more ...
|
|
Revision tags: llvmorg-3.1.0-rc2 |
|
| #
fbbfe6ec |
| 01-May-2012 |
Jim Ingham <[email protected]> |
Fix reporting of stop reasons when the StepOver & StepIn plans stop because of a crash or breakpoint. Added the ability for a plan to say it is done but doesn't want to be the reason for the stop.
Fix reporting of stop reasons when the StepOver & StepIn plans stop because of a crash or breakpoint. Added the ability for a plan to say it is done but doesn't want to be the reason for the stop.
llvm-svn: 155927
show more ...
|
| #
6d66ce67 |
| 20-Apr-2012 |
Jim Ingham <[email protected]> |
Make sure the "synchronous breakpoint callbacks" get called before the thread plan logic gets invoked, and if they ask to continue that should short-circuit the thread plans for that thread. Also ad
Make sure the "synchronous breakpoint callbacks" get called before the thread plan logic gets invoked, and if they ask to continue that should short-circuit the thread plans for that thread. Also add a bit more explanation for how this machinery is supposed to work. Also pass eExecutionPolicyOnlyWhenNeeded, not eExecutionPolicyAlways when evaluating the expression for breakpoint conditions.
llvm-svn: 155236
show more ...
|
|
Revision tags: llvmorg-3.1.0-rc1 |
|
| #
564d8bc2 |
| 09-Mar-2012 |
Jim Ingham <[email protected]> |
First stage of implementing step by "run to next branch". Doesn't work yet, is turned off. <rdar://problem/10975912>
llvm-svn: 152376
|
| #
e7612134 |
| 07-Mar-2012 |
Greg Clayton <[email protected]> |
<rdar://problem/10997402>
This fix really needed to happen as a previous fix I had submitted for calculating symbol sizes made many symbols appear to have zero size since the function that was calcu
<rdar://problem/10997402>
This fix really needed to happen as a previous fix I had submitted for calculating symbol sizes made many symbols appear to have zero size since the function that was calculating the symbol size was calling another function that would cause the calculation to happen again. This resulted in some symbols having zero size when they shouldn't. This could then cause infinite stack traces and many other side affects.
llvm-svn: 152244
show more ...
|
| #
b5c0d1cc |
| 01-Mar-2012 |
Jim Ingham <[email protected]> |
Convert the thread plans over from using the stack count to do their logic to using StackID's. This should be more efficient.
llvm-svn: 151780
|
| #
1ac04c30 |
| 21-Feb-2012 |
Greg Clayton <[email protected]> |
Thread hardening part 3. Now lldb_private::Thread objects have std::weak_ptr objects for the backlink to the lldb_private::Process. The issues we were running into before was someone was holding onto
Thread hardening part 3. Now lldb_private::Thread objects have std::weak_ptr objects for the backlink to the lldb_private::Process. The issues we were running into before was someone was holding onto a shared pointer to a lldb_private::Thread for too long, and the lldb_private::Process parent object would get destroyed and the lldb_private::Thread had a "Process &m_process" member which would just treat whatever memory that used to be a Process as a valid Process. This was mostly happening for lldb_private::StackFrame objects that had a member like "Thread &m_thread". So this completes the internal strong/weak changes.
Documented the ExecutionContext and ExecutionContextRef classes so that our LLDB developers can understand when and where to use ExecutionContext and ExecutionContextRef objects.
llvm-svn: 151009
show more ...
|
| #
25f66700 |
| 03-Dec-2011 |
Jim Ingham <[email protected]> |
Make the ThreadPlanStepThrough set a backstop breakpoint on the return address from the function it is being asked to step through, so that even if we get the trampoline target wrong (for instance) w
Make the ThreadPlanStepThrough set a backstop breakpoint on the return address from the function it is being asked to step through, so that even if we get the trampoline target wrong (for instance) we will still not lose control.
The other fix here is to tighten up the handling of the case where the current plan doesn't explain the stop, but a plan above us does. In that case, if the plan that does explain the stop says it is done, we need to clean up the plans below it and continue on with our processing.
llvm-svn: 145740
show more ...
|
|
Revision tags: llvmorg-3.0.0, llvmorg-3.0.0-rc4, llvmorg-3.0.0-rc3, llvmorg-3.0.0-rc2, llvmorg-3.0.0-rc1 |
|
| #
c4c9fedc |
| 15-Oct-2011 |
Jim Ingham <[email protected]> |
Make the step range plans capable of supporting multiple ranges. Also make their constructors public, there isn't any good reason why you shouldn't be able to make these plans.
llvm-svn: 142026
|
| #
843bfb2c |
| 23-Sep-2011 |
Jim Ingham <[email protected]> |
If stepping takes us from the line range we were stepping through into the MIDDLE of another line, then continue till we get to the real beginning of a line. This is mostly to work around debug info
If stepping takes us from the line range we were stepping through into the MIDDLE of another line, then continue till we get to the real beginning of a line. This is mostly to work around debug information bugs.
llvm-svn: 140416
show more ...
|
|
Revision tags: llvmorg-2.9.0, llvmorg-2.9.0-rc3, llvmorg-2.9.0-rc2, llvmorg-2.9.0-rc1 |
|
| #
242e0ad7 |
| 08-Feb-2011 |
Jim Ingham <[email protected]> |
Formatting.
llvm-svn: 125076
|
| #
411c0ce8 |
| 18-Jan-2011 |
Greg Clayton <[email protected]> |
Fixed incorrect logging printf (patch from Stephen Wilson).
llvm-svn: 123780
|
| #
06e827cc |
| 11-Nov-2010 |
Jim Ingham <[email protected]> |
Add ThreadPlanTracer class to allow instruction step tracing of execution. Also changed eSetVarTypeBool to eSetVarTypeBoolean to make it consistent with eArgTypeBoolean.
llvm-svn: 118824
|
| #
2d4edfbc |
| 06-Nov-2010 |
Greg Clayton <[email protected]> |
Modified all logging calls to hand out shared pointers to make sure we don't crash if we disable logging when some code already has a copy of the logger. Prior to this fix, logs were handed out as po
Modified all logging calls to hand out shared pointers to make sure we don't crash if we disable logging when some code already has a copy of the logger. Prior to this fix, logs were handed out as pointers and if they were held onto while a log got disabled, then it could cause a crash. Now all logs are handed out as shared pointers so this problem shouldn't happen anymore. We are also using our new shared pointers that put the shared pointer count and the object into the same allocation for a tad better performance.
llvm-svn: 118319
show more ...
|
| #
b15bfc75 |
| 20-Oct-2010 |
Jim Ingham <[email protected]> |
Don't cache the public stop reason, since it can change as plan completion gets processed. That means GetStopReason needs to return a shared pointer, not a pointer to the thread's cached version. A
Don't cache the public stop reason, since it can change as plan completion gets processed. That means GetStopReason needs to return a shared pointer, not a pointer to the thread's cached version. Also allow the thread plans to get and set the thread private stop reason - that is usually more appropriate for the logic the thread plans need to do.
llvm-svn: 116892
show more ...
|
|
Revision tags: llvmorg-2.8.0, llvmorg-2.8.0-rc3, llvmorg-2.8.0-rc2 |
|
| #
7ce490c6 |
| 16-Sep-2010 |
Jim Ingham <[email protected]> |
Step past prologues when we step into functions.
llvm-svn: 114055
|
| #
f5e56de0 |
| 14-Sep-2010 |
Greg Clayton <[email protected]> |
Moved the section load list up into the target so we can use the target to symbolicate things without the need for a valid process subclass.
llvm-svn: 113895
|