Improve performance by caching the type result on the frame
and on the RegisterManager. The patch is originally from Chris Wiebe
with modifications.
* cdi/org/eclipse/cdt/debug/mi/core/cdi/RegisterManager.java
* cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Register.java
* cdi/org/eclipse/cdt/debug/mi/core/cdi/model/StackFrame.java
* cdi/org/eclipse/cdt/debug/mi/core/cdi/model/VariableDescriptor.java
Speed improvement after exchanging with the HP folks.
HP has apps having hundred of local variable running on machine
with hundred of registers. The latency of the command "-var-create"
is too taxing. So we take the approach of not waiting for post command
MISession.postCommand(MIVarCreate, -1) and synchronize when we need the
mi varObj.
The next step will be to cache the types, since sending ptype/whatis
is also time consuming.
* cdi/org/eclipse/cdt/debug/mi/core/cdi/ExpressionManager.java
* cdi/org/eclipse/cdt/debug/mi/core/cdi/RegisterManager.java
* cdi/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java
* cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Argument.java
* cdi/org/eclipse/cdt/debug/mi/core/cdi/model/GlobalVariable.java
* cdi/org/eclipse/cdt/debug/mi/core/cdi/model/LocalVariable.java
* cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Register.java
* cdi/org/eclipse/cdt/debug/mi/core/cdi/model/ThreadStorage.java
* cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java
* mi/org/eclipse/cdt/debug/mi/core/RxThread.java
ClastCastException being throw in CThread.getAdapter(IRunToLine.class);
Patch solution to ignore the exception.
* src/org/eclipse/cdt/debug/internal/core/model/CThread.java
GDB has now four different version of MI, so it has become
important to give the user the choice of the version.
* mi/org/eclipse/cdt/debug/mi/core/MISession.java
* mi/org/eclipse/cdt/debug/mi/core/RxThread.java
* mi/org/eclipse/cdt/debug/mi/core/command/CommandFactory.java
* mi/org/eclipse/cdt/debug/mi/core/command/MICommand.java
+ mi/org/eclipse/cdt/debug/mi/core/command/MIVersion.java
* src/org/eclipse/cdt/debug/mi/core/GDBCDIDebugger.java
* src/org/eclipse/cdt/debug/mi/core/GDBDebugger.java
* src/org/eclipse/cdt/debug/mi/core/GDBServerCDIDebugger.java
* src/org/eclipse/cdt/debug/mi/core/MIPlugin.java
* src/org/eclipse/cdt/debug/mi/core/MIProcessAdapter.java