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/execution_table.cpp (1 of 3 files). Show all

Unified · Split

src/vm/execution_table.cpp+2−2
@@ -1584,7 +1584,7 @@ namespace · 1583 unmodified lines
1584 const auto starting_pc = vt_ref<vm_pc_t>(r.dest);1584 const auto starting_pc = vt_ref<vm_pc_t>(r.dest);
1585 1585
1586 assert(r.module_ref != nullptr);1586 assert(r.module_ref != nullptr);
1587 vm.fork(r.thread, *r.module_ref, *spawned_frame, starting_pc);1587 vm.fork(r.thread.get_thread_id(), *r.module_ref, *spawned_frame, starting_pc);
1588 1588
1589 // After the new thread is forked pop off the argument passing frame.1589 // After the new thread is forked pop off the argument passing frame.
1590 r.stack.pop_frame();1590 r.stack.pop_frame();
@@ -1613,7 +1613,7 @@ namespace · 22 unmodified lines
1613 if (target_module_ref->is_builtin_module())1613 if (target_module_ref->is_builtin_module())
1614 throw vm_user_exception{ "Spawning a built-in module is not permitted" };1614 throw vm_user_exception{ "Spawning a built-in module is not permitted" };
1615 1615
1616 vm.fork(r.thread, *target_module_ref, *spawned_frame, function_ref.entry_pc);1616 vm.fork(r.thread.get_thread_id(), *target_module_ref, *spawned_frame, function_ref.entry_pc);
1617 1617
1618 // After the new thread is forked pop off the argument passing frame.1618 // After the new thread is forked pop off the argument passing frame.
1619 r.stack.pop_frame();1619 r.stack.pop_frame();