From 4bf67562ccddffe53031e9e619fd888cb133daf0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20RIVIERE?= Date: Mon, 1 Sep 2025 12:25:22 +0200 Subject: [PATCH 1/6] rename Managed heap to Managed Heap (case sensitive) --- ApplicationDeveloperGuide/UI/MWT/how-to-debug.rst | 2 +- ApplicationDeveloperGuide/UI/MWT/mwt-examples.rst | 2 +- .../UI/MicroUI/releaseNotes.rst | 2 +- ApplicationDeveloperGuide/UI/MicroVG/avdLoader.rst | 6 +++--- ApplicationDeveloperGuide/heapUsageMonitoring.rst | 2 +- ApplicationDeveloperGuide/javaTime.rst | 2 +- ApplicationDeveloperGuide/limitations.rst | 4 ++-- .../sectionArchitectureOptions.rst | 12 ++++++------ .../sectionSimulatorOptions.rst | 4 ++-- .../standaloneApplication.rst | 4 ++-- KernelDeveloperGuide/kernelLink.rst | 2 +- KernelDeveloperGuide/kf.rst | 6 +++--- SDK6UserGuide/heapAnalyzer.rst | 4 ++-- SDKUserGuide/heapAnalyzer.rst | 4 ++-- SDKUserGuide/moduleNatures.rst | 2 +- Trainings/trainingDebugHardfault.rst | 4 ++-- Trainings/tutorialOptimizeMemoryFootprint.rst | 12 ++++++------ Trainings/tutorialValidateGUIs.rst | 4 ++-- VEEPortingGuide/appendix/llapi.rst | 4 ++-- VEEPortingGuide/architectureChangelog.rst | 4 ++-- VEEPortingGuide/coreEngine.rst | 4 ++-- VEEPortingGuide/multiSandbox.rst | 14 +++++++------- VEEPortingGuide/simulator.rst | 2 +- VEEPortingGuide/uiChangeLog.rst | 8 ++++---- VEEPortingGuide/vgFont.rst | 2 +- VEEPortingGuide/vgGradient.rst | 2 +- VEEPortingGuide/vgImage.rst | 2 +- VEEPortingGuide/vgMatrix.rst | 2 +- VEEPortingGuide/vgPath.rst | 2 +- VEEWearUserGuide/framework.rst | 2 +- 30 files changed, 63 insertions(+), 63 deletions(-) diff --git a/ApplicationDeveloperGuide/UI/MWT/how-to-debug.rst b/ApplicationDeveloperGuide/UI/MWT/how-to-debug.rst index 3123fc186..cf13b760b 100644 --- a/ApplicationDeveloperGuide/UI/MWT/how-to-debug.rst +++ b/ApplicationDeveloperGuide/UI/MWT/how-to-debug.rst @@ -200,7 +200,7 @@ A ``null`` entry means that the parameter is from the default style (thus set by This feature is used in the :ref:`HierarchyInspector ` of the Widget library. -.. warning:: Beware that enabling that feature may downgrade the performances (more time to compute a style and more Managed heap used). +.. warning:: Beware that enabling that feature may downgrade the performances (more time to compute a style and more Managed Heap used). .. note:: Available since MWT 3.6.0. diff --git a/ApplicationDeveloperGuide/UI/MWT/mwt-examples.rst b/ApplicationDeveloperGuide/UI/MWT/mwt-examples.rst index 2a5667f85..921cc6225 100644 --- a/ApplicationDeveloperGuide/UI/MWT/mwt-examples.rst +++ b/ApplicationDeveloperGuide/UI/MWT/mwt-examples.rst @@ -115,7 +115,7 @@ When the joystick directions (up, down, left, right) are pressed, the focus chan This example shows how to create and use an immutable stylesheet. The immutable stylesheet resolves the style for a widget with the same algorithm as the `cascading stylesheet `_. -The difference is that the immutable stylesheet is described in an immutable file instead of Java code. Therefore, the style objects are allocated in flash instead of the Managed heap. +The difference is that the immutable stylesheet is described in an immutable file instead of Java code. Therefore, the style objects are allocated in flash instead of the Managed Heap. |endTable| diff --git a/ApplicationDeveloperGuide/UI/MicroUI/releaseNotes.rst b/ApplicationDeveloperGuide/UI/MicroUI/releaseNotes.rst index b4e7c4029..96cbd9479 100644 --- a/ApplicationDeveloperGuide/UI/MicroUI/releaseNotes.rst +++ b/ApplicationDeveloperGuide/UI/MicroUI/releaseNotes.rst @@ -55,7 +55,7 @@ From 10.x to 12.x ================= * In MicroEJ application launcher > ``Configuration`` tab > :ref:`MicroUI `: check ``Use Flying Images`` when the application is using the flying images (property ``com.microej.library.microui.flyingimage.enabled``). -* In MicroEJ application launcher, increase the :ref:`Managed heap `: it now contains MicroUI images metadata (size, format, clip etc.). The icetea heap has been automatically decreased. +* In MicroEJ application launcher, increase the :ref:`Managed Heap `: it now contains MicroUI images metadata (size, format, clip etc.). The icetea heap has been automatically decreased. From 9.x to 10.x ================ diff --git a/ApplicationDeveloperGuide/UI/MicroVG/avdLoader.rst b/ApplicationDeveloperGuide/UI/MicroVG/avdLoader.rst index 390914dd0..3ea596ed1 100644 --- a/ApplicationDeveloperGuide/UI/MicroVG/avdLoader.rst +++ b/ApplicationDeveloperGuide/UI/MicroVG/avdLoader.rst @@ -97,7 +97,7 @@ Format Limitations The library only supports a subset of the `Vector Drawable specification `_. The AVD Loader is designed to load AVDs at runtime on embedded devices. -It minimizes Managed heap usage and CPU time for XML parsing, Path creation, and adds little code to the final executable. +It minimizes Managed Heap usage and CPU time for XML parsing, Path creation, and adds little code to the final executable. The format is intentionally limited to reduce processing time and complexity while ensuring good performance, knowing that the :ref:`pre-processing step ` can convert any AVD into the compatible format. Note that this limitation on the Android Vector Drawable format does not apply to AVDs loaded as :ref:`raw vector images `. @@ -145,7 +145,7 @@ The resulting vector image can then be drawn on the display: The image must be provided as a raw resource of the application, either :ref:`internal or external `. For external resource loading, the BSP must implement the proper Abstraction Layer API (LLAPI), see :ref:`section_externalresourceloader` for more information on the implementation. .. warning:: - The new image is a ``ResourceVectorImage``. In the current implementation, an image loaded with the ``AvdImageLoader`` is allocated in the Managed heap. To release memory, the application must close the image and remove any references to it. + The new image is a ``ResourceVectorImage``. In the current implementation, an image loaded with the ``AvdImageLoader`` is allocated in the Managed Heap. To release memory, the application must close the image and remove any references to it. Limitations ----------- @@ -198,7 +198,7 @@ This processes the input SVG ``originalImage.svg`` and outputs a Vector Drawable Memory Usage ~~~~~~~~~~~~ -The loading of a Vector Drawable at runtime uses Managed heap: +The loading of a Vector Drawable at runtime uses Managed Heap: * for the working buffers and intermediate objects used during the loading phase. The XML parser is optimized to stream the data and uses as few heap as possible. * for the image data. diff --git a/ApplicationDeveloperGuide/heapUsageMonitoring.rst b/ApplicationDeveloperGuide/heapUsageMonitoring.rst index 6bba7e449..eda6729cd 100644 --- a/ApplicationDeveloperGuide/heapUsageMonitoring.rst +++ b/ApplicationDeveloperGuide/heapUsageMonitoring.rst @@ -6,7 +6,7 @@ Heap Usage Monitoring Introduction ------------ -When building a :ref:`standalone_application`, the Managed heap size must be specified +When building a :ref:`standalone_application`, the Managed Heap size must be specified as an :ref:`Application Option ` (see :ref:`option_managed_heap`). The value to set in this option depends on the maximum heap usage, and the developer can estimate it by running the application. diff --git a/ApplicationDeveloperGuide/javaTime.rst b/ApplicationDeveloperGuide/javaTime.rst index 887cec4af..bd1906e8d 100644 --- a/ApplicationDeveloperGuide/javaTime.rst +++ b/ApplicationDeveloperGuide/javaTime.rst @@ -338,7 +338,7 @@ TZDB Zone Rules Provider The library also defines a provider of zone rules for the time zones defined in the `IANA Time Zone Database `_ (TZDB). The TZDB provider reads the zones and rules from a raw resource at runtime. -Compared to the ``TzdbZoneRulesProvider`` of Java SE distributions, this implementation uses less Managed heap at runtime, making it more suitable for embedded devices. +Compared to the ``TzdbZoneRulesProvider`` of Java SE distributions, this implementation uses less Managed Heap at runtime, making it more suitable for embedded devices. .. warning:: The TZDB provider requires a target VEE Port that uses an architecture version ``8.1.1`` minimum (for ``8.x``), or ``7.20.5`` minimum (for ``7.x``). diff --git a/ApplicationDeveloperGuide/limitations.rst b/ApplicationDeveloperGuide/limitations.rst index 7eb5ed156..2dff03eb1 100644 --- a/ApplicationDeveloperGuide/limitations.rst +++ b/ApplicationDeveloperGuide/limitations.rst @@ -82,7 +82,7 @@ Please consult :ref:`architecture_changelog` for limitations changes on former v * - Number of methods and constructors calls - 500000000 - unlimited - * - Number of Managed heap Garbage Collection + * - Number of Managed Heap Garbage Collection - 3000 [4]_ - unlimited * - Number of Shielded Plug databases @@ -104,7 +104,7 @@ Please consult :ref:`architecture_changelog` for limitations changes on former v time is defined by the :ref:`maximum number of monitors per thread Application option `. .. [4] - The Managed heap Garbage Collection limit may throw unexpected cascading `java.lang.OutOfMemoryError`_ exceptions before the Core Engine exits. + The Managed Heap Garbage Collection limit may throw unexpected cascading `java.lang.OutOfMemoryError`_ exceptions before the Core Engine exits. .. _java.lang.OutOfMemoryError: https://repository.microej.com/javadoc/microej_5.x/apis/java/lang/OutOfMemoryError.html diff --git a/ApplicationDeveloperGuide/sectionArchitectureOptions.rst b/ApplicationDeveloperGuide/sectionArchitectureOptions.rst index f4d9350a2..c068558ec 100644 --- a/ApplicationDeveloperGuide/sectionArchitectureOptions.rst +++ b/ApplicationDeveloperGuide/sectionArchitectureOptions.rst @@ -111,7 +111,7 @@ Group: Heaps .. _option_managed_heap: -Option(text): Managed heap size (in bytes) +Option(text): Managed Heap size (in bytes) """""""""""""""""""""""""""""""""""""""""" *Option Name*: ``core.memory.javaheap.size`` @@ -120,9 +120,9 @@ Option(text): Managed heap size (in bytes) *Description*: -Specifies the Managed heap size in bytes. +Specifies the Managed Heap size in bytes. -A Managed heap contains live objects. An OutOfMemory error can occur if the +A Managed Heap contains live objects. An OutOfMemory error can occur if the heap is too small. .. _option_immortal_heap: @@ -807,14 +807,14 @@ output when Core Engine throws an OutOfMemoryError. .. _option_enable_heap_usage: -Option(checkbox): Enable Managed heap usage monitoring +Option(checkbox): Enable Managed Heap usage monitoring """""""""""""""""""""""""""""""""""""""""""""""""""""" *Option Name*: ``com.microej.runtime.debug.heap.monitoring.enabled`` *Default value*: ``false`` -Option(text): Managed heap initial size +Option(text): Managed Heap initial size """"""""""""""""""""""""""""""""""""""" *Option Name*: ``com.microej.runtime.debug.heap.monitoring.init.size`` @@ -823,7 +823,7 @@ Option(text): Managed heap initial size *Description*: -Specify the initial size (in bytes) of the Managed heap. +Specify the initial size (in bytes) of the Managed Heap. Group: SOAR ^^^^^^^^^^^ diff --git a/ApplicationDeveloperGuide/sectionSimulatorOptions.rst b/ApplicationDeveloperGuide/sectionSimulatorOptions.rst index 298940cb8..8b404c3ad 100644 --- a/ApplicationDeveloperGuide/sectionSimulatorOptions.rst +++ b/ApplicationDeveloperGuide/sectionSimulatorOptions.rst @@ -26,8 +26,8 @@ Option: Objects Heap Size *Description*: This memory area contains any kind of objects (regular, immortal and immutable objects). -If you get a ``java.lang.OutOfMemoryError`` exception but your Managed heap is not full, most likely you should augment this option. -It must be greater than the sum of :ref:`Managed heap ` and :ref:`Immortal Heap `. +If you get a ``java.lang.OutOfMemoryError`` exception but your Managed Heap is not full, most likely you should augment this option. +It must be greater than the sum of :ref:`Managed Heap ` and :ref:`Immortal Heap `. Option: System Chars Size ^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/ApplicationDeveloperGuide/standaloneApplication.rst b/ApplicationDeveloperGuide/standaloneApplication.rst index 187b3f020..73d5d0583 100644 --- a/ApplicationDeveloperGuide/standaloneApplication.rst +++ b/ApplicationDeveloperGuide/standaloneApplication.rst @@ -30,8 +30,8 @@ Standalone Application Options To run a Standalone Application on a VEE Port, a set of options must be defined. Options can be of different types: -- Memory Allocation options (e.g., set the Managed heap size). These options are usually called link-time options. -- Simulator & Debug options (e.g., enable periodic Managed heap dump). +- Memory Allocation options (e.g., set the Managed Heap size). These options are usually called link-time options. +- Simulator & Debug options (e.g., enable periodic Managed Heap dump). - Deployment options (e.g., copy ``microejapp.o`` to a suitable BSP location). - Foundation Library specific options (e.g., embed UTF-8 encoding). diff --git a/KernelDeveloperGuide/kernelLink.rst b/KernelDeveloperGuide/kernelLink.rst index e395a693f..c1f63838a 100644 --- a/KernelDeveloperGuide/kernelLink.rst +++ b/KernelDeveloperGuide/kernelLink.rst @@ -44,7 +44,7 @@ It produces a ``.kdat`` file that will be used to link the Sandboxed Application Kernel Metadata Generator -The ``.kdat`` file is optimized for size. When linking a Sandboxed Application ``.fso`` file, only the required metadata will be loaded in Managed heap. +The ``.kdat`` file is optimized for size. When linking a Sandboxed Application ``.fso`` file, only the required metadata will be loaded in Managed Heap. It will be loaded from a standard `InputStream`_, so that it can be stored to a memory that is not accessible from the CPU's address space. diff --git a/KernelDeveloperGuide/kf.rst b/KernelDeveloperGuide/kf.rst index 7fe4263f1..310759db8 100644 --- a/KernelDeveloperGuide/kf.rst +++ b/KernelDeveloperGuide/kf.rst @@ -728,9 +728,9 @@ The following APIs allow to configure the Managed Heap usage: Especially, allocations from Features will fail (throw an OutOfMemoryError): -- when the feature-specific limit is reached, before the Managed heap is full; -- when the Managed heap is full, before the feature-specific limit is reached; -- when the allocation would exceed the amount of memory available to Features (i.e. Managed heap size minus memory reserved for the Kernel). +- when the feature-specific limit is reached, before the Managed Heap is full; +- when the Managed Heap is full, before the feature-specific limit is reached; +- when the allocation would exceed the amount of memory available to Features (i.e. Managed Heap size minus memory reserved for the Kernel). The diagrams below illustrate a Kernel with two Features with various heap configuration scenarios. Kernel reserved memory and Feature memory limits are depicted as contiguous blocks for simplicity. diff --git a/SDK6UserGuide/heapAnalyzer.rst b/SDK6UserGuide/heapAnalyzer.rst index fcd43c0ba..b4723bcfe 100644 --- a/SDK6UserGuide/heapAnalyzer.rst +++ b/SDK6UserGuide/heapAnalyzer.rst @@ -8,7 +8,7 @@ Introduction Heap Dumper is a tool that allows to get a snapshot of the heap of an Application running on the Simulator or on a device. -The Heap Analyzer is a set of tools to help developers understand the contents of the Managed heap and find problems such as memory leaks. +The Heap Analyzer is a set of tools to help developers understand the contents of the Managed Heap and find problems such as memory leaks. For its part, the Heap Analyzer IDE plugin is able to visualize dump files. It helps you analyze their contents thanks to the following features: @@ -76,7 +76,7 @@ Heap Dumper ----------- The Heap Dumper generates ``.heap`` files. There are two implementations: -- the one integrated to the Simulator: it directly dumps ``.heap`` files from the Managed heap. +- the one integrated to the Simulator: it directly dumps ``.heap`` files from the Managed Heap. - the Heap Dumper tool: it generates ``.heap`` files from ``.hex`` files that must be manually retrieved from the device. The heap dump should be performed after a call to `System.gc()`_ to exclude discardable objects. diff --git a/SDKUserGuide/heapAnalyzer.rst b/SDKUserGuide/heapAnalyzer.rst index 41541816f..e98ca27ea 100644 --- a/SDKUserGuide/heapAnalyzer.rst +++ b/SDKUserGuide/heapAnalyzer.rst @@ -11,7 +11,7 @@ Heap Dumper is a tool that takes a snapshot of the heap. Generated files folder. The Heap Analyzer is a set of tools to help developers understand the -contents of the Managed heap and find problems such as memory leaks. +contents of the Managed Heap and find problems such as memory leaks. For its part, the Heap Analyzer plugin is able to open dump files. It helps you analyze their contents thanks to the following features: @@ -90,7 +90,7 @@ Heap Dumper The Heap Dumper generates ``.heap`` files. There are two implementations: -1. **Integrated with the Simulator**: Dumps ``.heap`` files directly from the Managed heap. +1. **Integrated with the Simulator**: Dumps ``.heap`` files directly from the Managed Heap. 2. **Heap Dumper Tool**: Generates ``.heap`` files from ``.hex`` files, which must be retrieved from the device using tools like GDB. Heap dumps should be performed after a call to `System.gc()`_ to exclude discardable objects. diff --git a/SDKUserGuide/moduleNatures.rst b/SDKUserGuide/moduleNatures.rst index a46a44840..c4dd4db3a 100644 --- a/SDKUserGuide/moduleNatures.rst +++ b/SDKUserGuide/moduleNatures.rst @@ -622,7 +622,7 @@ This plugin defines the following build options: - ``60`` * - microej.testsuite.properties.[name] - Inject an :ref:`Application Option ` named ``[name]`` for all tests. - For example, declaring the build option ``microej.testsuite.properties.core.memory.javaheap.size`` will configure the Managed heap size of all tests. + For example, declaring the build option ``microej.testsuite.properties.core.memory.javaheap.size`` will configure the Managed Heap size of all tests. - Not applicable * - microej.testsuite.properties.launch.test.trace.file - Set this property to ``true`` if your :ref:`VEE Port Run script ` redirects execution traces. diff --git a/Trainings/trainingDebugHardfault.rst b/Trainings/trainingDebugHardfault.rst index 3dcb24cea..f57ad5f6a 100644 --- a/Trainings/trainingDebugHardfault.rst +++ b/Trainings/trainingDebugHardfault.rst @@ -122,7 +122,7 @@ The cause(s) of a memory corruption can be: * A device incorrectly initialized or misconfigured. * ... -When the HardFault occurs in the Core Engine task, one of its internal structures may be corrupted (such as the Managed heap or Threads stacks). +When the HardFault occurs in the Core Engine task, one of its internal structures may be corrupted (such as the Managed Heap or Threads stacks). Add ``LLMJVM_checkIntegrity`` call in checkpoints of the BSP code to identify the timeslot of the memory corruption. Typically, you can check a native with: @@ -177,7 +177,7 @@ Attach an embedded debugger and get the following information: * the whole memory, if possible * otherwise, get the *hot sections* - * BSP and Managed heap and stack + * BSP and Managed Heap and stack * UI buffer * immortals heap * sections where the Java application and BSP are working together diff --git a/Trainings/tutorialOptimizeMemoryFootprint.rst b/Trainings/tutorialOptimizeMemoryFootprint.rst index 50a06d312..2abf59fcf 100644 --- a/Trainings/tutorialOptimizeMemoryFootprint.rst +++ b/Trainings/tutorialOptimizeMemoryFootprint.rst @@ -43,7 +43,7 @@ Suggested footprint analysis process: Footprint analysis tools: - The :ref:`memorymapanalyzer` allows to analyze the memory consumption of different features in the RAM and ROM. -- The :ref:`heapdumper` allow to understand the contents of the Managed heap and find problems such as memory leaks. +- The :ref:`heapdumper` allow to understand the contents of the Managed Heap and find problems such as memory leaks. - The `API Dependency Discoverer `_ allows to analyze a piece of code to detect all its dependencies. How to Analyze the Files Generated by the MicroEJ Linker @@ -196,14 +196,14 @@ The following application code guidelines are recommended in order to minimize t - Avoid using the :ref:`logging library ` or ``System.out.println()``, use the :ref:`trace library ` or the :ref:`message library ` instead. The logging library uses strings, while the trace and message libraries use integer-based error codes. - Avoid using the string concatenation operator (``+``), use an explicit `StringBuilder`_ instead. The code generated by the ``+`` operator is not optimal and is bigger than when using manual ``StringBuilder`` operations. -- Avoid manipulating wrappers such as `Integer`_ and `Long`_ objects, use primitive types instead. Such objects have to be allocated in Managed heap memory and require additional code for boxing and unboxing. +- Avoid manipulating wrappers such as `Integer`_ and `Long`_ objects, use primitive types instead. Such objects have to be allocated in Managed Heap memory and require additional code for boxing and unboxing. - Avoid declaring Java Enumerations (``enum``), declare compile-time constants of primitives types instead (e.g. ``static final int I = 0;``). - The Java compiler creates an `Enum`_ object in the Managed heap for each enumeration item, as well as complex class initialization code. + The Java compiler creates an `Enum`_ object in the Managed Heap for each enumeration item, as well as complex class initialization code. - Avoid using the `service`_ library, use singletons or `Constants.getClass()`_ instead. The service library requires embedding class reflection methods and the type names of both interfaces and implementations. - Avoid using the Java Collections Framework. This OpenJDK standard library has not been designed for memory constrained devices. - Use raw arrays instead of `List`_ objects. The `ArrayTools`_ class provides utility methods for common array operations. - - Use `PackedMap`_ objects instead of `Map`_ objects. It provides similar APIs and features with lower Managed heap usage. + - Use `PackedMap`_ objects instead of `Map`_ objects. It provides similar APIs and features with lower Managed Heap usage. - Use `ej.bon.Timer`_ instead of deprecated ``java.util.Timer``. When both class are used, almost all the code is embedded twice. - Use :ref:`BON constants ` in the following cases if possible: @@ -418,11 +418,11 @@ The following application configuration guidelines are recommended in order to m For more information on how to set an option, please refer to the :ref:`define_option` documentation. -Managed heap and Immortals Heap +Managed Heap and Immortals Heap ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Configure the :ref:`immortals heap ` option to be as small as possible. You can get the minimum value by calling `Immortals.freeMemory()`_ after the creation of all the immortal objects. -- Configure the :ref:`Managed heap ` option to fit the needs of the application. You can get it by using the :ref:`Heap Usage Monitoring Tool `. +- Configure the :ref:`Managed Heap ` option to fit the needs of the application. You can get it by using the :ref:`Heap Usage Monitoring Tool `. .. _Immortals.freeMemory(): https://repository.microej.com/javadoc/microej_5.x/apis/ej/bon/Immortals.html diff --git a/Trainings/tutorialValidateGUIs.rst b/Trainings/tutorialValidateGUIs.rst index 4a4fee2fe..32bcde87e 100644 --- a/Trainings/tutorialValidateGUIs.rst +++ b/Trainings/tutorialValidateGUIs.rst @@ -46,11 +46,11 @@ Memory Management The Java management of memory may affect UI performances: - Too much memory allocation/deallocation for UI resources (Images, Fonts). -- Too much object instantiation will lead to a big Managed heap size. In some use cases, the garbage collection may lead to the UI slowing down. +- Too much object instantiation will lead to a big Managed Heap size. In some use cases, the garbage collection may lead to the UI slowing down. To avoid those pitfalls: -- Calibrate the memories (Managed heap, Images heap, etc.). +- Calibrate the memories (Managed Heap, Images heap, etc.). - Uses memory debugging tools: - :ref:`Optimize Memory Footprint` training. diff --git a/VEEPortingGuide/appendix/llapi.rst b/VEEPortingGuide/appendix/llapi.rst index 8814dcf12..4dd411125 100644 --- a/VEEPortingGuide/appendix/llapi.rst +++ b/VEEPortingGuide/appendix/llapi.rst @@ -575,7 +575,7 @@ Creation The header file ``LLVG_PATH_impl.h`` allows to convert a MicroVG library format path in a buffer that represents the same vectorial path in the target specific format (generally GPU format). The first function called is ``LLVG_PATH_IMPL_initializePath``, which allows the implementation to initialize the path buffer. -The buffer is allocated in the Managed heap and its size is fixed by the MicroVG implementation. +The buffer is allocated in the Managed Heap and its size is fixed by the MicroVG implementation. When the buffer is too small for the target specific format, the implementation has to return the expected buffer size instead of the keyword ``LLVG_SUCCESS``. The next steps consist in appending some commands in the path buffer. @@ -636,7 +636,7 @@ Only one function has to be implemented: ``LLVG_GRADIENT_IMPL_initializeGradient It consists in encoding the MicroVG LinearGradient in a buffer that represents the linear gradient in target specific format (generally GPU format). This function allows the implementation to initialize the gradient buffer. -The buffer is allocated in the Managed heap and its size is fixed by the MicroVG implementation. +The buffer is allocated in the Managed Heap and its size is fixed by the MicroVG implementation. When the buffer is too small for the target specific format, the implementation has to return the expected buffer size instead of the keyword ``LLVG_SUCCESS``. .. _LLVG-FONT-API-SECTION: diff --git a/VEEPortingGuide/architectureChangelog.rst b/VEEPortingGuide/architectureChangelog.rst index b79b1af87..4bbf5308d 100644 --- a/VEEPortingGuide/architectureChangelog.rst +++ b/VEEPortingGuide/architectureChangelog.rst @@ -388,7 +388,7 @@ Simulator - Added support for mark/reset on an InputStream returned by `Class.getResourceAsStream()`_. - Fixed "Internal limits" error in HIL engine when too many array arguments are used at the same time by one or several native methods. - Fixed slow reading with an array of bytes of the input stream returned by `Class.getResourceAsStream(String)`_. -- Fixed configuration of the Managed heap size using :ref:`option_managed_heap`. The legacy ``core.memory.javaheapsum.size`` option is not more supported. +- Fixed configuration of the Managed Heap size using :ref:`option_managed_heap`. The legacy ``core.memory.javaheapsum.size`` option is not more supported. - Fixed :ref:`option_immortal_heap` default value when running a Standalone Application using MMM. - Fixed stop of the HIL Engine if Simulator was terminated before the connection is established. - Fixed load of the Mock classes in the classpath order (left-to-right). @@ -1584,7 +1584,7 @@ Simulator ~~~~~~~~~ - Added ``Embed all types names`` option for Simulation -- Added memory size simulation for Managed heap and Immortal Heap +- Added memory size simulation for Managed Heap and Immortal Heap (Enabling ``Use target characteristics`` option is no more required) - Added Kernel & Features semantic, as defined in the ``KF-1.4`` specification diff --git a/VEEPortingGuide/coreEngine.rst b/VEEPortingGuide/coreEngine.rst index ced12549f..229391adf 100644 --- a/VEEPortingGuide/coreEngine.rst +++ b/VEEPortingGuide/coreEngine.rst @@ -283,7 +283,7 @@ The following table describes these error codes. | | :ref:`limitations` and :ref:`option_number_of_threads`. | +-------------+-------------------------------------------------------------+ | -13 | Fail to start the Application because the | - | | specified managed heap is too large or too small. | + | | specified Managed Heap is too large or too small. | | | See section :ref:`option_managed_heap`. | +-------------+-------------------------------------------------------------+ | -14 | Invalid Application stack configuration. The | @@ -303,7 +303,7 @@ The following table describes these error codes. | | | | | - ``SNI_createVM`` called several times. | +-------------+-------------------------------------------------------------+ - | -18 | The memory used for the managed heap or immortal heap | + | -18 | The memory used for the Managed Heap or immortal heap | | | does not work properly. Read/Write memory checks | | | failed. This may be caused by an invalid external RAM | | | configuration. Verify ``_java_heap`` and | diff --git a/VEEPortingGuide/multiSandbox.rst b/VEEPortingGuide/multiSandbox.rst index 701cab16d..5f7576ce0 100644 --- a/VEEPortingGuide/multiSandbox.rst +++ b/VEEPortingGuide/multiSandbox.rst @@ -148,8 +148,8 @@ The Code is divided into chunks. Each chunk is temporarily copied to RAM to be r A minimum amount of RAM is required: -- A temporary buffer is allocated in the Managed heap for reading bytes from the InputStream, -- Metadata is allocated in the Managed heap, +- A temporary buffer is allocated in the Managed Heap for reading bytes from the InputStream, +- Metadata is allocated in the Managed Heap, - Code chunk is temporarily copied in a memory area to be relocated (see more details below). .. figure:: images/multisandbox-link-overview.png @@ -227,7 +227,7 @@ A small number will reduce the RAM consumption but will increase the ``.fo`` siz InputStream Transfer Buffer Size ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -When calling the `Kernel.install(InputStream)`_ method, the Feature ``.fo`` bytes are read from the InputStream using a temporary byte array allocated in the Managed heap. +When calling the `Kernel.install(InputStream)`_ method, the Feature ``.fo`` bytes are read from the InputStream using a temporary byte array allocated in the Managed Heap. The size of this array can be configured with the following option: **Option Name**: ``com.microej.runtime.kf.link.transferbuffer.size`` @@ -284,15 +284,15 @@ The following table summarizes the sections and their content: - **Target Memory Location** * - ``.soar.rel`` - Metadata - - Managed heap + - Managed Heap - None * - ``.strtab`` - Metadata - - Managed heap + - Managed Heap - None * - ``.symbtab`` - Metadata - - Managed heap + - Managed Heap - None * - ``.bss.soar.feature`` - RW Data @@ -308,7 +308,7 @@ The following table summarizes the sections and their content: - Features ROM area * - ``.shstrtab`` - Metadata - - Managed heap + - Managed Heap - None .. _feature_inplace_installation: diff --git a/VEEPortingGuide/simulator.rst b/VEEPortingGuide/simulator.rst index ce25beaeb..78dc5627f 100644 --- a/VEEPortingGuide/simulator.rst +++ b/VEEPortingGuide/simulator.rst @@ -6,7 +6,7 @@ Principle The MicroEJ Platform provides an accurate MicroEJ Simulator that runs on workstations. Applications execute in an almost identical manner on both the workstation and on target devices. The MicroEJ Simulator features IO -simulation, JDWP debug coupled with Eclipse, accurate Managed heap dump, +simulation, JDWP debug coupled with Eclipse, accurate Managed Heap dump, and an accurate Java scheduling policy (the same as the embedded one). [1]_ diff --git a/VEEPortingGuide/uiChangeLog.rst b/VEEPortingGuide/uiChangeLog.rst index 1bb18ed60..feee06c55 100644 --- a/VEEPortingGuide/uiChangeLog.rst +++ b/VEEPortingGuide/uiChangeLog.rst @@ -1397,7 +1397,7 @@ Front Panel **Fixed** * Fix the "display context switch" and the loading of feature's font. -* Fix OOM (Managed heap space) when opening/closing several hundreds of big RAW Images. +* Fix OOM (Managed Heap space) when opening/closing several hundreds of big RAW Images. * Fix the synchronization with the Graphics Engine when calling `GraphicsContext.setColor()`_ or `GraphicsContext.enableEllipsis()`_. .. _GraphicsContext.setColor(): https://repository.microej.com/javadoc/microej_5.x/apis/ej/microui/display/GraphicsContext.html#setColor-int- @@ -1504,7 +1504,7 @@ Front Panel **Fixed** * Fix OutputFormat A8 when loading an image (path or stream) or converting a RAW image. -* Fix OOM (Managed heap space) when opening/closing several hundreds of MicroUI Images. +* Fix OOM (Managed Heap space) when opening/closing several hundreds of MicroUI Images. * Simulates the image data alignment. LLAPIs @@ -1671,7 +1671,7 @@ MicroUI Implementation **Fixed** -* Reduce Managed heap usage. +* Reduce Managed Heap usage. * Fix empty images heap. * Draw image algorithm does not respect image stride in certain circumstances. * Fix flush limits of `drawThickFadedLine`_, `drawThickEllipse`_ and `drawThickFadedEllipse`_. @@ -1935,7 +1935,7 @@ MicroUI Implementation **Fixed** -* Obsolete references on Managed heap are used (since MicroEJ UI Pack 12.0.0). +* Obsolete references on Managed Heap are used (since MicroEJ UI Pack 12.0.0). .. _section_ui_changelog_12_1_3: diff --git a/VEEPortingGuide/vgFont.rst b/VEEPortingGuide/vgFont.rst index 148a2fabe..d65de7869 100644 --- a/VEEPortingGuide/vgFont.rst +++ b/VEEPortingGuide/vgFont.rst @@ -27,7 +27,7 @@ A font file: * is identified by the resource name, * can be stored as internal resource or external (see :ref:`vectorfont_external`). -No data is stored in the Managed heap. +No data is stored in the Managed Heap. The implementation is responsible for the font's cycle life: allocation and release. A font is used to draw a string with a color or with a :ref:`linear gradient`. diff --git a/VEEPortingGuide/vgGradient.rst b/VEEPortingGuide/vgGradient.rst index ca2721679..8d9f9d03f 100644 --- a/VEEPortingGuide/vgGradient.rst +++ b/VEEPortingGuide/vgGradient.rst @@ -23,7 +23,7 @@ A linear gradient is a succession of colors at different positions. The colors from the MicroVG library implementation are encoded in the 32-bit format: ARGB8888. The color encoding in the gradient is a VEE Port-specific implementation. -The buffer where the gradient is encoded is stored in the Managed heap. +The buffer where the gradient is encoded is stored in the Managed Heap. The MicroVG implementation on demand automatically increases the buffer size. .. _LinearGradient: https://repository.microej.com/javadoc/microej_5.x/apis/ej/microvg/LinearGradient.html diff --git a/VEEPortingGuide/vgImage.rst b/VEEPortingGuide/vgImage.rst index 561d4b327..2f0c072ee 100644 --- a/VEEPortingGuide/vgImage.rst +++ b/VEEPortingGuide/vgImage.rst @@ -131,7 +131,7 @@ To load this kind of image, the application has to call `VectorImage.getImage()` This API takes the image relative path: ``/avd_image_1.xml`` or ``/path/to/avd_image_2.xml`` or ``/svg_image.svg``. The implementation uses the Abstraction Layer API to retrieve the image. -No data is stored in the Managed heap (except the `VectorImage`_ object's instance). +No data is stored in the Managed Heap (except the `VectorImage`_ object's instance). Resource Vector Image ===================== diff --git a/VEEPortingGuide/vgMatrix.rst b/VEEPortingGuide/vgMatrix.rst index 552a66bd8..1b39403ed 100644 --- a/VEEPortingGuide/vgMatrix.rst +++ b/VEEPortingGuide/vgMatrix.rst @@ -30,7 +30,7 @@ A matrix is a 3x3 matrix, and its elements are encoded in ``float`` (32-bit valu * matrix_memory[7] = matrix[2][1]; * matrix_memory[8] = matrix[2][2]; -The buffer where the matrix is encoded is stored in the Managed heap. +The buffer where the matrix is encoded is stored in the Managed Heap. .. _Matrix: https://repository.microej.com/javadoc/microej_5.x/apis/ej/microvg/Matrix.html diff --git a/VEEPortingGuide/vgPath.rst b/VEEPortingGuide/vgPath.rst index 0fdd1e43f..300c4a9e4 100644 --- a/VEEPortingGuide/vgPath.rst +++ b/VEEPortingGuide/vgPath.rst @@ -37,7 +37,7 @@ List of commands: * ``LLVG_PATH_CMD_CUBIC``: MicroVG "CUBIC ABS" command. * ``LLVG_PATH_CMD_CUBIC_REL``: MicroVG "CUBIC REL" command. -The buffer where the commands are encoded is stored in the Managed heap. +The buffer where the commands are encoded is stored in the Managed Heap. The buffer size is automatically increased by the MicroVG implementation when no more commands can be added. A path is drawn with a color or with a :ref:`linear gradient`. diff --git a/VEEWearUserGuide/framework.rst b/VEEWearUserGuide/framework.rst index 7c1aecb99..40f31f1f5 100644 --- a/VEEWearUserGuide/framework.rst +++ b/VEEWearUserGuide/framework.rst @@ -29,7 +29,7 @@ The build generates an executable file and a Virtual Device which must be provid The VEE Wear Kernel Application requires the following amount of memory: -- RAM: around 400KB (mainly for Managed heap and buffered images) +- RAM: around 400KB (mainly for Managed Heap and buffered images) - ROM: from 250KB to 1MB for each App (mainly for its images) The Kernel provides the following APIs to the Apps: From bbe2c5458c4ef1d8f9fec4b9e920b2f087029479 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20RIVIERE?= Date: Mon, 1 Sep 2025 12:34:14 +0200 Subject: [PATCH 2/6] rename Immortals heap to Immortals Heap (case sensitive) --- ApplicationDeveloperGuide/UI/MicroUI/applicationOptions.rst | 2 +- Trainings/trainingDebugHardfault.rst | 4 ++-- Trainings/tutorialOptimizeMemoryFootprint.rst | 2 +- VEEPortingGuide/architectureChangelog.rst | 2 +- VEEPortingGuide/uiChangeLog.rst | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ApplicationDeveloperGuide/UI/MicroUI/applicationOptions.rst b/ApplicationDeveloperGuide/UI/MicroUI/applicationOptions.rst index 4a374e2e3..b8149401e 100644 --- a/ApplicationDeveloperGuide/UI/MicroUI/applicationOptions.rst +++ b/ApplicationDeveloperGuide/UI/MicroUI/applicationOptions.rst @@ -6,7 +6,7 @@ Application Options MicroUI libraries and its tools provide a set of options. See :ref:`application_options` to have more information about the application options. -.. note:: MicroUI implementation requires one thread (MicroUI Pump) and at least 100 bytes in the :ref:`immortals heap `. +.. note:: MicroUI implementation requires one thread (MicroUI Pump) and at least 100 bytes in the :ref:`Immortals Heap `. .. include:: sectionArchitectureOptions.rst diff --git a/Trainings/trainingDebugHardfault.rst b/Trainings/trainingDebugHardfault.rst index f57ad5f6a..741a89497 100644 --- a/Trainings/trainingDebugHardfault.rst +++ b/Trainings/trainingDebugHardfault.rst @@ -153,7 +153,7 @@ Determine which memory regions are affected and determine which components are r * What are the code sections for the BSP and the Application? * Where are the BSP stack and heap? What about the Application stack and heap? - * Where is the Java immortals heap? + * Where is the Java Immortals Heap? * Where are the Java strings? * Where is the MicroEJ UI buffer? * Besides the Java immortals, what are the other intersection point between the Java application and the BSP? (e.g., a temporary RAM buffer for JPEG decoder). @@ -179,7 +179,7 @@ Attach an embedded debugger and get the following information: * BSP and Managed Heap and stack * UI buffer - * immortals heap + * Immortals Heap * sections where the Java application and BSP are working together * :ref:`vm_dump_debugger` diff --git a/Trainings/tutorialOptimizeMemoryFootprint.rst b/Trainings/tutorialOptimizeMemoryFootprint.rst index 2abf59fcf..4f8e943d6 100644 --- a/Trainings/tutorialOptimizeMemoryFootprint.rst +++ b/Trainings/tutorialOptimizeMemoryFootprint.rst @@ -421,7 +421,7 @@ For more information on how to set an option, please refer to the :ref:`define_o Managed Heap and Immortals Heap ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- Configure the :ref:`immortals heap ` option to be as small as possible. You can get the minimum value by calling `Immortals.freeMemory()`_ after the creation of all the immortal objects. +- Configure the :ref:`Immortals Heap ` option to be as small as possible. You can get the minimum value by calling `Immortals.freeMemory()`_ after the creation of all the immortal objects. - Configure the :ref:`Managed Heap ` option to fit the needs of the application. You can get it by using the :ref:`Heap Usage Monitoring Tool `. .. _Immortals.freeMemory(): https://repository.microej.com/javadoc/microej_5.x/apis/ej/bon/Immortals.html diff --git a/VEEPortingGuide/architectureChangelog.rst b/VEEPortingGuide/architectureChangelog.rst index 4bbf5308d..b197f296a 100644 --- a/VEEPortingGuide/architectureChangelog.rst +++ b/VEEPortingGuide/architectureChangelog.rst @@ -1655,7 +1655,7 @@ Core Engine ~~~~~~~~~~~ - Fixed `OutOfMemoryError`_ - thrown when allocating an object of the size of free memory in immortals heap + thrown when allocating an object of the size of free memory in Immortals Heap .. _soar-6: diff --git a/VEEPortingGuide/uiChangeLog.rst b/VEEPortingGuide/uiChangeLog.rst index feee06c55..f9c666c4c 100644 --- a/VEEPortingGuide/uiChangeLog.rst +++ b/VEEPortingGuide/uiChangeLog.rst @@ -1466,7 +1466,7 @@ MicroUI Implementation **Changed** -* Check Immortals heap minimal size required by MicroUI implementation. +* Check Immortals Heap minimal size required by MicroUI implementation. * Change the EventGenerator Pointer event format. * Do no systematically use the GPU to draw intermediate steps of a shape. From 725f0a696f0310c4f88ed5c5767d48b904a29300 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20RIVIERE?= Date: Mon, 1 Sep 2025 12:34:46 +0200 Subject: [PATCH 3/6] Rename Immortal Heap to Immortals Heap (case sensitive) --- ApplicationDeveloperGuide/sectionArchitectureOptions.rst | 6 +++--- ApplicationDeveloperGuide/sectionSimulatorOptions.rst | 2 +- SDK6UserGuide/testProject.rst | 2 +- VEEPortingGuide/architectureChangelog.rst | 6 +++--- VEEPortingGuide/coreEngine.rst | 6 +++--- VEEPortingGuide/uiChangeLog.rst | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/ApplicationDeveloperGuide/sectionArchitectureOptions.rst b/ApplicationDeveloperGuide/sectionArchitectureOptions.rst index c068558ec..8023a6c3b 100644 --- a/ApplicationDeveloperGuide/sectionArchitectureOptions.rst +++ b/ApplicationDeveloperGuide/sectionArchitectureOptions.rst @@ -127,7 +127,7 @@ heap is too small. .. _option_immortal_heap: -Option(text): Immortal heap size (in bytes) +Option(text): Immortals Heap size (in bytes) """"""""""""""""""""""""""""""""""""""""""" *Option Name*: ``core.memory.immortal.size`` @@ -136,9 +136,9 @@ Option(text): Immortal heap size (in bytes) *Description*: -Specifies the Immortal heap size in bytes. +Specifies the Immortals Heap size in bytes. -The Immortal heap contains allocated Immortal objects. An OutOfMemory error can +The Immortals Heap contains allocated Immortal objects. An OutOfMemory error can occur if the heap is too small. Group: Threads diff --git a/ApplicationDeveloperGuide/sectionSimulatorOptions.rst b/ApplicationDeveloperGuide/sectionSimulatorOptions.rst index 8b404c3ad..56cab113a 100644 --- a/ApplicationDeveloperGuide/sectionSimulatorOptions.rst +++ b/ApplicationDeveloperGuide/sectionSimulatorOptions.rst @@ -27,7 +27,7 @@ Option: Objects Heap Size This memory area contains any kind of objects (regular, immortal and immutable objects). If you get a ``java.lang.OutOfMemoryError`` exception but your Managed Heap is not full, most likely you should augment this option. -It must be greater than the sum of :ref:`Managed Heap ` and :ref:`Immortal Heap `. +It must be greater than the sum of :ref:`Managed Heap ` and :ref:`Immortals Heap `. Option: System Chars Size ^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/SDK6UserGuide/testProject.rst b/SDK6UserGuide/testProject.rst index 3020a7343..1b51aa03f 100644 --- a/SDK6UserGuide/testProject.rst +++ b/SDK6UserGuide/testProject.rst @@ -521,7 +521,7 @@ The properties are: This property is only required if the VEE Port does not redirect execution traces. Any other property can be passed to the Test Engine by prefixing it by ``microej.testsuite.properties.``. -For example, to set the the Immortal heap size: +For example, to set the the Immortals Heap size: .. code-block:: diff --git a/VEEPortingGuide/architectureChangelog.rst b/VEEPortingGuide/architectureChangelog.rst index b197f296a..ec675054d 100644 --- a/VEEPortingGuide/architectureChangelog.rst +++ b/VEEPortingGuide/architectureChangelog.rst @@ -43,7 +43,7 @@ specific configuration: Core Engine ~~~~~~~~~~~ -- Updated :ref:`External Resources Loader` implementation to use SNI 1.4 which removes allocations to the Immortal Heap. +- Updated :ref:`External Resources Loader` implementation to use SNI 1.4 which removes allocations to the Immortals Heap. - Fixed an issue where ``LLMJVM_MONITOR_IMPL_on_thread_state_changed()`` was not called when a thread was preempted by another thread due to higher priority or round-robin scheduling. - [Multi] - Increased the :ref:`limitation ` on the maximum number of threads from 63 to 127. @@ -60,7 +60,7 @@ Simulator - Added :ref:`Mock event tracing `. - Added, in Front Panel, the ability to resize the window, an options toolbar, and a status bar (see :ref:`frontpanel_overview`). - Fixed, in Front Panel, synchronization on the widget display accesses and rendering of the widgets other than display. -- Fixed initialization of an empty Immortal Heap when :ref:`option_immortal_heap` is set to 0. +- Fixed initialization of an empty Immortals Heap when :ref:`option_immortal_heap` is set to 0. - Fixed the implementation of `Tracer.isTraceStarted()`_ that could return ``true`` when trace recording is not yet enabled in some cases. - Fixed `InputStream.reset()`_ method on a :ref:`Resource ` that could throw an unexpected `IOException`_ after the end of stream is reached. - Fixed Front Panel not starting at boot. It was previously only displayed after the `MicroUI.start()`_ call. @@ -1584,7 +1584,7 @@ Simulator ~~~~~~~~~ - Added ``Embed all types names`` option for Simulation -- Added memory size simulation for Managed Heap and Immortal Heap +- Added memory size simulation for Managed Heap and Immortals Heap (Enabling ``Use target characteristics`` option is no more required) - Added Kernel & Features semantic, as defined in the ``KF-1.4`` specification diff --git a/VEEPortingGuide/coreEngine.rst b/VEEPortingGuide/coreEngine.rst index 229391adf..95838595d 100644 --- a/VEEPortingGuide/coreEngine.rst +++ b/VEEPortingGuide/coreEngine.rst @@ -303,7 +303,7 @@ The following table describes these error codes. | | | | | - ``SNI_createVM`` called several times. | +-------------+-------------------------------------------------------------+ - | -18 | The memory used for the Managed Heap or immortal heap | + | -18 | The memory used for the Managed Heap or Immortals Heap | | | does not work properly. Read/Write memory checks | | | failed. This may be caused by an invalid external RAM | | | configuration. Verify ``_java_heap`` and | @@ -670,7 +670,7 @@ Starting from :ref:`Architecture 8.0.0 `, sections have been re +================================+===================================+=============+============+ | ``.bss.microej.heap`` | Application heap | RW | 4 | +--------------------------------+-----------------------------------+-------------+------------+ - | ``.bss.microej.immortals`` | Application immortal heap | RW | 4 | + | ``.bss.microej.immortals`` | Application Immortals Heap | RW | 4 | | | | | | +--------------------------------+-----------------------------------+-------------+------------+ | ``.bss.microej.stacks`` | Application threads stack | RW [1]_ | 8 | @@ -709,7 +709,7 @@ Starting from :ref:`Architecture 8.0.0 `, sections have been re +=============================+=============================+=============+============+ | ``_java_heap`` | Application heap | RW | 4 | +-----------------------------+-----------------------------+-------------+------------+ - | ``_java_immortals`` | Application immortal heap | RW | 4 | + | ``_java_immortals`` | Application Immortals Heap | RW | 4 | | | | | | +-----------------------------+-----------------------------+-------------+------------+ | ``.bss.vm.stacks.java`` | Application threads stack | RW [1]_ | 8 | diff --git a/VEEPortingGuide/uiChangeLog.rst b/VEEPortingGuide/uiChangeLog.rst index f9c666c4c..bff39d9bb 100644 --- a/VEEPortingGuide/uiChangeLog.rst +++ b/VEEPortingGuide/uiChangeLog.rst @@ -1734,7 +1734,7 @@ MicroUI Implementation * Antialiased circle may be cropped. * `FillRoundedRectangle`_ can give invalid arguments to `FillRectangle`_. * Flush bounds may be invalid. -* Reduce memory footprint (java heap and immortal heap). +* Reduce memory footprint (java heap and Immortals Heap). * No font is loaded when an external font is not available. * A8 color is cropped to display limitation too earlier on simulator. From 959edd7092fecbc8b63c3838de948b5b65432e97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20RIVIERE?= Date: Mon, 1 Sep 2025 12:40:23 +0200 Subject: [PATCH 4/6] rename legacy Java Heap --- VEEPortingGuide/uiChangeLog.rst | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/VEEPortingGuide/uiChangeLog.rst b/VEEPortingGuide/uiChangeLog.rst index bff39d9bb..555cc0266 100644 --- a/VEEPortingGuide/uiChangeLog.rst +++ b/VEEPortingGuide/uiChangeLog.rst @@ -1734,7 +1734,7 @@ MicroUI Implementation * Antialiased circle may be cropped. * `FillRoundedRectangle`_ can give invalid arguments to `FillRectangle`_. * Flush bounds may be invalid. -* Reduce memory footprint (java heap and Immortals Heap). +* Reduce memory footprint (Managed Heap and Immortals Heap). * No font is loaded when an external font is not available. * A8 color is cropped to display limitation too earlier on simulator. @@ -1822,7 +1822,7 @@ MicroUI Implementation * Reduce EDC dependency. * Merge ``DisplayPump`` and ``InputPump``: only one thread is required by MicroUI. -* Use a ``bss`` section to load characters from an external font instead of using java heap. +* Use a ``bss`` section to load characters from an external font instead of using Managed Heap. **Removed** @@ -1883,7 +1883,7 @@ Font Generator **Changed** -* Used a dedicated ``bss`` section to load characters from an external font instead of using the java heap. +* Used a dedicated ``bss`` section to load characters from an external font instead of using the Managed Heap. LLAPIs """""" @@ -2035,8 +2035,8 @@ MicroUI Implementation **Changed** * Change ``CM4hardfp_IAR83`` compiler flags. -* Remove RAW images from cache as soon as possible to reduce java heap usage. -* Do not cache RAW images with their paths to reduce java heap usage. +* Remove RAW images from cache as soon as possible to reduce Managed Heap usage. +* Do not cache RAW images with their paths to reduce Managed Heap usage. **Fixed** @@ -2083,11 +2083,11 @@ MicroUI Implementation **Changed** * Manage the Graphics Context clip on native side. -* Use java heap to store images metadata instead of using icetea heap (remove option "max offscreen"). +* Use Managed Heap to store images metadata instead of using icetea heap (remove option "max offscreen"). * Optimize retrieval of all fonts. * Ensure user buffer size is larger than LCD size. -* Use java heap to store flying images metadata instead of using icetea heap (remove option "max flying images"). -* Use java heap to store fill polygon algorithm's objects instead of using icetea heap (remove option "max edges"). +* Use Managed Heap to store flying images metadata instead of using icetea heap (remove option "max flying images"). +* Use Managed Heap to store fill polygon algorithm's objects instead of using icetea heap (remove option "max edges"). * ``SecurityManager`` enabled as a boolean constant option (footprint removal by default). * Remove ``FlyingImage`` feature using BON constants (option to enable it). From c2f75551d5451b6dac43eceb1d63d5c82dbcd5ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20RIVIERE?= Date: Mon, 1 Sep 2025 14:35:47 +0200 Subject: [PATCH 5/6] fixes --- ApplicationDeveloperGuide/sectionArchitectureOptions.rst | 2 +- VEEPortingGuide/coreEngine.rst | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ApplicationDeveloperGuide/sectionArchitectureOptions.rst b/ApplicationDeveloperGuide/sectionArchitectureOptions.rst index 8023a6c3b..c7a4e9e2d 100644 --- a/ApplicationDeveloperGuide/sectionArchitectureOptions.rst +++ b/ApplicationDeveloperGuide/sectionArchitectureOptions.rst @@ -128,7 +128,7 @@ heap is too small. .. _option_immortal_heap: Option(text): Immortals Heap size (in bytes) -""""""""""""""""""""""""""""""""""""""""""" +"""""""""""""""""""""""""""""""""""""""""""" *Option Name*: ``core.memory.immortal.size`` diff --git a/VEEPortingGuide/coreEngine.rst b/VEEPortingGuide/coreEngine.rst index 95838595d..dda2a90bb 100644 --- a/VEEPortingGuide/coreEngine.rst +++ b/VEEPortingGuide/coreEngine.rst @@ -303,7 +303,7 @@ The following table describes these error codes. | | | | | - ``SNI_createVM`` called several times. | +-------------+-------------------------------------------------------------+ - | -18 | The memory used for the Managed Heap or Immortals Heap | + | -18 | The memory used for the Managed Heap or Immortals Heap | | | does not work properly. Read/Write memory checks | | | failed. This may be caused by an invalid external RAM | | | configuration. Verify ``_java_heap`` and | @@ -670,7 +670,7 @@ Starting from :ref:`Architecture 8.0.0 `, sections have been re +================================+===================================+=============+============+ | ``.bss.microej.heap`` | Application heap | RW | 4 | +--------------------------------+-----------------------------------+-------------+------------+ - | ``.bss.microej.immortals`` | Application Immortals Heap | RW | 4 | + | ``.bss.microej.immortals`` | Application Immortals Heap | RW | 4 | | | | | | +--------------------------------+-----------------------------------+-------------+------------+ | ``.bss.microej.stacks`` | Application threads stack | RW [1]_ | 8 | @@ -709,7 +709,7 @@ Starting from :ref:`Architecture 8.0.0 `, sections have been re +=============================+=============================+=============+============+ | ``_java_heap`` | Application heap | RW | 4 | +-----------------------------+-----------------------------+-------------+------------+ - | ``_java_immortals`` | Application Immortals Heap | RW | 4 | + | ``_java_immortals`` | Application Immortals Heap | RW | 4 | | | | | | +-----------------------------+-----------------------------+-------------+------------+ | ``.bss.vm.stacks.java`` | Application threads stack | RW [1]_ | 8 | From 1d6abf512a2db3f6d545d9f04a9716f19e87c429 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20RIVIERE?= Date: Wed, 3 Sep 2025 17:50:52 +0200 Subject: [PATCH 6/6] fix link redirection (for some reason, it fails the linkcheck) --- ApplicationDeveloperGuide/trace.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ApplicationDeveloperGuide/trace.rst b/ApplicationDeveloperGuide/trace.rst index 81a257657..efa908540 100644 --- a/ApplicationDeveloperGuide/trace.rst +++ b/ApplicationDeveloperGuide/trace.rst @@ -160,7 +160,7 @@ A VEE Port can connect its own implementation by overriding the functions define MicroEJ Corp. provides an implementation that redirects the events to :ref:`systemview` tool, the real-time recording and visualization tool from `Segger `_. It is perfect for a finer understanding of the runtime behavior by showing events sequence and duration. -A implementation example for the `NXP OM13098 development board `_ with SystemView support is available `here `__. +A implementation example for the `NXP OM13098 development board `_ with SystemView support is available `here `__. Please contact :ref:`our support team ` for more information about how to integrate this module.