[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
GLIL->C compilation
From: |
Ludovic Courtès |
Subject: |
GLIL->C compilation |
Date: |
Sat, 20 Nov 2010 00:11:16 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) |
Hi,
Stefan Israelsson Tampe <address@hidden> writes:
> #include "cfkn.h"
> #define LOCAL_REF(i) fp[i]
> #define LOCAL_SET(i,v) fp[i] = (v)
> void cfkn3676(SCM *fp, SCM **spp)
> {
> /* setup of environment */
> SCM *objects, *free, program, *sp, sss[100];
> sp = sss;
> program = fp[-1];
> objects = SCM_I_VECTOR_WELTS (SCM_PROGRAM_OBJTABLE (program));
> free = SCM_PROGRAM_FREE_VARIABLES(program);
> /* compiled section */
> LCASE3666:
>
>
> goto L3668;
> LCASE3665:
> sp++; *sp = LOCAL_REF(1);
> sp++; *sp = SCM_I_MAKINUM(0);
> sp-=2; if(!scm_is_eq(sp[1],sp[2])) goto L3669;
> sp++; *sp = LOCAL_REF(2);
[...]
Comparing this to the VM’s bytecode interpreter should show the overhead
incurred by instruction dispatch.
Did you try to measure this? That’d be interesting.
Thanks,
Ludo’.
Re: The progress of hacking guile and prolog, Andy Wingo, 2010/11/20
Re: The progress of hacking guile and prolog, Stefan Israelsson Tampe, 2010/11/04
Re: The progress of hacking guile and prolog, Stefan Israelsson Tampe, 2010/11/05
- GLIL->C compilation,
Ludovic Courtès <=