Tiny-Sandbox

Principle

The Tiny-Sandbox capability of the Core Engine allows to build a Standalone Application optimized for size. This capability is suitable for environments requiring a small memory footprint.

Installation

Tiny-Sandbox is an option disabled by default. To enable the Tiny-Sandbox capability of the Core Engine, set the property com.microej.runtime.capability to tiny in mjvm/mjvm.properties file. See the example below:

com.microej.runtime.capability=tiny

Note

Before Architecture 8.1.0, enabling the Tiny-Sandbox capability was done by setting the property mjvm.standalone.configuration in the configuration.xml file as follows:

<property name="mjvm.standalone.configuration" value="tiny"/>

See section Platform Customization for more info on the configuration.xml file.

Limitations

In addition to general Limitations:

  • The maximum application code size (classes and methods) cannot exceed 256KB. This does not include application resources, immutable objects and internal strings which are not limited.
  • The option SOAR > Debug > Embed all type names has no effect. Only the fully qualified names of types marked as required types are embedded.
  • Incompatible with dynamic linkers enabling Address Space Layout Randomization (ASLR).