diff options
author | Eugene Tarassov | 2021-06-17 18:15:58 +0000 |
---|---|---|
committer | Eugene Tarassov | 2021-06-17 18:32:49 +0000 |
commit | ed411c80363207c58c783b29af27935489f487dc (patch) | |
tree | 854336c02729e31253a4b0f977146a506ff39aa0 | |
parent | de771e84782677c7953a39b907d607754b2c33a5 (diff) | |
download | org.eclipse.tcf-1.7.tar.gz org.eclipse.tcf-1.7.tar.xz org.eclipse.tcf-1.7.zip |
-rw-r--r-- | docs/TCF Service - Expressions.html | 7 | ||||
-rw-r--r-- | docs/TCF Service - Line Numbers.html | 34 | ||||
-rw-r--r-- | docs/TCF Service - Memory Map.html | 4 | ||||
-rw-r--r-- | docs/TCF Service - Run Control.html | 48 | ||||
-rw-r--r-- | plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IRunControl.java | 2 |
5 files changed, 94 insertions, 1 deletions
diff --git a/docs/TCF Service - Expressions.html b/docs/TCF Service - Expressions.html index 4e67ddb13..cf3d70f20 100644 --- a/docs/TCF Service - Expressions.html +++ b/docs/TCF Service - Expressions.html @@ -340,6 +340,12 @@ R • <i><token></i> • <i><error report></i> • String getTypeID(); <font color=#3F5FBF>/** + * Get expression type class. + * <font color=#7F9FBF>@return</font> type class. + */</font> + ISymbols.TypeClass getTypeClass(); + + <font color=#3F5FBF>/** * Check if the expression can be assigned a new value. * <font color=#7F9FBF>@return</font> true if can assign. */</font> @@ -371,6 +377,7 @@ R • <i><token></i> • <i><error report></i> • PROP_BITS = "Bits", PROP_SIZE = "Size", PROP_TYPE = "Type", + PROP_CLASS = "Class", PROP_CAN_ASSIGN = "CanAssign", PROP_HAS_FUNC_CALL = "HasFuncCall"; diff --git a/docs/TCF Service - Line Numbers.html b/docs/TCF Service - Line Numbers.html index fed09b48e..fb909a204 100644 --- a/docs/TCF Service - Line Numbers.html +++ b/docs/TCF Service - Line Numbers.html @@ -181,6 +181,7 @@ R • <i><token></i> • <i><error report></i> • <i><a <font color=#7F0055>public final int</font> end_column; <font color=#7F0055>public final</font> Number start_address; <font color=#7F0055>public final</font> Number end_address; + <font color=#7F0055>public final</font> Number next_stmt_address; <font color=#7F0055>public final int</font> isa; <font color=#7F0055>public final</font> <font color=#7F0055>boolean</font> is_statement; <font color=#7F0055>public final</font> <font color=#7F0055>boolean</font> basic_block; @@ -199,6 +200,30 @@ R • <i><token></i> • <i><error report></i> • <i><a <font color=#7F0055>this</font>.end_column = end_column; <font color=#7F0055>this</font>.start_address = start_address; <font color=#7F0055>this</font>.end_address = end_address; + <font color=#7F0055>this</font>.next_stmt_address = null; + <font color=#7F0055>this</font>.isa = isa; + <font color=#7F0055>this</font>.is_statement = is_statement; + <font color=#7F0055>this</font>.basic_block = basic_block; + <font color=#7F0055>this</font>.prologue_end = prologue_end; + <font color=#7F0055>this</font>.epilogue_begin = epilogue_begin; + } + + <font color=#3F5FBF>/** + * <font color=#7F9FBF>@since</font> 1.7 + */</font> + <font color=#7F0055>public</font> CodeArea(String directory, String file, <font color=#7F0055>int</font> start_line, <font color=#7F0055>int</font> start_column, + <font color=#7F0055>int</font> end_line, <font color=#7F0055>int</font> end_column, Number start_address, Number end_address, Number next_stmt_address, <font color=#7F0055>int</font> isa, + <font color=#7F0055>boolean</font> is_statement, <font color=#7F0055>boolean</font> basic_block, + <font color=#7F0055>boolean</font> prologue_end, <font color=#7F0055>boolean</font> epilogue_begin) { + <font color=#7F0055>this</font>.directory = directory; + <font color=#7F0055>this</font>.file = file; + <font color=#7F0055>this</font>.start_line = start_line; + <font color=#7F0055>this</font>.start_column = start_column; + <font color=#7F0055>this</font>.end_line = end_line; + <font color=#7F0055>this</font>.end_column = end_column; + <font color=#7F0055>this</font>.start_address = start_address; + <font color=#7F0055>this</font>.end_address = end_address; + <font color=#7F0055>this</font>.next_stmt_address = next_stmt_address; <font color=#7F0055>this</font>.isa = isa; <font color=#7F0055>this</font>.is_statement = is_statement; <font color=#7F0055>this</font>.basic_block = basic_block; @@ -215,7 +240,7 @@ R • <i><token></i> • <i><error report></i> • <i><a getInteger(area, "SLine", 0), getInteger(area, "SCol", 0), getInteger(area, "ELine", 0), getInteger(area, "ECol", 0), (Number)area.get("SAddr"), (Number)area.get("EAddr"), - getInteger(area, "ISA", 0), + (Number)area.get("NStmtAddr"), getInteger(area, "ISA", 0), getBoolean(area, "IsStmt"), getBoolean(area, "BasicBlock"), getBoolean(area, "PrologueEnd"), getBoolean(area, "EpilogueBegin")); } @@ -256,6 +281,8 @@ R • <i><token></i> • <i><error report></i> • <i><a if (start_address == null && a.start_address != null) return false; if (end_address != null && !end_address.equals(a.end_address)) return false; if (end_address == null && a.end_address != null) return false; + if (next_stmt_address != null && !next_stmt_address.equals(a.next_stmt_address)) return false; + if (next_stmt_address == null && a.next_stmt_address != null) return false; if (file != null && !file.equals(a.file)) return false; if (file == null && a.file != null) return false; if (directory != null && !directory.equals(a.directory)) return false; @@ -309,6 +336,11 @@ R • <i><token></i> • <i><error report></i> • <i><a else { bf.append('0'); } + if (next_stmt_address != null) { + bf.append(",next stmt "); + bf.append("0x"); + bf.append(JSON.toBigInteger(next_stmt_address).toString(16)); + } if (isa != 0) { bf.append(",isa "); bf.append(isa); diff --git a/docs/TCF Service - Memory Map.html b/docs/TCF Service - Memory Map.html index c59d7d13b..5f482e8d9 100644 --- a/docs/TCF Service - Memory Map.html +++ b/docs/TCF Service - Memory Map.html @@ -157,6 +157,10 @@ E • MemoryMap • changed • <i><string: context ID></i> &bull <font color=#3F5FBF>/** Number, region address in memory */</font> <font color=#7F0055>static final</font> String PROP_ADDRESS = "Addr"; + <font color=#3F5FBF>/** Number, region "base address" + * <font color=#7F9FBF>@since</font> 1.7 */</font> + <font color=#7F0055>static final</font> String PROP_BASE_ADDRESS = "BaseAddress"; + <font color=#3F5FBF>/** Number, region size */</font> <font color=#7F0055>static final</font> String PROP_SIZE = "Size"; diff --git a/docs/TCF Service - Run Control.html b/docs/TCF Service - Run Control.html index 0b434bc06..36c65642f 100644 --- a/docs/TCF Service - Run Control.html +++ b/docs/TCF Service - Run Control.html @@ -18,6 +18,7 @@ <li><a href='#CmdSuspend'>Suspend</a> <li><a href='#CmdResume'>Resume</a> <li><a href='#CmdGetState'>Get State</a> + <li><a href='#CmdGetMinState'>Get Min State</a> <li><a href='#CmdTerminate'>Terminate</a> <li><a href='#CmdDetach'>Detach</a> </ul> @@ -441,6 +442,29 @@ Definition of state properties depends on a target. Predefined properties are:</ human readable string to be used to decorate context presentation in UI </ul> +<h3><a name='CmdGetMinState'>Get Min State</a></h3> + +<pre><b><font face="Courier New" size=2 color=#333399> +C • <i><token></i> • RunControl • getMinState • <i><string: context ID></i> • +</font></b></pre> + +<p>This command is meant as a "minimal" alternative to the more costly +<a href='#CmdGetState'>Get State</a> command. Get Min State can be faster, because it does not need to read program counter from the target. +It can be used as an optimization by clients (e.g. Eclipse GUI) that +need only minimal information about the run control state of a context, +i.e. running/suspended and a reason for the latter</p> + +<p>Result message:</p> + +<pre><b><font face="Courier New" size=2 color=#333399> +R • <i><token></i> • <i><error report></i> • <i><boolean: suspended></i> • + <i><string: last state change reason></i> • <i><state data></i> • + +<i><state data></i> + ⇒ null + ⇒ <i><object: context state properties></i> +</font></b></pre> + <h3><a name='CmdTerminate'>Terminate</a></h3> <pre><b><font face="Courier New" size=2 color=#333399> @@ -1069,6 +1093,16 @@ E • RunControl • contextStateChanged • <i><string: context IDs IToken getState(DoneGetState done); <font color=#3F5FBF>/** + * Send a command to retrieve current state of a context. + * Similar to getState, but does not retrieve PC. + * With some targets, it can be substantially faster. + * <font color=#7F9FBF>@param</font> done - command result call back object. + * <font color=#7F9FBF>@return</font> pending command handle, can be used to cancel the command. + * <font color=#7F9FBF>@since</font> 1.7 + */</font> + IToken getMinState(DoneGetMinState done); + + <font color=#3F5FBF>/** * Send a command to suspend a context. * Also suspends children if context is a container. * <font color=#7F9FBF>@param</font> done - command result call back object. @@ -1126,6 +1160,20 @@ E • RunControl • contextStateChanged • <i><string: context IDs String reason, Map<String,Object> params); } + <font color=#3F5FBF>/** <font color=#7F9FBF>@since</font> 1.7 */</font> + <font color=#7F0055>interface</font> DoneGetMinState { + <font color=#3F5FBF>/** + * Called when getMinState command execution is complete. + * <font color=#7F9FBF>@param</font> token - pending command handle. + * <font color=#7F9FBF>@param</font> error - command execution error or null. + * <font color=#7F9FBF>@param</font> suspended - true if the context is suspended + * <font color=#7F9FBF>@param</font> reason - suspend reason (if suspended), see REASON_*. + * <font color=#7F9FBF>@param</font> params - additional target specific data about context state, see STATE_*. + */</font> + <font color=#7F0055>void</font> doneGetMinState(IToken token, Exception error, <font color=#7F0055>boolean</font> suspended, + String reason, Map<String,Object> params); + } + <font color=#7F0055>interface</font> DoneCommand { <font color=#3F5FBF>/** * Called when run control command execution is complete. diff --git a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IRunControl.java b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IRunControl.java index 2d2201da9..38c0a1743 100644 --- a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IRunControl.java +++ b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IRunControl.java @@ -549,6 +549,7 @@ public interface IRunControl extends IService { * With some targets, it can be substantially faster. * @param done - command result call back object. * @return pending command handle, can be used to cancel the command. + * @since 1.7 */ IToken getMinState(DoneGetMinState done); @@ -610,6 +611,7 @@ public interface IRunControl extends IService { String reason, Map<String,Object> params); } + /** @since 1.7 */ interface DoneGetMinState { /** * Called when getMinState command execution is complete. |