__code loaduvmvm_impl(struct Context *cbc_context,struct vm_impl* vm, pde_t* pgdir, char* addr, struct inode* ip, uint offset, uint sz, enum Code next) { Gearef(cbc_context, vm_impl)->pgdir = pgdir; Gearef(cbc_context, vm_impl)->addr = addr; Gearef(cbc_context, vm_impl)->ip = ip; Gearef(cbc_context, vm_impl)->offset = offset; Gearef(cbc_context, vm_impl)->sz = sz; Gearef(cbc_context, vm_impl)->next = next; goto meta(cbc_context, C_loaduvm_ptesize_checkvm_impl); } __code loaduvmvm_impl_stub(struct Context* cbc_context) { vm_impl* vm = (vm_impl*)GearImpl(cbc_context, vm, vm); pde_t* pgdir = Gearef(cbc_context, vm)->pgdir; char* addr = Gearef(cbc_context, vm)->addr; inode* ip = Gearef(cbc_context, vm)->ip; uint offset = Gearef(cbc_context, vm)->offset; uint sz = Gearef(cbc_context, vm)->sz; enum Code next = Gearef(cbc_context, vm)->next; goto loaduvmvm_impl(cbc_context, vm, pgdir, addr, ip, offset, sz, next); }