Open
Description
Currently, hotRestart
and hotReload
are single entrypoints in the embedder for the DDC library bundle format.
This presents issues when it comes to debugging and deferring execution, as we don't have a mechanism to pause execution, load new sources, delete and reregister breakpoints, and then continue execution in DDC.
With hotRestart
, this means main
runs before we get a chance to reregister breakpoints. With hotReload
, this means execution continues before we can reregister breakpoints.
Instead they should be split into two methods in the embedder each:
hotRestartBegin
: Downloading and loading of sources and any reinitialization in the embedder.hotRestartEnd
: Calls main after a previoushotRestartBegin
call.hotReloadBegin
: Downloading and loading of sources.hotReloadEnd
: Reinitialization, which should continue execution but with the new libraries.