|
130 | 130 | * In one form or another these features have been restored in the
|
131 | 131 | * reintegration of the upstream umm_malloc into the Arduino ESP8266 Core.
|
132 | 132 | */
|
133 |
| -/* This block will be used for the non-WIP PR description: |
134 |
| -
|
135 |
| -This updates the heap management library, umm_malloc, to the current upstream |
136 |
| -version at https://github.com/rhempel/umm_malloc. Some reorganizing and new code |
137 |
| -was needed to use the new version. |
138 |
| -
|
139 |
| -This is a list of note worthy changes: |
140 |
| -
|
141 |
| -UMM_POISON - now has a lite option as well as the previous intensive check |
142 |
| -option. The code for running the full poison test at the call of the various |
143 |
| -alloc functions was removed in the upstream version. In this port the missing |
144 |
| -code was added to heap.cpp and umm_local.cpp. |
145 |
| -* UMM_POISON - appears to have been partially changed to UMM_POISON_CHECK, |
146 |
| - I treat it as depricated and used UMM_POISON_CHECK, when needed. |
147 |
| - However, the Arduino Core's references to UMM_POISON were replaced with |
148 |
| - UMM_POISON_CHECK_LITE. |
149 |
| -* UMM_POISON_CHECK_LITE - Less intense, it just checks poison on active |
150 |
| - neighboring allocations. |
151 |
| -* UMM_POISON_CHECK - Full heap intensive check of poison |
152 |
| -
|
153 |
| -UMM_INFO_PRINT - This new define makes building UMM_INFO with printing |
154 |
| -capability, optional. When umm_info(NULL, true) is used to print a debug view of |
155 |
| -heap information to the debug port, it has to walk the heap and print out |
156 |
| -information, while in a critical section. This requires that the print function |
157 |
| -be able to print w/o doing malloc calls and from an IRQ disabled context. It |
158 |
| -also requires more IRAM to handle printing. Without this define |
159 |
| -`umm_info(NULL, true)` will not print. |
160 |
| -* UMM_INFO_PRINT is enabled as part of selecting `Debug port: "Serial" or |
161 |
| -* "Serial1"`. To make available all the time use '-D UMM_INFO_PRINT`. |
162 |
| -
|
163 |
| -A cautionary note, on the use of UMM_INTEGRITY_CHECK, UMM_POISON_CHECK, and |
164 |
| -UMM_INFO_PRINT. All of these run with IRQs disabled, for periods that can go |
165 |
| -into 100's of us. With umm_info(NULL, true) that may go into seconds, depending |
166 |
| -on the serial interface speed and the number of memory allocations present. Use |
167 |
| -UMM_INTEGRITY_CHECK, UMM_POISON_CHECK, and UMM_INFO_PRINT sparingly. |
168 |
| -If you want to see numbers for the disabled time, explore using |
169 |
| -UMM_CRITICAL_METRICS in umm_malloc_cfg.h. |
170 |
| -
|
171 |
| - */ |
172 | 133 |
|
173 | 134 | /*
|
174 | 135 | * Added for using with Arduino ESP8266 and handling renameing to umm_malloc.cpp
|
|
0 commit comments