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
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
New command from newer version of gdb "set breakpoint pending"
better handling of the breakpoint while the target is running.
* cdi/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java
* cdi/org/eclipse/cdt/debug/mi/core/cdi/EventManager.java
* cdi/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java
* cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java
* mi/org/eclipse/cdt/debug/mi/core/command/CommandFactory.java
+ mi/org/eclipse/cdt/debug/mi/core/ccommand/MIGDBSetBreakpoinPending.java
Bug when parsing "int *&" corrected.
Change in ICDIReferenceValue.
Use the type in the response of the var-create instead of reissuing -var-info-type
* cdi/org/eclipse/cdt/debug/mi/core/cdi/CdiResource.properties
* cdi/org/eclipse/cdt/debug/mi/core/cdi/SignalManager.java
* cdi/org/eclipse/cdt/debug/mi/core/cdi/ SourceManager.java
* cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Value.java
* cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java
* cdi;/org/eclipse/cdt/debug/mi/core/cdi/model/CharValue.java
* cdi;/org/eclipse/cdt/debug/mi/core/cdi/model/IntergralValue.java
* cdi;/org/eclipse/cdt/debug/mi/core/cdi/model/PointerValue.java
* cdi;/org/eclipse/cdt/debug/mi/core/cdi/model/ReferenceValue.java
* mi/org/eclipse/cdt/debug/mi/core/GDBTypeParser.java
* mi/org/eclipse/cdt/debug/mi/core/MIInferior.java
Base on a patch from Chris Wiebe.
* cdi/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java
* cdi/org/eclipse/cdt/debug/mi/core/cdi/EventManager.java