Showing the changes to src/include (2 of 5 files). Show all
Unified · Split
| @@ -89,14 +89,16 @@ namespace disvm · 88 unmodified lines | ||
| 89 | 89 | // All fields on the output structure will be set. |
| 90 | 90 | vm_version_t get_version() const; |
| 91 | 91 | |
| 92 | − // Begin execution of the module at the supplied path | |
| 93 | − const runtime::vm_thread_t& exec(const char *path); | |
| 92 | + // Begin execution of the module at the supplied path and return the ID of | |
| 93 | + // the executing thread. | |
| 94 | + uint32_t exec(const char *path); | |
| 94 | 95 | |
| 95 | − // Begin execution of the supplied module | |
| 96 | − const runtime::vm_thread_t& exec(std::unique_ptr<runtime::vm_module_t> entry_module); | |
| 96 | + // Begin execution of the supplied module and return the ID of the executing thread. | |
| 97 | + uint32_t exec(std::unique_ptr<runtime::vm_module_t> entry_module); | |
| 97 | 98 | |
| 98 | − // Begin execution of a child thread in the supplied module at the indicated program counter | |
| 99 | − const runtime::vm_thread_t& fork( | |
| 99 | + // Begin execution of a child thread in the supplied module at the indicated | |
| 100 | + // program counter and return the ID of the executing thread. | |
| 101 | + uint32_t fork( | |
| 100 | 102 | const uint32_t parent_tid, |
| 101 | 103 | runtime::vm_module_ref_t &module_ref, |
| 102 | 104 | const runtime::vm_frame_t &initial_frame, |
| @@ -128,7 +130,7 @@ namespace disvm · 25 unmodified lines | ||
| 128 | 130 | void unload_tool(std::size_t tool_id); |
| 129 | 131 | |
| 130 | 132 | private: |
| 131 | − const runtime::vm_thread_t &schedule_thread(std::unique_ptr<runtime::vm_thread_t> thread); | |
| 133 | + void schedule_thread(std::unique_ptr<runtime::vm_thread_t> thread); | |
| 132 | 134 | |
| 133 | 135 | using loaded_modules_t = std::forward_list<loaded_vm_module_t>; |
| 134 | 136 | mutable std::mutex _modules_lock; |
| @@ -865,7 +865,7 @@ namespace disvm · 864 unmodified lines | ||
| 865 | 865 | virtual vm_scheduler_control_t &get_controller() const = 0; |
| 866 | 866 | |
| 867 | 867 | // Schedule the supplied thread for execution |
| 868 | − virtual const vm_thread_t& schedule_thread(std::unique_ptr<vm_thread_t> thread) = 0; | |
| 868 | + virtual void schedule_thread(std::unique_ptr<vm_thread_t> thread) = 0; | |
| 869 | 869 | |
| 870 | 870 | // Set tool dispatch on all threads. |
| 871 | 871 | // This is a blocking function and will not return until all current threads have been updated. |