kernel/process: Use accessors instead of class members for referencing segment array

Using member variables for referencing the segments array increases the
size of the class in memory for little benefit. The same behavior can be
achieved through the use of accessors that just return the relevant
segment.
This commit is contained in:
Lioncash 2018-08-03 14:33:59 -04:00 committed by fearlessTobi
parent 47025552c7
commit 37e78de206
3 changed files with 41 additions and 17 deletions

View file

@ -310,11 +310,11 @@ SharedPtr<CodeSet> ElfReader::LoadInto(u32 vaddr) {
CodeSet::Segment* codeset_segment;
u32 permission_flags = p->p_flags & (PF_R | PF_W | PF_X);
if (permission_flags == (PF_R | PF_X)) {
codeset_segment = &codeset->code;
codeset_segment = &codeset->CodeSegment();
} else if (permission_flags == (PF_R)) {
codeset_segment = &codeset->rodata;
codeset_segment = &codeset->RODataSegment();
} else if (permission_flags == (PF_R | PF_W)) {
codeset_segment = &codeset->data;
codeset_segment = &codeset->DataSegment();
} else {
LOG_ERROR(Loader, "Unexpected ELF PT_LOAD segment id {} with flags {:X}", i,
p->p_flags);