Add a StopOthers method to AppleThreadPlanStepThroughObjCTrampoline, don't rely on the setting in the ThreadPlanToCallFunction, since that
gets pushed too late to determine which threads will continue.
<rdar://problem/
13447638>
llvm-svn: 177691
flag_value.GetScalar() = 0; // FIXME - Set to 0 when debugging is done.
dispatch_values.PushValue (flag_value);
+
+ // The step through code might have to fill in the cache, so it is not safe to run only one thread.
+ // So we override the stop_others value passed in to us here:
+ const bool trampoline_stop_others = false;
ret_plan_sp.reset (new AppleThreadPlanStepThroughObjCTrampoline (thread,
this,
dispatch_values,
isa_addr,
sel_addr,
- stop_others));
+ trampoline_stop_others));
if (log)
{
StreamString s;
virtual bool
ShouldStop (Event *event_ptr);
+
+ virtual bool
+ StopOthers()
+ {
+ return m_stop_others;
+ }
// The base class MischiefManaged does some cleanup - so you have to call it
// in your MischiefManaged derived class.