It supports a long term compiling listener session which gives the compiler knowledge about the state of the compiled and therefore running program, including the symbol table.
If the symbol table has been stripped or cleaned out before being converted into an executable, tools will find it harder to determine addresses or understand anything about the program.
It is optimized for use with higher level interpreted languages, obtaining speed by writing directly to the symbol table of the higher level language when it can.
In the second form, the entry identifies a symbol table entry representing the start of a function, enabling a breakpoint to be set using the function's name.