Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoreutarass2011-06-16 19:28:24 +0000
committereutarass2011-06-16 19:28:24 +0000
commitc9aa77c6773820fa3a58aa6215e20046595627f8 (patch)
treee55bef0e6ae68459c44852003f24ffb06d39079c /plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf
parentdaf21926618ae286e688aa7cbc53fbd8ad25fcad (diff)
downloadorg.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.java10
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();

Back to the top