NullCheckOp

Thomas Wuerthinger thomas.wuerthinger at oracle.com
Sat Dec 28 04:40:44 PST 2013


Tom,

The flag “OptImplicitNullChecks” controls whether the compiler tries to create implicit null check instructions. If you set it to false, the code generated is equivalent to a comparison of the value against null and a deoptimization if the comparison yields true.

- thomas

On 24 Dec 2013, at 03:45, Christian Thalinger <christian.thalinger at oracle.com> wrote:

> I’m not an expert on this but it seems that a NullCheckOp (or a NullCheckNode) only does an implicit null check; there is no branch information attached to it.
> 
> In order to do an explicit exception you’d need to add nodes to the graph that throw the exception.  Not sure if something like this exists already.
> 
> On Dec 23, 2013, at 1:24 PM, Deneau, Tom <tom.deneau at amd.com> wrote:
> 
>> I am trying to get null checks working on the hsail backend.
>> What is required of NullCheckOp in the HSAILLIRGenerator?
>> On Hsail, we can't support an implicit exception for this like amd64 does  so I think we would just want to end up with an explicit compare and branch if null to something that would be similar to the code emitted for a deoptimizing node.  How much of that does NullCheckOp have to do?
>> 
>> -- Tom
> 



More information about the graal-dev mailing list