Dan Sugalski <[EMAIL PROTECTED]> wrote:

>   dprinterr [PISN]x - Like printerr, but only when running in debug mode
>   ifdebug label - If debug's on, branch to label
>   unlessdebug label - branch to label unless debugging's on
>   debugbsr label - do a bsr to the label if debugging's on

Ok.

> (I'm also thinking that a conditional bsr would be useful, but I'm
> not sure it'd be useful *enough*) If it'd make the JIT unhappy to
> have more branching ops they can be left out.

C<ifdebug label> and C<unlessdebug label> are JITtable with not much
effort. The conditional bsr needs a bit more. What about:

  .macro debugbsr(bsr_sub)
    .local label skip
    unlessdebug .skip
    bsr .bsr_sub
    .skip:
  .endm

Usage is then

  .debugbsr(the_sub)

(Untested)

By redefining the macro you can get rid of it too.

leo

Reply via email to