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
parent 67b4326d93
commit 73f162a5b0
5 changed files with 40 additions and 20 deletions

View file

@ -311,11 +311,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);