Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoreutarass2009-09-09 19:27:00 +0000
committereutarass2009-09-09 19:27:00 +0000
commit71c37b63bb3a26a87491dc1f4de4985caeee76aa (patch)
treea86a494a68d46a7ce956192f27ba70fd1cf6bc66 /plugins/org.eclipse.tm.tcf.dsf
parent7ab7f9d65f26dba4930d0f3279e8c45fdfc5d89f (diff)
downloadorg.eclipse.tcf-71c37b63bb3a26a87491dc1f4de4985caeee76aa.tar.gz
org.eclipse.tcf-71c37b63bb3a26a87491dc1f4de4985caeee76aa.tar.xz
org.eclipse.tcf-71c37b63bb3a26a87491dc1f4de4985caeee76aa.zip
TCF Debugger: multiple changed in debug model in order to improve design, performance and usability
Diffstat (limited to 'plugins/org.eclipse.tm.tcf.dsf')
-rw-r--r--plugins/org.eclipse.tm.tcf.dsf/src/org/eclipse/tm/internal/tcf/dsf/launch/TCFDSFSourceLookupParticipant.java10
-rw-r--r--plugins/org.eclipse.tm.tcf.dsf/src/org/eclipse/tm/internal/tcf/dsf/services/TCFDSFExecutionDMC.java5
-rw-r--r--plugins/org.eclipse.tm.tcf.dsf/src/org/eclipse/tm/internal/tcf/dsf/services/TCFDSFStack.java5
3 files changed, 4 insertions, 16 deletions
diff --git a/plugins/org.eclipse.tm.tcf.dsf/src/org/eclipse/tm/internal/tcf/dsf/launch/TCFDSFSourceLookupParticipant.java b/plugins/org.eclipse.tm.tcf.dsf/src/org/eclipse/tm/internal/tcf/dsf/launch/TCFDSFSourceLookupParticipant.java
index 136a95efc..f3ff43613 100644
--- a/plugins/org.eclipse.tm.tcf.dsf/src/org/eclipse/tm/internal/tcf/dsf/launch/TCFDSFSourceLookupParticipant.java
+++ b/plugins/org.eclipse.tm.tcf.dsf/src/org/eclipse/tm/internal/tcf/dsf/launch/TCFDSFSourceLookupParticipant.java
@@ -30,14 +30,8 @@ public class TCFDSFSourceLookupParticipant extends TCFSourceLookupParticipant {
Protocol.invokeLater(new Runnable() {
public void run() {
TCFFrameDMC dmc = (TCFFrameDMC)object;
- if (!dmc.context_cache.validate()) {
- dmc.context_cache.wait(this);
- return;
- }
- if (!dmc.source_cache.validate()) {
- dmc.source_cache.wait(this);
- return;
- }
+ if (!dmc.context_cache.validate(this)) return;
+ if (!dmc.source_cache.validate(this)) return;
synchronized (res) {
TCFSourceRef ref = dmc.source_cache.getData();
if (ref != null) res[0] = ref.area;
diff --git a/plugins/org.eclipse.tm.tcf.dsf/src/org/eclipse/tm/internal/tcf/dsf/services/TCFDSFExecutionDMC.java b/plugins/org.eclipse.tm.tcf.dsf/src/org/eclipse/tm/internal/tcf/dsf/services/TCFDSFExecutionDMC.java
index 7cf0d0731..fd3b85310 100644
--- a/plugins/org.eclipse.tm.tcf.dsf/src/org/eclipse/tm/internal/tcf/dsf/services/TCFDSFExecutionDMC.java
+++ b/plugins/org.eclipse.tm.tcf.dsf/src/org/eclipse/tm/internal/tcf/dsf/services/TCFDSFExecutionDMC.java
@@ -109,10 +109,7 @@ public abstract class TCFDSFExecutionDMC extends AbstractDMContext
@Override
public boolean startDataRetrieval() {
assert command == null;
- if (!run_control_context_cache.validate()) {
- run_control_state_cache.wait(this);
- return false;
- }
+ if (!run_control_context_cache.validate(this)) return false;
RunControlContext c = run_control_context_cache.getData();
if (c == null || !c.hasState()) {
reset(null);
diff --git a/plugins/org.eclipse.tm.tcf.dsf/src/org/eclipse/tm/internal/tcf/dsf/services/TCFDSFStack.java b/plugins/org.eclipse.tm.tcf.dsf/src/org/eclipse/tm/internal/tcf/dsf/services/TCFDSFStack.java
index f281fdb18..c7e10f766 100644
--- a/plugins/org.eclipse.tm.tcf.dsf/src/org/eclipse/tm/internal/tcf/dsf/services/TCFDSFStack.java
+++ b/plugins/org.eclipse.tm.tcf.dsf/src/org/eclipse/tm/internal/tcf/dsf/services/TCFDSFStack.java
@@ -81,10 +81,7 @@ public class TCFDSFStack extends AbstractDsfService implements IStack {
@Override
protected boolean startDataRetrieval() {
- if (!context_cache.validate()) {
- context_cache.wait(this);
- return false;
- }
+ if (!context_cache.validate(this)) return false;
IStackTrace.StackTraceContext ctx = context_cache.getData();
Number n = ctx.getInstructionAddress();
BigInteger a = null;

Back to the top