X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=xs-src%2FMouseAccessor.xs;h=0496f0b794ca28a6749ef3642fd1ee7de2fc0406;hb=89d7a4b2fdc8cf24fa601341c70739de53ae73f0;hp=998849a40eeb8f63e36145a8ca27da3b8b4e7191;hpb=53142eda803bb80d2a4edb8b8c264a40390abf4b;p=gitmo%2FMouse.git diff --git a/xs-src/MouseAccessor.xs b/xs-src/MouseAccessor.xs index 998849a..0496f0b 100644 --- a/xs-src/MouseAccessor.xs +++ b/xs-src/MouseAccessor.xs @@ -2,7 +2,9 @@ #define CHECK_INSTANCE(instance) STMT_START{ \ assert(instance); \ - if(!(SvROK(instance) && SvTYPE(SvRV(instance)) == SVt_PVHV)){ \ + if(UNLIKELY( \ + !(SvROK(instance) \ + && SvTYPE(SvRV(instance)) == SVt_PVHV) )){ \ croak("Invalid object instance: '%"SVf"'", instance); \ } \ } STMT_END @@ -89,7 +91,7 @@ mouse_instance_weaken_slot(pTHX_ SV* const instance, SV* const slot) { STATIC_INLINE SV* mouse_accessor_get_self(pTHX_ I32 const ax, I32 const items, CV* const cv) { - if(items < 1){ + if(UNLIKELY( items < 1 )){ croak("Too few arguments for %s", GvNAME(CvGV(cv))); } /* NOTE: If self has GETMAGIC, $self->accessor will invoke GETMAGIC