<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en" style="--code-editor-font: var(--default-mono-font, "GitLab Mono"), JetBrains Mono, Menlo, DejaVu Sans Mono, Liberation Mono, Consolas, Ubuntu Mono, Courier New, andale mono, lucida console, monospace;">
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
<title>
GitLab
</title>
<style data-premailer="ignore" type="text/css">
a { color: #1068bf; }
</style>
<style>img {
max-width: 100%; height: auto;
}
body {
font-size: .875rem;
}
body {
-webkit-text-shadow: hsla(0,0%,100%,.01) 0 0 1px;
}
body {
font-family: "GitLab Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; font-size: inherit;
}
</style>
</head>
<body style="font-size: inherit; -webkit-text-shadow: hsla(0,0%,100%,.01) 0 0 1px; font-family: "GitLab Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";">
<div class="content">
<p style="color: #777777;">
<a href="https://gitlab.rtems.org/mez3n">mazen Adel</a>
<a href="https://gitlab.rtems.org/rtems/rtos/rtems/-/work_items/5620#note_153191">commented</a>:
</p>
<div class="md" style="position: relative; z-index: 1; color: #3a383f; word-wrap: break-word;">
<p dir="auto" style="color: #3a383f; margin: 0px 0px 1rem;" align="initial">Update:</p>
<p dir="auto" style="color: #3a383f; margin: 0px 0px 1rem;" align="initial">I have opened the <a href="https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1308" title="Draft: cpukit/include: Refactor heapimpl.h" class="gfm gfm-merge_request" data-original="merge request " data-link="true" data-original-href="https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1308" data-link-reference="true" data-merge-request="2711" data-project="26" data-project-path="rtems/rtos/rtems" data-iid="1308" data-container="body" data-placement="top" data-reference-type="merge_request" style="margin-top: 0px;">merge request </a>for the heapimpl.h refactoring work. However, after discussion, we decided to keep the MR in draft state for now. The main reason is that the separation of functions between the generic heap interface and allocator-specific implementations is still not entirely clear, and we would like to better understand those boundaries before proceeding with the refactor.</p>
<p dir="auto" style="color: #3a383f; margin: 0px 0px 1rem;" align="initial">To gain a better understanding of which functionalities are allocator specific and which functionalities are generic , The mentors recommended that I look into the user level heap APIs. The goal was to trace the path from the public allocation interfaces down to the internal heap implementation functions.</p>
<p dir="auto" style="color: #3a383f; margin: 0px 0px 1rem;" align="initial">The user level heap functions currently map as follows:</p>
<ul dir="auto" style="text-align: initial; list-style-type: disc; margin: 0px 0px 1rem; padding: 0;">
<li style="margin-top: 0px; line-height: 1.6em; margin-left: 25px; padding-left: 3px;">malloc → rtems_heap_allocate_aligned</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">free → _Protected_heap_Free</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">realloc → _Heap_Resize_block (or malloc when a resize is not possible)</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">calloc → malloc</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">malloc_info → _Heap_Get_information</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">malloc_walk → _Protected_heap_Walk</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">malloc_free_space → _Protected_heap_Get_free_information</li>
</ul>
<p dir="auto" style="color: #3a383f; margin: 0px 0px 1rem;" align="initial">These functions further map to the following internal heap operations:</p>
<ul dir="auto" style="text-align: initial; list-style-type: disc; margin: 0px; padding: 0;">
<li style="margin-top: 0px; line-height: 1.6em; margin-left: 25px; padding-left: 3px;">rtems_heap_allocate_aligned → _Heap_Allocate_aligned_with_boundary</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">_Protected_heap_Free → _Heap_Free</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">_Heap_Resize_block</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">_Heap_Get_information → _Protected_heap_Walk</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">_Protected_heap_Get_free_information → _Heap_Get_free_information</li>
</ul>
</div>
</div>
<div class="footer" style="margin-top: 10px;">
<p style="font-size: small; color: #626168;">
—
<br>
<a href="https://gitlab.rtems.org/rtems/rtos/rtems/-/work_items/5620#note_153191">View it on GitLab</a>.
<br>
You're receiving this email because of your account on <a target="_blank" rel="noopener noreferrer" href="https://gitlab.rtems.org">gitlab.rtems.org</a>. <a href="https://gitlab.rtems.org/-/sent_notifications/4-8874ka330umrb4k894k9mq597-1d/unsubscribe" target="_blank" rel="noopener noreferrer">Unsubscribe</a> from this thread · <a href="https://gitlab.rtems.org/-/profile/notifications" target="_blank" rel="noopener noreferrer" class="mng-notif-link">Manage all notifications</a> · <a href="https://gitlab.rtems.org/help" target="_blank" rel="noopener noreferrer" class="help-link">Help</a>
<span style="color: transparent; font-size: 0; display: none; overflow: hidden; opacity: 0; width: 0; height: 0; max-width: 0; max-height: 0;">
Notification message regarding https://gitlab.rtems.org/rtems/rtos/rtems/-/work_items/5620#note_153191 at 1782311289
</span>
<script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","action":{"@type":"ViewAction","name":"View Work item","url":"https://gitlab.rtems.org/rtems/rtos/rtems/-/work_items/5620#note_153191"}}</script>
</p>
</div>
</body>
</html>