6.1.1 System Properties Affecting the JIT Compilation

SP_USE_SHADOW_KERNEL (default yes)

sicstus -DSP_USE_SHADOW_KERNEL=no turns off the use of “shadow” kernel, i.e. the copies of the real kernel. Turning it off is useful if you want to set breakpoints in gdb etc. POWER only.

SP_USE_XER (default no)

The default value for , and . POWER only.

SP_USE_XER_ADDO

Whether the XER register should be used for overflow detection of addo IR-instruction on POWER.

SP_USE_XER_SUBO

Whether the XER register should be used for overflow detection of subo IR-instruction on POWER.

SP_USE_XER_MULO

Whether the XER register should be used for overflow detection of mulo IR-instruction on POWER.

SP_JIT_HUGE_BLOCK (default yes)

Whether a huge block, with a shadow kernel in the middle, should be pre-allocated for jitted code. This is so that kernel calls from jitted code can use direct branches.

The shadow kernel in the huge block will not be used if SP_USE_SHADOW_KERNEL is off.

SP_JIT_STATS (default no)

Whether to ensure that prolog:'$jit_print_stats'/0 prints accurate statistics about emitted IR instructions.

Turning it on will prevent re-use of jitted code between iterations. This is why it is not enabled by default for debug builds.

SP_JIT_ALIGN2 (default yes)

Whether align 2 should align to a multiple of 32 (instead of being a no-op). POWER only.

SP_JIT_ALIGN3 (default no)

Whether align 3 should align to 24 (modulo 32) (instead of aligning to 0 (modulo 8)). POWER only.

Do not turn it on, it will crash the system.

SP_QUIET_JIT_FAIL (default yes)

sicstus -DSP_QUIET_JIT_FAIL=no will cause an assertion to trigger if jitting needs too many iterations (e.g. it would not terminate).

SP_SPTI_PATH=OPTION

Whether to load code that gets informed about jitting events.

sicstus -DSP_SPTI_PATH=perf is allowed if --enable-perf was specified when configuring. It will cause perf data to be emitted. This is enabled by default if sicstus detects that it is started under perf.

The automatic enabling can be turned off sicstus -DSP_SPTI_PATH=none.

sicstus -DSP_SPTI_PATH=opdis is also possible, depending on what was specified when configuring.



Send feedback on this subject.