History

Alter VM fork() API to just consume the ID of the parent rather than the parent instance.

arr committed 10 years ago

Commit fcc75fd1 parent 093cfc13 files · +5 −5Browse files

Showing the changes to src/vm/vm.cpp (1 of 3 files). Show all

Unified · Split

src/vm/vm.cpp+2−2
@@ -104,7 +104,7 @@ const runtime::vm_thread_t& vm_t::exec(std::unique_ptr<runtime::vm_module_t> ent · 103 unmodified lines
104}104}
105 105
106const runtime::vm_thread_t& vm_t::fork(106const runtime::vm_thread_t& vm_t::fork(
107 const runtime::vm_thread_t &parent,107 const uint32_t parent_tid,
108 runtime::vm_module_ref_t &module_ref,108 runtime::vm_module_ref_t &module_ref,
109 const runtime::vm_frame_t &initial_frame,109 const runtime::vm_frame_t &initial_frame,
110 runtime::vm_pc_t initial_pc)110 runtime::vm_pc_t initial_pc)
@@ -112,7 +112,7 @@ const runtime::vm_thread_t& vm_t::fork( · 1 unmodified line
112 if (initial_pc < 0 || static_cast<vm_pc_t>(module_ref.code_section.size()) <= initial_pc)112 if (initial_pc < 0 || static_cast<vm_pc_t>(module_ref.code_section.size()) <= initial_pc)
113 throw vm_system_exception{ "Invalid entry program counter" };113 throw vm_system_exception{ "Invalid entry program counter" };
114 114
115 auto thread = std::make_unique<vm_thread_t>(module_ref, parent.get_thread_id(), initial_frame, initial_pc);115 auto thread = std::make_unique<vm_thread_t>(module_ref, parent_tid, initial_frame, initial_pc);
116 return schedule_thread(std::move(thread));116 return schedule_thread(std::move(thread));
117}117}
118 118