refactor: remove extraneous zeroing out

main
Sean McBride 4 years ago
parent 3f4567ea6e
commit 859e87f425

@ -17,9 +17,6 @@ arch_context_init(struct arch_context *actx, reg_t ip, reg_t sp)
{
assert(actx->variant == arch_context_unused);
memset(&actx->mctx, 0, sizeof(mcontext_t));
memset((void *)actx->regs, 0, sizeof(reg_t) * ureg_count);
actx->regs[ureg_rsp] = sp;
actx->regs[ureg_rip] = ip;
actx->variant = arch_context_fast;

@ -31,7 +31,7 @@
/**
* Restore a full mcontext
* Writes sandbox_context to active_context and then zeroes sandbox_context out
* Writes sandbox_context to active_context
* @param active_context - the context of the current worker thread
* @param sandbox_context - the context that we want to restore
*/
@ -73,11 +73,9 @@ arch_context_restore(mcontext_t *active_context, struct arch_context *sandbox_co
assert(sandbox_context->regs[ureg_rip]);
assert(sandbox_context->regs[ureg_rsp]);
active_context->gregs[REG_RSP] = sandbox_context->regs[ureg_rsp];
active_context->gregs[REG_RIP] = sandbox_context->regs[ureg_rip] + ARCH_SIG_JMP_OFF;
sandbox_context->regs[ureg_rsp] = 0;
sandbox_context->regs[ureg_rip] = 0;
sandbox_context->variant = arch_context_running;
active_context->gregs[REG_RSP] = sandbox_context->regs[ureg_rsp];
active_context->gregs[REG_RIP] = sandbox_context->regs[ureg_rip] + ARCH_SIG_JMP_OFF;
sandbox_context->variant = arch_context_running;
}
/**
@ -101,9 +99,7 @@ arch_mcontext_save(struct arch_context *sandbox_context, const mcontext_t *activ
assert(active_context->gregs[REG_RIP] != 0);
assert(active_context->gregs[REG_RSP] != 0);
sandbox_context->variant = arch_context_slow;
sandbox_context->regs[ureg_rsp] = 0;
sandbox_context->regs[ureg_rip] = 0;
sandbox_context->variant = arch_context_slow;
/* Copy mcontext */
memcpy(&sandbox_context->mctx, active_context, sizeof(mcontext_t));

@ -14,9 +14,6 @@
*/
static void __attribute__((noinline)) arch_context_init(struct arch_context *actx, reg_t ip, reg_t sp)
{
memset(&actx->mctx, 0, sizeof(mcontext_t));
memset((void *)actx->regs, 0, sizeof(reg_t) * ureg_count);
if (sp) {
/*
* context_switch conventions: bp is expected to be on top of the stack

Loading…
Cancel
Save