This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Why does GCJ generate so many explicit checks for null pointers?


On 29 Jul 2003, Tom Tromey wrote:
> >> Why check before the constructor call?  Is it ever possible for
> >> _Jv_AllocObjectNoFinalizer to return null?
>
> Jeff> No, but the backend optimizers don't know that, or else DCE would
> Jeff> eliminate the test.
>
> Hmm, on the C++ side we mark this function, and others like it, with
> __attribute__((__malloc__)).  We do this in gcj as well; from
> java/decl.c:

But malloc can return NULL, right?  From what I understand the malloc
attribute is a hint for alias analysis, and doesn't say anything about the
null-ness of its return value.

The CCP pass currently handles integer and boolean types just fine, but
doesn't appear to do anything special for pointers.  Like Andrew said,
tree-ssa will be a good opportunity for experimentation here.

Jeff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]