Le 03/03/2012 21:10, Timon Gehr a écrit :
On 03/03/2012 09:00 PM, deadalnix wrote:
Le 03/03/2012 20:06, Walter Bright a écrit :
On 3/3/2012 2:13 AM, bearophile wrote:
Walter:

Adding in software checks for null pointers will dramatically slow
things
down.

Define this use of "dramatically" in a more quantitative and objective
way,
please. Is Java "dramatically" slower than C++/D here?

You can try it for yourself. Take some OOP code of yours, and insert a
null check in front of every dereference of the class handle.

Why would you want to check every time ? You program will get a signal
from the system if it try to deference a null pointer, so thing can be
done in the signal handler, and no cost is involved.

The signal will likely be the same for the following two code snippets:

void main(){
Object o;
o.toString();
}

void main(){
*cast(int*)0xDEADBEEF = 1337;
}


How to detect whether or not the access violation was actually caused by
a null pointer?

Signal hanlder are provided a - system dependant - structure that contains such informations.

This is used to detect stackoverflow as well a null pointer deference. Lib like libsigsegv can help a lot to implement such a thing.

Reply via email to