mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
gpgscm: Merge 'opexe_1'.
* tests/gpgscm/scheme.c (opexe_1): Merge into 'opexe_0'. * tests/gpgscm/opdefines.h: Adapt. -- Having separate functions to execute opcodes reduces our ability to thread the code and prevents the dispatch_table from being moved to rodata. Signed-off-by: Justus Winter <justus@g10code.com>
This commit is contained in:
parent
170660ed11
commit
154af876f0
@ -38,26 +38,26 @@
|
|||||||
_OP_DEF(opexe_0, 0, 0, 0, 0, OP_LET0AST )
|
_OP_DEF(opexe_0, 0, 0, 0, 0, OP_LET0AST )
|
||||||
_OP_DEF(opexe_0, 0, 0, 0, 0, OP_LET1AST )
|
_OP_DEF(opexe_0, 0, 0, 0, 0, OP_LET1AST )
|
||||||
_OP_DEF(opexe_0, 0, 0, 0, 0, OP_LET2AST )
|
_OP_DEF(opexe_0, 0, 0, 0, 0, OP_LET2AST )
|
||||||
_OP_DEF(opexe_1, 0, 0, 0, 0, OP_LET0REC )
|
_OP_DEF(opexe_0, 0, 0, 0, 0, OP_LET0REC )
|
||||||
_OP_DEF(opexe_1, 0, 0, 0, 0, OP_LET1REC )
|
_OP_DEF(opexe_0, 0, 0, 0, 0, OP_LET1REC )
|
||||||
_OP_DEF(opexe_1, 0, 0, 0, 0, OP_LET2REC )
|
_OP_DEF(opexe_0, 0, 0, 0, 0, OP_LET2REC )
|
||||||
_OP_DEF(opexe_1, 0, 0, 0, 0, OP_COND0 )
|
_OP_DEF(opexe_0, 0, 0, 0, 0, OP_COND0 )
|
||||||
_OP_DEF(opexe_1, 0, 0, 0, 0, OP_COND1 )
|
_OP_DEF(opexe_0, 0, 0, 0, 0, OP_COND1 )
|
||||||
_OP_DEF(opexe_1, 0, 0, 0, 0, OP_DELAY )
|
_OP_DEF(opexe_0, 0, 0, 0, 0, OP_DELAY )
|
||||||
_OP_DEF(opexe_1, 0, 0, 0, 0, OP_AND0 )
|
_OP_DEF(opexe_0, 0, 0, 0, 0, OP_AND0 )
|
||||||
_OP_DEF(opexe_1, 0, 0, 0, 0, OP_AND1 )
|
_OP_DEF(opexe_0, 0, 0, 0, 0, OP_AND1 )
|
||||||
_OP_DEF(opexe_1, 0, 0, 0, 0, OP_OR0 )
|
_OP_DEF(opexe_0, 0, 0, 0, 0, OP_OR0 )
|
||||||
_OP_DEF(opexe_1, 0, 0, 0, 0, OP_OR1 )
|
_OP_DEF(opexe_0, 0, 0, 0, 0, OP_OR1 )
|
||||||
_OP_DEF(opexe_1, 0, 0, 0, 0, OP_C0STREAM )
|
_OP_DEF(opexe_0, 0, 0, 0, 0, OP_C0STREAM )
|
||||||
_OP_DEF(opexe_1, 0, 0, 0, 0, OP_C1STREAM )
|
_OP_DEF(opexe_0, 0, 0, 0, 0, OP_C1STREAM )
|
||||||
_OP_DEF(opexe_1, 0, 0, 0, 0, OP_MACRO0 )
|
_OP_DEF(opexe_0, 0, 0, 0, 0, OP_MACRO0 )
|
||||||
_OP_DEF(opexe_1, 0, 0, 0, 0, OP_MACRO1 )
|
_OP_DEF(opexe_0, 0, 0, 0, 0, OP_MACRO1 )
|
||||||
_OP_DEF(opexe_1, 0, 0, 0, 0, OP_CASE0 )
|
_OP_DEF(opexe_0, 0, 0, 0, 0, OP_CASE0 )
|
||||||
_OP_DEF(opexe_1, 0, 0, 0, 0, OP_CASE1 )
|
_OP_DEF(opexe_0, 0, 0, 0, 0, OP_CASE1 )
|
||||||
_OP_DEF(opexe_1, 0, 0, 0, 0, OP_CASE2 )
|
_OP_DEF(opexe_0, 0, 0, 0, 0, OP_CASE2 )
|
||||||
_OP_DEF(opexe_1, "eval", 1, 2, TST_ANY TST_ENVIRONMENT, OP_PEVAL )
|
_OP_DEF(opexe_0, "eval", 1, 2, TST_ANY TST_ENVIRONMENT, OP_PEVAL )
|
||||||
_OP_DEF(opexe_1, "apply", 1, INF_ARG, TST_NONE, OP_PAPPLY )
|
_OP_DEF(opexe_0, "apply", 1, INF_ARG, TST_NONE, OP_PAPPLY )
|
||||||
_OP_DEF(opexe_1, "call-with-current-continuation", 1, 1, TST_NONE, OP_CONTINUATION )
|
_OP_DEF(opexe_0, "call-with-current-continuation", 1, 1, TST_NONE, OP_CONTINUATION )
|
||||||
#if USE_MATH
|
#if USE_MATH
|
||||||
_OP_DEF(opexe_2, "inexact->exact", 1, 1, TST_NUMBER, OP_INEX2EX )
|
_OP_DEF(opexe_2, "inexact->exact", 1, 1, TST_NUMBER, OP_INEX2EX )
|
||||||
_OP_DEF(opexe_2, "exp", 1, 1, TST_NUMBER, OP_EXP )
|
_OP_DEF(opexe_2, "exp", 1, 1, TST_NUMBER, OP_EXP )
|
||||||
|
@ -438,7 +438,6 @@ static pointer reverse_in_place(scheme *sc, pointer term, pointer list);
|
|||||||
static pointer revappend(scheme *sc, pointer a, pointer b);
|
static pointer revappend(scheme *sc, pointer a, pointer b);
|
||||||
static void dump_stack_mark(scheme *);
|
static void dump_stack_mark(scheme *);
|
||||||
static pointer opexe_0(scheme *sc, enum scheme_opcodes op);
|
static pointer opexe_0(scheme *sc, enum scheme_opcodes op);
|
||||||
static pointer opexe_1(scheme *sc, enum scheme_opcodes op);
|
|
||||||
static pointer opexe_2(scheme *sc, enum scheme_opcodes op);
|
static pointer opexe_2(scheme *sc, enum scheme_opcodes op);
|
||||||
static pointer opexe_3(scheme *sc, enum scheme_opcodes op);
|
static pointer opexe_3(scheme *sc, enum scheme_opcodes op);
|
||||||
static pointer opexe_4(scheme *sc, enum scheme_opcodes op);
|
static pointer opexe_4(scheme *sc, enum scheme_opcodes op);
|
||||||
@ -3744,17 +3743,7 @@ static pointer opexe_0(scheme *sc, enum scheme_opcodes op) {
|
|||||||
sc->args = sc->NIL;
|
sc->args = sc->NIL;
|
||||||
s_thread_to(sc,OP_BEGIN);
|
s_thread_to(sc,OP_BEGIN);
|
||||||
}
|
}
|
||||||
default:
|
|
||||||
snprintf(sc->strbuff,STRBUFFSIZE,"%d: illegal operator", sc->op);
|
|
||||||
Error_0(sc,sc->strbuff);
|
|
||||||
}
|
|
||||||
return sc->T;
|
|
||||||
}
|
|
||||||
|
|
||||||
static pointer opexe_1(scheme *sc, enum scheme_opcodes op) {
|
|
||||||
pointer x, y;
|
|
||||||
|
|
||||||
switch (op) {
|
|
||||||
CASE(OP_LET0REC): /* letrec */
|
CASE(OP_LET0REC): /* letrec */
|
||||||
new_frame_in_env(sc, sc->envir);
|
new_frame_in_env(sc, sc->envir);
|
||||||
sc->args = sc->NIL;
|
sc->args = sc->NIL;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user