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
Refactor the class extending CLICommand to CLIXXXX for more clarity.
Pass the MIVersion in all of the class extending MICommand, this is
necessary some command option will not be accepted depending on the version.
Too much file to enumerate.
* ...
We should consider a "^done" like a suspended only for CLICommands, for example:
(gdb) run
^done
(gdb)
* mi/org/eclipse/cdt/debug/mi/core/RxThread.java
Fix for 87230: base on Jayaprakash ideas/patch
On HP statck-list-frames answer contain not kosher strings
* mi/org/eclipse/cdt/debug/mi/core/output/MIParser.java
Part of Fix for PR 84165
We check in the expression is a number and
add a "*" for address watchpoint
* cdi/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java