Esempio n. 1
0
 /// <summary>
 ///     TTD API -- may change in future versions:
 ///     Move to the given top-level call event time (assuming JsTTDPrepContextsForTopLevelEventMove) was called previously to reset any script contexts.
 ///     This also computes the ready-to-run snapshot if needed.
 /// </summary>
 /// <param name="moveMode">Additional flags for controling how the move is done.</param>
 /// <param name="snapshotTime">The event time that we will start executing from to move to the given target time.</param>
 /// <param name="eventTime">The event that we want to move to.</param>
 /// <returns>The code <c>JsNoError</c> if the operation succeeded, a failure code otherwise.</returns>
 public void TTDMoveToTopLevelEvent(
     JavaScriptTTDMoveMode moveMode,
     long snapshotTime,
     long eventTime
     )
 {
     Native.ThrowIfError(Native.JsTTDMoveToTopLevelEvent(this, moveMode, snapshotTime, eventTime));
 }
Esempio n. 2
0
        /// <summary>
        ///     TTD API -- may change in future versions:
        ///     During debug operations some additional information is populated during replay. This runs the code between the given
        ///     snapshots to populate this information which may be needed by the debugger to determine time-travel jump targets.
        /// </summary>
        /// <param name="startSnapTime">The snapshot time that we will start executing from.</param>
        /// <param name="endSnapTime">The snapshot time that we will stop at (or -1 if we want to run to the end).</param>
        /// <param name="moveMode">Additional flags for controling how the move is done.</param>
        /// <returns>The updated target event time set according to the moveMode (-1 if not found).</returns>
        public long TTDPreExecuteSnapShotInterval(
            long startSnapTime,
            long endSnapTime,
            JavaScriptTTDMoveMode moveMode
            )
        {
            long newTargetEventTime;

            Native.ThrowIfError(
                Native.JsTTDPreExecuteSnapShotInterval(
                    this,
                    startSnapTime,
                    endSnapTime,
                    moveMode,
                    out newTargetEventTime
                    )
                );
            return(newTargetEventTime);
        }
Esempio n. 3
0
        /// <summary>
        ///     TTD API -- may change in future versions:
        ///     Before calling JsTTDMoveToTopLevelEvent (which inflates a snapshot and replays) check to see if we want to reset the script context.
        ///     We reset the script context if the move will require inflating from a different snapshot that the last one.
        /// </summary>
        /// <param name="moveMode">Flags controlling the way the move it performed and how other parameters are interpreted.</param>
        /// <param name="kthEvent">When <c>moveMode == JsTTDMoveKthEvent</c> indicates which event, otherwise this parameter is ignored.</param>
        /// <param name="targetEventTime">The event time we want to move to or -1 if not relevant.</param>
        /// <returns>( Out parameter with the event time of the snapshot that we should inflate from, Optional Out parameter with the snapshot time following the event )</returns>
        public Tuple <long, long> TTDGetSnapTimeTopLevelEventMove(
            JavaScriptTTDMoveMode moveMode,
            uint kthEvent,
            ref long targetEventTime
            )
        {
            long targetStartSnapTime;
            long targetEndSnapTime;

            Native.ThrowIfError(
                Native.JsTTDGetSnapTimeTopLevelEventMove(
                    this,
                    moveMode,
                    kthEvent,
                    ref targetEventTime,
                    out targetStartSnapTime,
                    out targetEndSnapTime
                    )
                );
            return(Tuple.Create(targetStartSnapTime, targetEndSnapTime));
        }