\relax \providecommand\hyper@newdestlabel[2]{} \providecommand\HyField@AuxAddToFields[1]{} \providecommand\HyField@AuxAddToCoFields[2]{} \citation{mittal_survey_2017} \citation{panwar_hawkeye_2019} \citation{woodruff_cheri_2014} \citation{woodruff_cheri_2019} \citation{panwar_hawkeye_2019} \citation{THP} \@writefile{toc}{\contentsline {section}{Abstract}{1}{section*.1}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{1}{section.1}\protected@file@percent } \citation{Shadow_superpages} \citation{DirectSegment} \citation{karakostas_redundant_2015} \citation{chen_flexpointer_2023} \citation{karakostas_redundant_2015} \citation{woodruff_cheri_2019} \@writefile{toc}{\contentsline {section}{\numberline {2}Related work}{2}{section.2}\protected@file@percent } \newlabel{sec:org0e192da}{{2}{2}{Related work}{section.2}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Huge Pages}{2}{subsection.2.1}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Direct Segment}{2}{subsection.2.2}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Range Memory Mapping (RMM)}{2}{subsection.2.3}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {2.4}CHERI}{2}{subsection.2.4}\protected@file@percent } \newlabel{sec:orgbf2eaac}{{2.4}{2}{CHERI}{subsection.2.4}{}} \@writefile{toc}{\contentsline {section}{\numberline {3}Fat Address Translations}{2}{section.3}\protected@file@percent } \newlabel{sec:FatPointerTranslations}{{3}{2}{Fat Address Translations}{section.3}{}} \citation{woodruff_cheri_2019} \citation{woodruff_cheri_2019} \citation{woodruff_cheri_2019} \citation{TLBBehavoir} \@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Encoding Ranges as Bounds to the Pointer}{3}{subsection.3.1}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {3.2}128 bit compressed bounds}{3}{subsection.3.2}\protected@file@percent } \newlabel{sec:128bitCompressedBounds}{{3.2}{3}{128 bit compressed bounds}{subsection.3.2}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Instrumenting Block-Based Allocators with Physically Contiguous Memory}{3}{subsection.3.3}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {4}Memory allocator design}{3}{section.4}\protected@file@percent } \newlabel{sec:MemoryAllocator}{{4}{3}{Memory allocator design}{section.4}{}} \@writefile{loa}{\contentsline {algorithm}{\numberline {1}{\ignorespaces Malloc implementation}}{3}{algorithm.1}\protected@file@percent } \newlabel{alg:malloc}{{1}{3}{Malloc implementation}{algorithm.1}{}} \@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces High overview architecture}}{4}{figure.caption.3}\protected@file@percent } \providecommand*\caption@xref[2]{\@setref\relax\@undefined{#1}} \newlabel{fig:HighOverviewArchitecture}{{1}{4}{High overview architecture}{figure.caption.3}{}} \@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Range of memory}}{4}{figure.caption.4}\protected@file@percent } \newlabel{fig:RangeOfMemory}{{2}{4}{Range of memory}{figure.caption.4}{}} \@writefile{loa}{\contentsline {algorithm}{\numberline {2}{\ignorespaces Free implementation}}{4}{algorithm.2}\protected@file@percent } \newlabel{alg:free}{{2}{4}{Free implementation}{algorithm.2}{}} \@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Fat-pointer Address Translations using huge pages}}{4}{figure.caption.5}\protected@file@percent } \newlabel{fig:HugePages}{{3}{4}{Fat-pointer Address Translations using huge pages}{figure.caption.5}{}} \citation{jemalloc} \citation{cheribsd} \citation{Morello} \citation{BenchmarkABI} \citation{PerformanceCounter} \citation{Benchmark} \@writefile{loa}{\contentsline {algorithm}{\numberline {3}{\ignorespaces Init alloc function to create a initial 1 GB huge page}}{5}{algorithm.3}\protected@file@percent } \newlabel{alg:initAlloc}{{3}{5}{Init alloc function to create a initial 1 GB huge page}{algorithm.3}{}} \@writefile{toc}{\contentsline {section}{\numberline {5}Evaluation}{5}{section.5}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Experiment setup}{5}{subsection.5.1}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Benchmarks}{5}{subsection.5.2}\protected@file@percent } \newlabel{sec:org41c278c}{{5.2.1}{5}{Micro benchmark}{subsubsection.5.2.1}{}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.1}Micro benchmark}{5}{subsubsection.5.2.1}\protected@file@percent } \newlabel{sec:org89020f2}{{5.2.2}{6}{Macro benchmark}{subsubsection.5.2.2}{}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.2}Macro benchmark}{6}{subsubsection.5.2.2}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Results}{6}{subsection.5.3}\protected@file@percent } \@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces ARM performance counters}}{6}{table.caption.6}\protected@file@percent } \newlabel{tab:org246a883}{{1}{6}{ARM performance counters}{table.caption.6}{}} \@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces Percentage difference between the modified memory allocator against the default system memory allocator}}{7}{figure.caption.7}\protected@file@percent } \newlabel{fig:bargraph}{{4}{7}{Percentage difference between the modified memory allocator against the default system memory allocator}{figure.caption.7}{}} \@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces Kmeans COZ benchmark executed against various cluster sizes}}{7}{figure.caption.8}\protected@file@percent } \newlabel{fig:org8683315}{{5}{7}{Kmeans COZ benchmark executed against various cluster sizes}{figure.caption.8}{}} \bibstyle{unsrt} \bibdata{paperReferences} \bibcite{mittal_survey_2017}{{1}{}{{}}{{}}} \bibcite{panwar_hawkeye_2019}{{2}{}{{}}{{}}} \bibcite{woodruff_cheri_2014}{{3}{}{{}}{{}}} \bibcite{woodruff_cheri_2019}{{4}{}{{}}{{}}} \bibcite{THP}{{5}{}{{}}{{}}} \bibcite{Shadow_superpages}{{6}{}{{}}{{}}} \bibcite{DirectSegment}{{7}{}{{}}{{}}} \bibcite{karakostas_redundant_2015}{{8}{}{{}}{{}}} \bibcite{chen_flexpointer_2023}{{9}{}{{}}{{}}} \bibcite{TLBBehavoir}{{10}{}{{}}{{}}} \bibcite{jemalloc}{{11}{}{{}}{{}}} \bibcite{cheribsd}{{12}{}{{}}{{}}} \bibcite{Morello}{{13}{}{{}}{{}}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.4}Usability}{8}{subsection.5.4}\protected@file@percent } \newlabel{sec:orgd6ba6f0}{{5.4}{8}{Usability}{subsection.5.4}{}} \@writefile{toc}{\contentsline {section}{\numberline {6}Future work}{8}{section.6}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Storing Offsets Directly on Pointers}{8}{subsection.6.1}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {6.2}Hardware Modifications:}{8}{subsection.6.2}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {7}Conclusion}{8}{section.7}\protected@file@percent } \@writefile{toc}{\contentsline {section}{References}{8}{section*.10}\protected@file@percent } \bibcite{BenchmarkABI}{{14}{}{{}}{{}}} \bibcite{PerformanceCounter}{{15}{}{{}}{{}}} \bibcite{Benchmark}{{16}{}{{}}{{}}} \newlabel{tocindent-1}{0pt} \newlabel{tocindent0}{0pt} \newlabel{tocindent1}{4.185pt} \newlabel{tocindent2}{10.34999pt} \newlabel{tocindent3}{18.198pt} \newlabel{tocindent4}{0pt} \newlabel{tocindent5}{0pt} \providecommand\NAT@force@numbers{}\NAT@force@numbers \newlabel{TotPages}{{9}{9}{}{page.9}{}} \gdef \@abspage@last{9}