diff options
author | eutarass | 2011-06-16 19:28:24 +0000 |
---|---|---|
committer | eutarass | 2011-06-16 19:28:24 +0000 |
commit | c9aa77c6773820fa3a58aa6215e20046595627f8 (patch) | |
tree | e55bef0e6ae68459c44852003f24ffb06d39079c /plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf | |
parent | daf21926618ae286e688aa7cbc53fbd8ad25fcad (diff) | |
download | org.eclipse.tcf-c9aa77c6773820fa3a58aa6215e20046595627f8.tar.gz org.eclipse.tcf-c9aa77c6773820fa3a58aa6215e20046595627f8.tar.xz org.eclipse.tcf-c9aa77c6773820fa3a58aa6215e20046595627f8.zip |
TCF Debugger: optimization: no need to flush context state data on context changed events if the context is not suspended.
Diffstat (limited to 'plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf')
-rw-r--r-- | plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeExecContext.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeExecContext.java b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeExecContext.java index 1bceb6eef..ede0e4474 100644 --- a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeExecContext.java +++ b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeExecContext.java @@ -1110,7 +1110,10 @@ public class TCFNodeExecContext extends TCFNode implements ISymbolOwner { run_context.reset(context); memory_node.reset(); signal_mask.reset(); - state.reset(); + if (state.isValid()) { + TCFContextState s = state.getData(); + if (s == null || s.is_suspended) state.reset(); + } children_stack.reset(); children_stack.onSourceMappingChange(); children_regs.reset(); @@ -1263,7 +1266,10 @@ public class TCFNodeExecContext extends TCFNode implements ISymbolOwner { } void onRegisterValueChanged() { - state.reset(); + if (state.isValid()) { + TCFContextState s = state.getData(); + if (s == null || s.is_suspended) state.reset(); + } address.reset(); children_stack.onRegisterValueChanged(); postContentChangedDelta(); |