core/com.nokia.carbide.cpp.compiler.doc.user/html/pragmas_x86/p_avoid_ebp.htm
changeset 0 fb279309251b
child 1641 2b3996fc09a1
equal deleted inserted replaced
-1:000000000000 0:fb279309251b
       
     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"><html>
       
     2 <head>
       
     3 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
       
     4 <meta http-equiv="Content-Style-Type" content="text/css" />
       
     5 <meta name="LASTUPDATED" content="06/17/05 11:09:43" />
       
     6 <title>avoid_ebp</title>
       
     7 <link rel="StyleSheet" href="../../book.css" type="text/css"/>
       
     8 </head>
       
     9 <body bgcolor="#FFFFFF">
       
    10 <h3>avoid_ebp</h3>
       
    11 <p>  Disables the EBP as a temporary register to ensure that the base pointer is valid even when full optimizations are enabled.</p>
       
    12 <h5>Syntax</h5>
       
    13   <p class="code">#pragma avoid_ebp on | off</p>
       
    14   <h5>Targets</h5>
       
    15   Intel x86<br />
       
    16   <h5>Remarks</h5>
       
    17   <p>Disabling the use of the EBP register with <span class="code">#pragma avoid_ebp</span> on ensures that the stack chains are coherent, even if they do not include every called function, so code that relies on the stack chain (i.e. crash recovery tools and structured exception handling) will work more consistently. Note that this can have an effect on performance (only 6 internal registers are available instead of 7) so do not use it in speed-critical code.</p>
       
    18   <p>This #pragma is recommended for programs using <span class="code">_set_se_translator()</span> under the zero-overhead exceptions model. The SEH handler chain and the zero-overhead exception stack are independent of each other, unlike the MS exceptions model where both share the same chain, so the zero-overhead exceptions model needs more help reconciling the fact that exceptions can be thrown from anywhere in the program. <br />
       
    19 </p>
       
    20   <div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. <br>License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a></div>
       
    21 
       
    22 
       
    23 </body>
       
    24 </html>