ADT
ast-experimental
pthread-emulation
qualifiedEnum
stuck-waitfor-destruct
|
Last change
on this file since c9136d9 was ba897d21, checked in by m3zulfiq <m3zulfiq@…>, 4 years ago |
|
added benchmark and evaluations chapter to thesis
|
-
Property mode
set to
100644
|
|
File size:
1.2 KB
|
| Line | |
|---|
| 1 | Algorithm~\ref{alg:heapObjectFreeOwn} shows how a free request is fulfilled if object ownership is turned on. Algorithm~\ref{alg:heapObjectFreeNoOwn} shows how the same free request is fulfilled without object ownership.
|
|---|
| 2 |
|
|---|
| 3 | \begin{algorithm}
|
|---|
| 4 | \caption{Dynamic object free at address A with object ownership}\label{alg:heapObjectFreeOwn}
|
|---|
| 5 | \begin{algorithmic}[1]
|
|---|
| 6 | \If {$\textit{A was mmap-ed}$}
|
|---|
| 7 | \State $\text{return A's dynamic memory to system using system call munmap}$
|
|---|
| 8 | \Else
|
|---|
| 9 | \State $\text{B} \gets \textit{O's owner}$
|
|---|
| 10 | \If {$\textit{B is thread-local heap's bucket}$}
|
|---|
| 11 | \State $\text{push A to B's free-list}$
|
|---|
| 12 | \Else
|
|---|
| 13 | \State $\text{push A to B's away-list}$
|
|---|
| 14 | \EndIf
|
|---|
| 15 | \EndIf
|
|---|
| 16 | \end{algorithmic}
|
|---|
| 17 | \end{algorithm}
|
|---|
| 18 |
|
|---|
| 19 | \begin{algorithm}
|
|---|
| 20 | \caption{Dynamic object free at address A without object ownership}\label{alg:heapObjectFreeNoOwn}
|
|---|
| 21 | \begin{algorithmic}[1]
|
|---|
| 22 | \If {$\textit{A was mmap-ed}$}
|
|---|
| 23 | \State $\text{return A's dynamic memory to system using system call munmap}$
|
|---|
| 24 | \Else
|
|---|
| 25 | \State $\text{B} \gets \textit{O's owner}$
|
|---|
| 26 | \If {$\textit{B is thread-local heap's bucket}$}
|
|---|
| 27 | \State $\text{push A to B's free-list}$
|
|---|
| 28 | \Else
|
|---|
| 29 | \State $\text{C} \gets \textit{thread local heap's bucket with same size as B}$
|
|---|
| 30 | \State $\text{push A to C's free-list}$
|
|---|
| 31 | \EndIf
|
|---|
| 32 | \EndIf
|
|---|
| 33 | \end{algorithmic}
|
|---|
| 34 | \end{algorithm}
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.