--%>

Use of setjmp and longjmp

Use of setjmp() and longjmp(): In C/C++, setjmp() saves the contents of the registers at a particular state in the program and longjmp() will restore that state later. In this way, longjmp() “returns” to the state of the program when setjmp() was called.

In general these functions are problematic for C++ because they do not support C++ object semantics. In particular, they do not ensure the proper destructor calls and so objects may not be cleaned up properly, leaving the system in a bad state.

Using these functions may also degrade performance by preventing optimization on local variables. For C++ exception handling, try/catch constructs are recommended instead.

214_serjmp.jpg

For model checking in particular, non-hierarchical long jumps are difficult to model with modeling languages like Java. These functions need to do register restoration which requires modeling of registers and their related operations, adding considerable overhead to model-checking effort.

   Related Questions in Programming Languages

  • Q : Define the term Image map Define the

    Define the term Image map: This is an image, divided into logical regions, each of which has a hot spot.

  • Q : Define Formal argument Formal argument

    Formal argument: The definition of a method’s argument is the part of a method header. Each and every formal argument has an associated type. Whenever a method is called, the actual argument values are copied into the analogous formal arguments.

  • Q : Define Data type Data type : There are

    Data type: There are 8 primitive data types in Java; five of such symbolize numerical types of changeable range and precision - float, double, int, long and short. The remaining three are employed to symbolizing single-bit values (that is, Boolean), s

  • Q : State the term XHTML State the term

    State the term XHTML?

  • Q : Describe the term Context Switch

    Describe the term Context Switch.

  • Q : What is Namespace Namespace: It is the

    Namespace: It is the region of a program in which specific identifiers are visible. Java employs packages to give namespaces, and its visibility rules: package, private, protected, public-variously include identifiers within the namespaces.

  • Q : Explain the computer process Explain

    Explain the computer process.

  • Q : What is Parsing Parsing : Generally

    Parsing: Generally applied to the action of a compiler in examining a program source file for syntax errors. This is too employed more broadly to mean the analysis of the structure of input.

  • Q : Define Unconditional Jumps

    Unconditional Jumps: Jumps which are not strictly upwards in the block hierarchy can require extensive control-flow manipulation, including creation of redundant code, and should be avoided if possible. Such jumps add considerable modeling overhead fo

  • Q : Define the term Base case Define the

    Define the term Base case: It is a non-recursive route via a recursive method.