From 6f9c911ebe998d4b464f091140664ff556e2829c Mon Sep 17 00:00:00 2001 From: Themis Demetriades Date: Mon, 4 Nov 2024 00:19:36 +0000 Subject: [PATCH] Update start_process to pad process stack before pushing argv elements for performance --- src/userprog/process.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/userprog/process.c b/src/userprog/process.c index ffd964b..452f020 100644 --- a/src/userprog/process.c +++ b/src/userprog/process.c @@ -118,6 +118,10 @@ start_process (void *file_name_) /* TODO: Allocate an extra page for the rest of the process stack. */ } + /* Align stack pointer to word size before pushing argv elements for + performance. */ + if_.esp -= align_size * sizeof (uint8_t); + /* Push pointers to process arguments from argument linked list */ struct list_elem *e = list_begin (&arg_list); struct list_elem *tail = list_tail (&arg_list);