Simple Virtual Machine
A simple but flexible virtual machine
SVM processor error

This module contains API functions to handle SVM processor error. More...

Functions

SVM_FUNCTION void svm_processor_current_raise_error (const void *svm, const SVM_Value_Interruption interruption)
 This function interrupts the current processor and the current instruction execution from any interruption. More...
 
SVM_FUNCTION void svm_processor_current_raise_error_internal__raw (const void *svm, const SVM_Interruption_Internal interruption, const char *message)
 This function interrupts the current processor and the current instruction execution from an internal interruption. More...
 
SVM_FUNCTION void svm_processor_current_raise_error_external__raw (const void *svm, const SVM_Value_PluginEntryPoint interruption, const char *message)
 This function interrupts the current processor and the current instruction execution from a plugin defined interruption. More...
 

Detailed Description

This module contains API functions to handle SVM processor error.

Function Documentation

◆ svm_processor_current_raise_error()

SVM_FUNCTION void svm_processor_current_raise_error ( const void *  svm,
const SVM_Value_Interruption  interruption 
)

This function interrupts the current processor and the current instruction execution from any interruption.

Parameters
[in]svmThe SVM pointer passed as first argument of the callback function.
[in]interruptionThe interruption to raise to the processor.
Exceptions
FAILUREinterruption when a parameter is incorrect. (Please refer to the main description page of this API.)

◆ svm_processor_current_raise_error_external__raw()

SVM_FUNCTION void svm_processor_current_raise_error_external__raw ( const void *  svm,
const SVM_Value_PluginEntryPoint  interruption,
const char *  message 
)

This function interrupts the current processor and the current instruction execution from a plugin defined interruption.

Parameters
[in]svmThe SVM pointer passed as first argument of the callback function.
[in]interruptionThe interruption name to raise to the processor.
[in]messageThe message for investigation of the root cause of the interruption.

The interruption type is automatically set to PLUGIN_INTERRUPTION.

The interruption kind is automatically set to SOFTWARE.

Exceptions
FAILUREinterruption when a parameter is incorrect. (Please refer to the main description page of this API.)
FAILUREinterruption when the interruption parameter does not identify a plugin interruption.

◆ svm_processor_current_raise_error_internal__raw()

SVM_FUNCTION void svm_processor_current_raise_error_internal__raw ( const void *  svm,
const SVM_Interruption_Internal  interruption,
const char *  message 
)

This function interrupts the current processor and the current instruction execution from an internal interruption.

Parameters
[in]svmThe SVM pointer passed as first argument of the callback function.
[in]interruptionThe interruption type to raise to the processor.
[in]messageThe message for investigation of the root cause of the interruption.

The interruption kind is automatically set to SOFTWARE.

Exceptions
FAILUREinterruption when a parameter is incorrect. (Please refer to the main description page of this API.)
FAILUREinterruption when the interruption type is PLUGIN_INTERRUPTION.