jeode.evm.memory.stackSize

The maximum size of any one thread's stack in bytes

Type: Integer

Default Value: 64 k

Must be positive

This is the maximum stack size requested from the target OS for each JeodeRuntime thread (including any Java threads), in bytes. As your Java application may be multi-threaded, the total memory requirement clearly depends on the maximum number of simultaneously active threads.

JeodeMonitor shows the threads running in your application, and their total stack usage. Some OSs (for example, WinNT and WinCE) will effectively ignore this limit, and automatically increase stack sizes as the application requires up to a hard-coded limit defined at link-time.

For all Windows targets, you should not increase the stack size beyond the limit set at link-time?if you do exceed this limit, the EVM's behavior is undefined. For the supplied JeodeRuntime executable binaries on Windows platforms, these limits are:

  • For CE 2.12/x86: 128 K

  • For Windows NT: 1 Mb

  • For all other CE platforms (including CE 3.00): 64 K

For some OSs (for example, SnapOS), this memory comes from the pool whose size is bounded by Maximum dynamic memory size. For other targets (for example, Linux and VxWorks), this memory is obtained directly from the target OS. This is because some target OSs allocate memory for thread stacks internally, and do not allow JeodeRuntime separately to allocate this memory.