I don't think we're on the same page. I don't mean another code
generation macro, I meant a simple flag, so that my code generation
routines can switch between a custom calling convention, and the
standard prolog.

void codegen() {
  if (JIT_NEEDS_PROLOG) {
    jit_prolog(n);
    ...
  } else {
    //custom cc
    ...
  }
}

The switch will likely be #ifdef'd, but that's the idea. I don't see
how jit_leaf helps me here. It' sufficient to define:

If jit_leaf worked, you could have used

  jit_leaf (0);

instead.

 > I've considered CPS, particularly in conjunction with the Cheney on
 > the MTA-style GC. Unfortunately, CPS just kills the pipeline due to
 > the indirect function calls. Given how deep pipelines are nowadays,
 > and the fact that they're getting deeper, I'm reluctant to go this
 > way.

 Do you have so many function calls?

... so many as to make the slowdown from indirect function calls sensible?

Paolo



_______________________________________________
help-smalltalk mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-smalltalk

Reply via email to