If you open this function in the debugger, the code is compiled in debug mode:
bool foo(string arg)
{
return bar(arg);
}
There are three breakpoints you can set:
- In the opening bracket of the function.
- In the line "return".
- In the closing bracket of the function.
" ". no-op. , no-op.
" ". , IL, .
return retVal;
$retTmp = retVal;
goto exit;
:
exit:
return $ret;
, , . - :
GenerateProlog();
foreach (var statement in statements)
{
Generate(statement);
}
GenerateEpilog();
:
return foo(arg);
:
;
bool retTemp = false;
retTemp = foo(arg);
goto exit;
exit:
return retTemp;
"" ", , . . , , , . , .
. , , :
return bar(arg);
.
, , , # . , JIT. , , # JIT- ( , , , ). . " " ( JIT ), , , .