# HG changeset patch # User anatofuz # Date 1581144540 -32400 # Node ID 5854cbf18c67585845f564e27196346ec393b844 # Parent 173753022721d103c575872bdca2ca1938588374 fix_switchuvm_impl diff -r 173753022721 -r 5854cbf18c67 src/impl/vm_impl.cbc --- a/src/impl/vm_impl.cbc Thu Feb 06 20:31:43 2020 +0900 +++ b/src/impl/vm_impl.cbc Sat Feb 08 15:49:00 2020 +0900 @@ -143,7 +143,7 @@ } typedef struct proc proc; -__code switchuvmvm_impl(struct vm_impl* vm , struct proc* p, __code next(...)) { //:skip +__code switchuvmvm_impl(struct vm_impl* vm , proc* p, __code next(...)) { //:skip Gearef(cbc_context, vm_impl)->p = p; Gearef(cbc_context, vm_impl)->next = next; goto switchuvm_check_pgdirvm_impl(vm, p, next(...)); diff -r 173753022721 -r 5854cbf18c67 src/proc.cbc --- a/src/proc.cbc Thu Feb 06 20:31:43 2020 +0900 +++ b/src/proc.cbc Sat Feb 08 15:49:00 2020 +0900 @@ -183,7 +183,7 @@ __ncode cbc_switchuvm_dummy(struct Context* cbc_context, struct proc* proc){ struct vm* vm = createvm_impl(cbc_context); - //Gearef(cbc_context, vm)->vm = (union Data*) vm; + Gearef(cbc_context, vm)->vm = (union Data*) vm; Gearef(cbc_context, vm)->p = proc; Gearef(cbc_context, vm)->next = C_vm_void_ret ; goto meta(cbc_context, vm->switchuvm); @@ -209,9 +209,8 @@ } proc->sz = sz; - // switchuvm(proc); + //switchuvm(proc); switchuvm_dummy(proc); - return 0; }