@@ -75,13 +75,11 @@ struct JsAPIHooks
7575 typedef JsErrorCode (WINAPI *JsrtRunSerializedScriptUtf8)(JsSerializedScriptLoadUtf8SourceCallback scriptLoadCallback, JsSerializedScriptUnloadCallback scriptUnloadCallback, ChakraBytePtr buffer, JsSourceContext sourceContext, const char *sourceUrl, JsValueRef * result);
7676 typedef JsErrorCode (WINAPI *JsrtStringFreePtr)(const char *stringValue);
7777
78- typedef JsErrorCode (WINAPI *JsrtTTDCreateRecordRuntimePtr)(JsRuntimeAttributes attributes, char * infoUri, size_t infoUriCount, UINT32 snapInterval, UINT32 snapHistoryLength, JsThreadServiceCallback threadService, JsRuntimeHandle *runtime);
79- typedef JsErrorCode (WINAPI *JsrtTTDCreateDebugRuntimePtr)(JsRuntimeAttributes attributes, char * infoUri, size_t infoUriCount, JsThreadServiceCallback threadService, JsRuntimeHandle *runtime);
78+ typedef JsErrorCode (WINAPI *JsrtTTDCreateRecordRuntimePtr)(JsRuntimeAttributes attributes, const byte * infoUri, size_t infoUriCount, size_t snapInterval, size_t snapHistoryLength, JsThreadServiceCallback threadService, JsRuntimeHandle *runtime);
79+ typedef JsErrorCode (WINAPI *JsrtTTDCreateDebugRuntimePtr)(JsRuntimeAttributes attributes, const byte * infoUri, size_t infoUriCount, JsThreadServiceCallback threadService, JsRuntimeHandle *runtime);
8080 typedef JsErrorCode (WINAPI *JsrtTTDCreateContextPtr)(JsRuntimeHandle runtime, JsContextRef *newContext);
81- typedef JsErrorCode (WINAPI *JsrtTTDRunScriptPtr)(INT64 hostCallbackId, const char *script, JsSourceContext sourceContext, const char *sourceUrl, JsValueRef* result);
82- typedef JsErrorCode (WINAPI *JsrtTTDCallFunctionPtr)(INT64 hostCallbackId, JsValueRef function, JsValueRef* arguments, unsigned short argumentCount, JsValueRef *result);
8381
84- typedef JsErrorCode (WINAPI *JsrtTTDSetIOCallbacksPtr)(JsRuntimeHandle runtime, JsTTDInitializeUriCallback ttdInitializeTTDUriFunction, JsTTDInitializeForWriteLogStreamCallback writeInitializeFunction, JsTTDGetLogStreamCallback getLogStreamInfo, JsTTDGetSnapshotStreamCallback getSnapshotStreamInfo, JsTTDGetSrcCodeStreamCallback getSrcCodeStreamInfo , JsTTDReadBytesFromStreamCallback readBytesFromStream, JsTTDWriteBytesToStreamCallback writeBytesToStream, JsTTDFlushAndCloseStreamCallback flushAndCloseStream);
82+ typedef JsErrorCode (WINAPI *JsrtTTDSetIOCallbacksPtr)(JsRuntimeHandle runtime, JsTTDInitializeForWriteLogStreamCallback writeInitializeFunction, TTDOpenResourceStreamCallback openTTDStream , JsTTDReadBytesFromStreamCallback readBytesFromStream, JsTTDWriteBytesToStreamCallback writeBytesToStream, JsTTDFlushAndCloseStreamCallback flushAndCloseStream);
8583
8684 typedef JsErrorCode (WINAPI *JsrtTTDStartTimeTravelRecordingPtr)();
8785 typedef JsErrorCode (WINAPI *JsrtTTDStopTimeTravelRecordingPtr)();
@@ -90,12 +88,14 @@ struct JsAPIHooks
9088 typedef JsErrorCode (WINAPI *JsrtTTDPauseTimeTravelBeforeRuntimeOperationPtr)();
9189 typedef JsErrorCode (WINAPI *JsrtTTDReStartTimeTravelAfterRuntimeOperationPtr)();
9290
93- typedef JsErrorCode (WINAPI *JsrtTTDNotifyHostCallbackCreatedOrCanceledPtr)(bool isCreate, bool isCancel, bool isRepeating, JsValueRef function, INT64 callbackId);
9491 typedef JsErrorCode (WINAPI *JsrtTTDNotifyYieldPtr)();
92+ typedef JsErrorCode (WINAPI *JsrtTTDHostExitPtr)(int statusCode);
9593
96- typedef JsErrorCode (WINAPI *JsrtTTDPrepContextsForTopLevelEventMovePtr)(JsRuntimeHandle runtimeHandle, INT64 targetEventTime, INT64* targetStartSnapTime);
97- typedef JsErrorCode (WINAPI *JsrtTTDMoveToTopLevelEventPtr)(INT64 snapshotStartTime, INT64 eventTime);
98- typedef JsErrorCode (WINAPI *JsrtTTDReplayExecutionPtr)(INT64* rootEventTime);
94+ typedef JsErrorCode (WINAPI *JsrtTTDGetSnapTimeTopLevelEventMovePtr)(JsRuntimeHandle runtimeHandle, JsTTDMoveMode moveMode, int64_t * targetEventTime, bool * createFreshContexts, int64_t * targetStartSnapTime, int64_t * targetEndSnapTime);
95+ typedef JsErrorCode (WINAPI *JsrtTTDPrepContextsForTopLevelEventMovePtr)(JsRuntimeHandle runtimeHandle, bool createFreshCtxs);
96+ typedef JsErrorCode (WINAPI *JsrtTTDPreExecuteSnapShotIntervalPtr)(int64_t startSnapTime, int64_t endSnapTime, JsTTDMoveMode moveMode);
97+ typedef JsErrorCode (WINAPI *JsrtTTDMoveToTopLevelEventPtr)(JsTTDMoveMode moveMode, int64_t snapshotStartTime, int64_t eventTime);
98+ typedef JsErrorCode (WINAPI *JsrtTTDReplayExecutionPtr)(JsTTDMoveMode* moveMode, int64_t * rootEventTime);
9999
100100 JsrtCreateRuntimePtr pfJsrtCreateRuntime;
101101 JsrtCreateContextPtr pfJsrtCreateContext;
@@ -170,8 +170,6 @@ struct JsAPIHooks
170170 JsrtTTDCreateRecordRuntimePtr pfJsrtTTDCreateRecordRuntime;
171171 JsrtTTDCreateDebugRuntimePtr pfJsrtTTDCreateDebugRuntime;
172172 JsrtTTDCreateContextPtr pfJsrtTTDCreateContext;
173- JsrtTTDRunScriptPtr pfJsrtTTDRunScript;
174- JsrtTTDCallFunctionPtr pfJsrtTTDCallFunction;
175173
176174 JsrtTTDSetIOCallbacksPtr pfJsrtTTDSetIOCallbacks;
177175
@@ -182,10 +180,12 @@ struct JsAPIHooks
182180 JsrtTTDPauseTimeTravelBeforeRuntimeOperationPtr pfJsrtTTDPauseTimeTravelBeforeRuntimeOperation;
183181 JsrtTTDReStartTimeTravelAfterRuntimeOperationPtr pfJsrtTTDReStartTimeTravelAfterRuntimeOperation;
184182
185- JsrtTTDNotifyHostCallbackCreatedOrCanceledPtr pfJsrtTTDNotifyHostCallbackCreatedOrCanceled;
186183 JsrtTTDNotifyYieldPtr pfJsrtTTDNotifyYield;
184+ JsrtTTDHostExitPtr pfJsrtTTDHostExit;
187185
186+ JsrtTTDGetSnapTimeTopLevelEventMovePtr pfJsrtTTDGetSnapTimeTopLevelEventMove;
188187 JsrtTTDPrepContextsForTopLevelEventMovePtr pfJsrtTTDPrepContextsForTopLevelEventMove;
188+ JsrtTTDPreExecuteSnapShotIntervalPtr pfJsrtTTDPreExecuteSnapShotInterval;
189189 JsrtTTDMoveToTopLevelEventPtr pfJsrtTTDMoveToTopLevelEvent;
190190 JsrtTTDReplayExecutionPtr pfJsrtTTDReplayExecution;
191191};
@@ -348,13 +348,11 @@ class ChakraRTInterface
348348 static JsErrorCode WINAPI JsRunSerializedScriptUtf8 (JsSerializedScriptLoadUtf8SourceCallback scriptLoadCallback, JsSerializedScriptUnloadCallback scriptUnloadCallback, ChakraBytePtr buffer, JsSourceContext sourceContext, const char *sourceUrl, JsValueRef * result) { return HOOK_JS_API (RunSerializedScriptUtf8 (scriptLoadCallback, scriptUnloadCallback, buffer, sourceContext, sourceUrl, result)); }
349349 static JsErrorCode WINAPI JsPointerToStringUtf8 (const char *stringValue, size_t length, JsValueRef *value) { return HOOK_JS_API (PointerToStringUtf8 (stringValue, length, value)); }
350350 static JsErrorCode WINAPI JsStringFree (char *stringValue) { return HOOK_JS_API (StringFree (stringValue)); }
351- static JsErrorCode WINAPI JsTTDCreateRecordRuntime (JsRuntimeAttributes attributes, char * infoUri, size_t infoUriCount, UINT32 snapInterval, UINT32 snapHistoryLength, JsThreadServiceCallback threadService, JsRuntimeHandle *runtime) { return HOOK_JS_API (TTDCreateRecordRuntime (attributes, infoUri, infoUriCount, snapInterval, snapHistoryLength, threadService, runtime)); }
352- static JsErrorCode WINAPI JsTTDCreateDebugRuntime (JsRuntimeAttributes attributes, char * infoUri, size_t infoUriCount, JsThreadServiceCallback threadService, JsRuntimeHandle *runtime) { return HOOK_JS_API (TTDCreateDebugRuntime (attributes, infoUri, infoUriCount, threadService, runtime)); }
351+ static JsErrorCode WINAPI JsTTDCreateRecordRuntime (JsRuntimeAttributes attributes, const byte * infoUri, size_t infoUriCount, size_t snapInterval, size_t snapHistoryLength, JsThreadServiceCallback threadService, JsRuntimeHandle *runtime) { return HOOK_JS_API (TTDCreateRecordRuntime (attributes, infoUri, infoUriCount, snapInterval, snapHistoryLength, threadService, runtime)); }
352+ static JsErrorCode WINAPI JsTTDCreateDebugRuntime (JsRuntimeAttributes attributes, const byte * infoUri, size_t infoUriCount, JsThreadServiceCallback threadService, JsRuntimeHandle *runtime) { return HOOK_JS_API (TTDCreateDebugRuntime (attributes, infoUri, infoUriCount, threadService, runtime)); }
353353 static JsErrorCode WINAPI JsTTDCreateContext (JsRuntimeHandle runtime, JsContextRef *newContext) { return HOOK_JS_API (TTDCreateContext (runtime, newContext)); }
354- static JsErrorCode WINAPI JsTTDRunScript (INT64 hostCallbackId, const char * script, DWORD_PTR sourceContext, const char * sourceUrl, JsValueRef* result) { return HOOK_JS_API (TTDRunScript (hostCallbackId, script, sourceContext, sourceUrl, result)); }
355- static JsErrorCode WINAPI JsTTDCallFunction (INT64 hostCallbackId, JsValueRef function, JsValueRef* arguments, unsigned short argumentCount, JsValueRef *result) { return HOOK_JS_API (TTDCallFunction (hostCallbackId, function, arguments, argumentCount, result)); }
356354
357- static JsErrorCode WINAPI JsTTDSetIOCallbacks (JsRuntimeHandle runtime, JsTTDInitializeUriCallback ttdInitializeTTDUriFunction, JsTTDInitializeForWriteLogStreamCallback writeInitializeFunction, JsTTDGetLogStreamCallback getLogStreamInfo, JsTTDGetSnapshotStreamCallback getSnapshotStreamInfo, JsTTDGetSrcCodeStreamCallback getSrcCodeStreamInfo, JsTTDReadBytesFromStreamCallback readBytesFromStream, JsTTDWriteBytesToStreamCallback writeBytesToStream, JsTTDFlushAndCloseStreamCallback flushAndCloseStream) { return HOOK_JS_API (TTDSetIOCallbacks (runtime, ttdInitializeTTDUriFunction, writeInitializeFunction, getLogStreamInfo, getSnapshotStreamInfo, getSrcCodeStreamInfo , readBytesFromStream, writeBytesToStream, flushAndCloseStream)); }
355+ static JsErrorCode WINAPI JsTTDSetIOCallbacks (JsRuntimeHandle runtime, JsTTDInitializeForWriteLogStreamCallback writeInitializeFunction, TTDOpenResourceStreamCallback openTTDStream, JsTTDReadBytesFromStreamCallback readBytesFromStream, JsTTDWriteBytesToStreamCallback writeBytesToStream, JsTTDFlushAndCloseStreamCallback flushAndCloseStream) { return HOOK_JS_API (TTDSetIOCallbacks (runtime, writeInitializeFunction, openTTDStream , readBytesFromStream, writeBytesToStream, flushAndCloseStream)); }
358356
359357 static JsErrorCode WINAPI JsTTDStartTimeTravelRecording () { return HOOK_JS_API (TTDStartTimeTravelRecording ()); }
360358 static JsErrorCode WINAPI JsTTDStopTimeTravelRecording () { return HOOK_JS_API (TTDStopTimeTravelRecording ()); }
@@ -364,12 +362,14 @@ class ChakraRTInterface
364362 static JsErrorCode WINAPI JsTTDPauseTimeTravelBeforeRuntimeOperation () { return HOOK_JS_API (TTDPauseTimeTravelBeforeRuntimeOperation ()); }
365363 static JsErrorCode WINAPI JsTTDReStartTimeTravelAfterRuntimeOperation () { return HOOK_JS_API (TTDReStartTimeTravelAfterRuntimeOperation ()); }
366364
367- static JsErrorCode WINAPI JsTTDNotifyHostCallbackCreatedOrCanceled (bool isCreate, bool isCancel, bool isRepeating, JsValueRef function, INT64 callbackId) { return HOOK_JS_API (TTDNotifyHostCallbackCreatedOrCanceled (isCreate, isCancel, isRepeating, function, callbackId)); }
368365 static JsErrorCode WINAPI JsTTDNotifyYield () { return HOOK_JS_API (TTDNotifyYield ()); }
366+ static JsErrorCode WINAPI JsTTDHostExit (int statusCode) { return HOOK_JS_API (TTDHostExit (statusCode)); }
369367
370- static JsErrorCode WINAPI JsTTDPrepContextsForTopLevelEventMove (JsRuntimeHandle runtimeHandle, INT64 targetEventTime, INT64* targetStartSnapTime) { return HOOK_JS_API (TTDPrepContextsForTopLevelEventMove (runtimeHandle, targetEventTime, targetStartSnapTime)); }
371- static JsErrorCode WINAPI JsTTDMoveToTopLevelEvent (INT64 snapshotStartTime, INT64 eventTime) { return HOOK_JS_API (TTDMoveToTopLevelEvent (snapshotStartTime, eventTime)); }
372- static JsErrorCode WINAPI JsTTDReplayExecution (INT64* rootEventTime) { return HOOK_JS_API (TTDReplayExecution (rootEventTime)); }
368+ static JsErrorCode WINAPI JsTTDGetSnapTimeTopLevelEventMove (JsRuntimeHandle runtimeHandle, JsTTDMoveMode moveMode, int64_t * targetEventTime, bool * createFreshContexts, int64_t * targetStartSnapTime, int64_t * targetEndSnapTime) { return HOOK_JS_API (TTDGetSnapTimeTopLevelEventMove (runtimeHandle, moveMode, targetEventTime, createFreshContexts, targetStartSnapTime, targetEndSnapTime)); }
369+ static JsErrorCode WINAPI JsTTDPrepContextsForTopLevelEventMove (JsRuntimeHandle runtimeHandle, bool createFreshCtxs) { return HOOK_JS_API (TTDPrepContextsForTopLevelEventMove (runtimeHandle, createFreshCtxs)); }
370+ static JsErrorCode WINAPI JsTTDPreExecuteSnapShotInterval (int64_t startSnapTime, int64_t endSnapTime, JsTTDMoveMode moveMode) { return HOOK_JS_API (TTDPreExecuteSnapShotInterval (startSnapTime, endSnapTime, moveMode)); }
371+ static JsErrorCode WINAPI JsTTDMoveToTopLevelEvent (JsTTDMoveMode moveMode, int64_t snapshotStartTime, int64_t eventTime) { return HOOK_JS_API (TTDMoveToTopLevelEvent (moveMode, snapshotStartTime, eventTime)); }
372+ static JsErrorCode WINAPI JsTTDReplayExecution (JsTTDMoveMode* moveMode, int64_t * rootEventTime) { return HOOK_JS_API (TTDReplayExecution (moveMode, rootEventTime)); }
373373};
374374
375375class AutoRestoreContext
0 commit comments