| 1981 | #ifdef CPPIA_JIT |
| 1982 | static hx::Object *nullException = 0; |
| 1983 | void genNullReferenceExceptionCheck(CppiaCompiler *compiler, const JitVal ®) |
| 1984 | { |
| 1985 | #ifdef HXCPP_CHECK_POINTER |
| 1986 | if (!nullException) |
| 1987 | nullException = (HX_CSTRING("Null Object Reference")).makePermanentObject(); |
| 1988 | |
| 1989 | JumpId nonNull = compiler->compare(cmpP_NOT_EQUAL, reg.as(jtPointer), (void *)0); |
| 1990 | compiler->move( sJitCtx.star(jtPointer, offsetof(hx::StackContext,exception)), (void *)nullException ); |
| 1991 | compiler->addThrow(); |
| 1992 | compiler->comeFrom(nonNull); |
| 1993 | #endif |
| 1994 | } |
| 1995 | #endif |
| 1996 | |
| 1997 | |