1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

[208071] (performance) Traditional Memory Rendering: unnecessary populateCache

This commit is contained in:
Ted Williams 2008-03-11 04:38:29 +00:00
parent 6261ce70e5
commit 5d2e5b52e0

View file

@ -636,6 +636,26 @@ public class Rendering extends Composite implements IDebugEventSetListener
BigInteger startAddress;
BigInteger endAddress;
public AddressPair(BigInteger start, BigInteger end)
{
startAddress = start;
endAddress = end;
}
@Override
public boolean equals(Object obj) {
if(obj == null)
return false;
if(obj instanceof AddressPair)
{
return ((AddressPair) obj).startAddress.equals(startAddress)
&& ((AddressPair) obj).endAddress.equals(endAddress);
}
return false;
}
}
class MemoryUnit
@ -670,6 +690,8 @@ public class Rendering extends Composite implements IDebugEventSetListener
private boolean fDisposed = false;
private Object fLastQueued = null;
private Vector fQueue = new Vector();
protected MemoryUnit fCache = null;
@ -714,29 +736,25 @@ public class Rendering extends Composite implements IDebugEventSetListener
}
}
private void queueRequest(BigInteger startAddress, BigInteger endAddress)
{
AddressPair pair = new AddressPair();
pair.startAddress = startAddress;
pair.endAddress = endAddress;
synchronized(fQueue)
{
fQueue.addElement(pair);
}
synchronized(this)
{
this.notify();
}
AddressPair pair = new AddressPair(startAddress, endAddress);
if(!pair.equals(fLastQueued))
queue(pair);
}
private void queueRequestArchiveDeltas()
{
ArchiveDeltas archive = new ArchiveDeltas();
queue(archive);
}
private void queue(Object element)
{
synchronized(fQueue)
{
fQueue.addElement(archive);
fQueue.addElement(element);
fLastQueued = element;
}
synchronized(this)
{