convert START_XFORM_SKIP...END_XFORM_SKIP mostly to XFORM_SKIP_PROC

svn: r16972
This commit is contained in:
Matthew Flatt 2009-11-22 23:30:21 +00:00
parent 6395be3347
commit 78578a3eab
21 changed files with 165 additions and 635 deletions

View File

@ -730,6 +730,7 @@
(printf "#define XFORM_END_SKIP /**/~n") (printf "#define XFORM_END_SKIP /**/~n")
(printf "#define XFORM_START_SUSPEND /**/~n") (printf "#define XFORM_START_SUSPEND /**/~n")
(printf "#define XFORM_END_SUSPEND /**/~n") (printf "#define XFORM_END_SUSPEND /**/~n")
(printf "#define XFORM_SKIP_PROC /**/~n")
;; For avoiding warnings: ;; For avoiding warnings:
(printf "#define XFORM_OK_PLUS +~n") (printf "#define XFORM_OK_PLUS +~n")
(printf "#define XFORM_OK_MINUS -~n") (printf "#define XFORM_OK_MINUS -~n")
@ -1522,6 +1523,8 @@
null null
e))))] e))))]
[(function? e) [(function? e)
(if (skip-function? e)
e
(let ([name (register-proto-information e)]) (let ([name (register-proto-information e)])
(when (eq? (tok-n (car e)) '__xform_nongcing__) (when (eq? (tok-n (car e)) '__xform_nongcing__)
(hash-table-put! non-gcing-functions name #t)) (hash-table-put! non-gcing-functions name #t))
@ -1558,7 +1561,7 @@
(cons (car e) (loop (cdr e)))))) (cons (car e) (loop (cdr e))))))
null) null)
e)) e))
(convert-function e name)))] (convert-function e name))))]
[(var-decl? e) [(var-decl? e)
(when show-info? (printf "/* VAR */~n")) (when show-info? (printf "/* VAR */~n"))
(if (and can-drop-vars? (if (and can-drop-vars?
@ -1709,6 +1712,7 @@
(and (braces? v) (and (braces? v)
(let ([v (list-ref e (sub1 ll))]) (let ([v (list-ref e (sub1 ll))])
(or (parens? v) (or (parens? v)
(eq? (tok-n v) 'XFORM_SKIP_PROC)
;; `const' can appear between the arg parens ;; `const' can appear between the arg parens
;; and the function body; this happens in the ;; and the function body; this happens in the
;; OS X headers ;; OS X headers
@ -1716,6 +1720,9 @@
(positive? (sub1 ll)) (positive? (sub1 ll))
(parens? (list-ref e (- ll 2)))))))))))) (parens? (list-ref e (- ll 2))))))))))))
(define (skip-function? e)
(ormap (lambda (v) (eq? (tok-n v) 'XFORM_SKIP_PROC)) e))
;; Recognize a top-level variable declaration: ;; Recognize a top-level variable declaration:
(define (var-decl? e) (define (var-decl? e)
(let ([l (length e)]) (let ([l (length e)])

View File

@ -550,6 +550,17 @@ The following macros can be used (with care!) to navigate
MZ_PRECISE_GC} and @cpp{#endif}; a semi-colon by itself at the MZ_PRECISE_GC} and @cpp{#endif}; a semi-colon by itself at the
top level is not legal in C.} top level is not legal in C.}
@item{@cppdef{XFORM_SKIP_PROC}: annotate a function so that its body
is skipped in the same way as bracketing it with
@cpp{XFORM_START_SKIP} and @cpp{XFORM_END_SKIP}.
Example:
@verbatim[#:indent 2]{
int foo(int c, ...) XFORM_END_SKIP {
}
}}
@item{@cppdef{XFORM_HIDE_EXPR}: a macro that takes wraps an expression to @item{@cppdef{XFORM_HIDE_EXPR}: a macro that takes wraps an expression to
disable processing of the expression. disable processing of the expression.

View File

@ -1658,6 +1658,7 @@ extern void *scheme_malloc_envunbox(size_t);
# define XFORM_END_SKIP /**/ # define XFORM_END_SKIP /**/
# define XFORM_START_SUSPEND /**/ # define XFORM_START_SUSPEND /**/
# define XFORM_END_SUSPEND /**/ # define XFORM_END_SUSPEND /**/
# define XFORM_SKIP_PROC /**/
# define XFORM_START_TRUST_ARITH /**/ # define XFORM_START_TRUST_ARITH /**/
# define XFORM_END_TRUST_ARITH /**/ # define XFORM_END_TRUST_ARITH /**/
# define XFORM_CAN_IGNORE /**/ # define XFORM_CAN_IGNORE /**/

View File

@ -174,14 +174,10 @@ void scheme_clear_bignum_cache(void)
void scheme_clear_bignum_cache(void) { } void scheme_clear_bignum_cache(void) { }
#endif #endif
#ifdef MZ_XFORM
START_XFORM_SKIP;
#endif
#define xor(a, b) (!(a) ^ !(b)) #define xor(a, b) (!(a) ^ !(b))
Scheme_Object *scheme_make_small_bignum(long v, Small_Bignum *o) Scheme_Object *scheme_make_small_bignum(long v, Small_Bignum *o)
XFORM_SKIP_PROC
{ {
bigdig bv; bigdig bv;
@ -208,10 +204,6 @@ Scheme_Object *scheme_make_small_bignum(long v, Small_Bignum *o)
return (Scheme_Object *) mzALIAS o; return (Scheme_Object *) mzALIAS o;
} }
#ifdef MZ_XFORM
END_XFORM_SKIP;
#endif
Scheme_Object *scheme_make_bignum(long v) Scheme_Object *scheme_make_bignum(long v)
{ {
Small_Bignum *r; Small_Bignum *r;

View File

@ -56,11 +56,8 @@ Scheme_Object *scheme_real_to_complex(const Scheme_Object *n)
return make_complex(n, zero, 0); return make_complex(n, zero, 0);
} }
#ifdef MZ_XFORM
START_XFORM_SKIP;
#endif
Scheme_Object *scheme_make_small_complex(const Scheme_Object *n, Small_Complex *s) Scheme_Object *scheme_make_small_complex(const Scheme_Object *n, Small_Complex *s)
XFORM_SKIP_PROC
{ {
s->so.type = scheme_complex_type; s->so.type = scheme_complex_type;
s->r = (Scheme_Object *)n; s->r = (Scheme_Object *)n;
@ -69,10 +66,6 @@ Scheme_Object *scheme_make_small_complex(const Scheme_Object *n, Small_Complex *
return (Scheme_Object *)s; return (Scheme_Object *)s;
} }
#ifdef MZ_XFORM
END_XFORM_SKIP;
#endif
int scheme_is_complex_exact(const Scheme_Object *o) int scheme_is_complex_exact(const Scheme_Object *o)
{ {
Scheme_Complex *c = (Scheme_Complex *)o; Scheme_Complex *c = (Scheme_Complex *)o;

View File

@ -463,19 +463,12 @@ static Scheme_Object *do_load_extension(const char *filename,
#endif #endif
} }
#ifdef MZ_XFORM
START_XFORM_SKIP;
#endif
void scheme_register_extension_global(void *ptr, long size) void scheme_register_extension_global(void *ptr, long size)
XFORM_SKIP_PROC
{ {
GC_add_roots((char *)ptr, (char *)(((char *)ptr) + size + 1)); GC_add_roots((char *)ptr, (char *)(((char *)ptr) + size + 1));
} }
#ifdef MZ_XFORM
END_XFORM_SKIP;
#endif
static Scheme_Object *load_extension(int argc, Scheme_Object **argv) static Scheme_Object *load_extension(int argc, Scheme_Object **argv)
{ {
return scheme_load_with_clrd(argc, argv, "load-extension", MZCONFIG_LOAD_EXTENSION_HANDLER); return scheme_load_with_clrd(argc, argv, "load-extension", MZCONFIG_LOAD_EXTENSION_HANDLER);

View File

@ -7945,11 +7945,9 @@ void scheme_apply_dw_in_meta(Scheme_Dynamic_Wind *dw, int post_part, int meta_de
#define CLOCKS_PER_SEC 1000000 #define CLOCKS_PER_SEC 1000000
#endif #endif
#ifdef MZ_XFORM
START_XFORM_SKIP;
#endif
long scheme_get_milliseconds(void) long scheme_get_milliseconds(void)
XFORM_SKIP_PROC
/* this function can be called from any OS thread */
{ {
#ifdef USE_MACTIME #ifdef USE_MACTIME
return scheme_get_process_milliseconds(); return scheme_get_process_milliseconds();
@ -7971,10 +7969,8 @@ long scheme_get_milliseconds(void)
#endif #endif
} }
#ifdef MZ_XFORM
START_XFORM_SKIP;
#endif
double scheme_get_inexact_milliseconds(void) double scheme_get_inexact_milliseconds(void)
XFORM_SKIP_PROC
/* this function can be called from any OS thread */ /* this function can be called from any OS thread */
{ {
#ifdef USE_MACTIME #ifdef USE_MACTIME
@ -8002,12 +7998,9 @@ double scheme_get_inexact_milliseconds(void)
# endif # endif
#endif #endif
} }
#ifdef MZ_XFORM
END_XFORM_SKIP;
#endif
long scheme_get_process_milliseconds(void) long scheme_get_process_milliseconds(void)
XFORM_SKIP_PROC
{ {
#ifdef USER_TIME_IS_CLOCK #ifdef USER_TIME_IS_CLOCK
return scheme_get_milliseconds(); return scheme_get_milliseconds();
@ -8051,6 +8044,7 @@ long scheme_get_process_milliseconds(void)
} }
long scheme_get_thread_milliseconds(Scheme_Object *thrd) long scheme_get_thread_milliseconds(Scheme_Object *thrd)
XFORM_SKIP_PROC
{ {
Scheme_Thread *t = thrd ? (Scheme_Thread *)thrd : scheme_current_thread; Scheme_Thread *t = thrd ? (Scheme_Thread *)thrd : scheme_current_thread;
@ -8063,10 +8057,6 @@ long scheme_get_thread_milliseconds(Scheme_Object *thrd)
} }
} }
#ifdef MZ_XFORM
END_XFORM_SKIP;
#endif
long scheme_get_seconds(void) long scheme_get_seconds(void)
{ {
#ifdef USE_MACTIME #ifdef USE_MACTIME

View File

@ -485,10 +485,9 @@ int future_ready(Scheme_Object *obj)
} }
static void dequeue_future(Scheme_Future_State *fs, future_t *ft) static void dequeue_future(Scheme_Future_State *fs, future_t *ft)
XFORM_SKIP_PROC
/* called from both future and runtime threads */ /* called from both future and runtime threads */
{ {
START_XFORM_SKIP;
if (ft->prev == NULL) if (ft->prev == NULL)
fs->future_queue = ft->next; fs->future_queue = ft->next;
else else
@ -503,8 +502,6 @@ static void dequeue_future(Scheme_Future_State *fs, future_t *ft)
ft->prev = NULL; ft->prev = NULL;
--fs->future_queue_count; --fs->future_queue_count;
END_XFORM_SKIP;
} }
Scheme_Object *touch(int argc, Scheme_Object *argv[]) Scheme_Object *touch(int argc, Scheme_Object *argv[])
@ -619,10 +616,10 @@ Scheme_Object *processor_count(int argc, Scheme_Object *argv[])
//executing futures. This function will never terminate //executing futures. This function will never terminate
//(until the process dies). //(until the process dies).
void *worker_thread_future_loop(void *arg) void *worker_thread_future_loop(void *arg)
XFORM_SKIP_PROC
/* Called in future thread; runtime thread is blocked until ready_sema /* Called in future thread; runtime thread is blocked until ready_sema
is signaled. */ is signaled. */
{ {
START_XFORM_SKIP;
/* valid only until signaling */ /* valid only until signaling */
future_thread_params_t *params = (future_thread_params_t *)arg; future_thread_params_t *params = (future_thread_params_t *)arg;
Scheme_Future_Thread_State *fts = params->fts; Scheme_Future_Thread_State *fts = params->fts;
@ -742,7 +739,6 @@ void *worker_thread_future_loop(void *arg)
goto wait_for_work; goto wait_for_work;
return NULL; return NULL;
END_XFORM_SKIP;
} }
void scheme_check_future_work() void scheme_check_future_work()
@ -783,9 +779,9 @@ void scheme_check_future_work()
static void future_do_runtimecall(Scheme_Future_Thread_State *fts, static void future_do_runtimecall(Scheme_Future_Thread_State *fts,
void *func, void *func,
int is_atomic) int is_atomic)
XFORM_SKIP_PROC
/* Called in future thread */ /* Called in future thread */
{ {
START_XFORM_SKIP;
future_t *future; future_t *future;
Scheme_Future_State *fs = scheme_future_state; Scheme_Future_State *fs = scheme_future_state;
@ -829,8 +825,6 @@ static void future_do_runtimecall(Scheme_Future_Thread_State *fts,
future->no_retval = 0; future->no_retval = 0;
scheme_future_longjmp(*scheme_current_thread->error_buf, 1); scheme_future_longjmp(*scheme_current_thread->error_buf, 1);
} }
END_XFORM_SKIP;
} }
@ -838,9 +832,9 @@ static void future_do_runtimecall(Scheme_Future_Thread_State *fts,
/* Functions for primitive invocation */ /* Functions for primitive invocation */
/**********************************************************************/ /**********************************************************************/
void scheme_rtcall_void_void_3args(const char *who, int src_type, prim_void_void_3args_t f) void scheme_rtcall_void_void_3args(const char *who, int src_type, prim_void_void_3args_t f)
XFORM_SKIP_PROC
/* Called in future thread */ /* Called in future thread */
{ {
START_XFORM_SKIP;
Scheme_Future_Thread_State *fts = scheme_future_thread_state; Scheme_Future_Thread_State *fts = scheme_future_thread_state;
future_t *future = fts->current_ft; future_t *future = fts->current_ft;
@ -855,14 +849,12 @@ void scheme_rtcall_void_void_3args(const char *who, int src_type, prim_void_void
future_do_runtimecall(fts, (void*)f, 1); future_do_runtimecall(fts, (void*)f, 1);
future->arg_S0 = NULL; future->arg_S0 = NULL;
END_XFORM_SKIP;
} }
unsigned long scheme_rtcall_alloc_void_pvoid(const char *who, int src_type, prim_alloc_void_pvoid_t f) unsigned long scheme_rtcall_alloc_void_pvoid(const char *who, int src_type, prim_alloc_void_pvoid_t f)
XFORM_SKIP_PROC
/* Called in future thread */ /* Called in future thread */
{ {
START_XFORM_SKIP;
future_t *future; future_t *future;
unsigned long retval; unsigned long retval;
Scheme_Future_Thread_State *fts = scheme_future_thread_state; Scheme_Future_Thread_State *fts = scheme_future_thread_state;
@ -887,10 +879,10 @@ unsigned long scheme_rtcall_alloc_void_pvoid(const char *who, int src_type, prim
} }
return retval; return retval;
END_XFORM_SKIP;
} }
static void receive_special_result(future_t *f, Scheme_Object *retval) static void receive_special_result(future_t *f, Scheme_Object *retval)
XFORM_SKIP_PROC
/* Called in future thread */ /* Called in future thread */
{ {
if (SAME_OBJ(retval, SCHEME_MULTIPLE_VALUES)) { if (SAME_OBJ(retval, SCHEME_MULTIPLE_VALUES)) {
@ -1041,9 +1033,9 @@ future_t *enqueue_future(Scheme_Future_State *fs, future_t *ft)
} }
future_t *get_pending_future(Scheme_Future_State *fs) future_t *get_pending_future(Scheme_Future_State *fs)
XFORM_SKIP_PROC
/* Called in future thread */ /* Called in future thread */
{ {
START_XFORM_SKIP;
future_t *f; future_t *f;
for (f = fs->future_queue; f != NULL; f = f->next) { for (f = fs->future_queue; f != NULL; f = f->next) {
@ -1052,7 +1044,6 @@ future_t *get_pending_future(Scheme_Future_State *fs)
} }
return NULL; return NULL;
END_XFORM_SKIP;
} }
/**********************************************************************/ /**********************************************************************/

View File

@ -41,13 +41,12 @@
(for-each display (for-each display
@list{#define define_ts_@|ts|(id, src_type) \ @list{#define define_ts_@|ts|(id, src_type) \
static @|result-type| ts_ ## id(@|args|) \ static @|result-type| ts_ ## id(@|args|) \
XFORM_SKIP_PROC \
{ \ { \
START_XFORM_SKIP; \
if (scheme_use_rtcall) \ if (scheme_use_rtcall) \
@|return| scheme_rtcall_@|t|("[" #id "]", src_type, id, @(string-join arg-names ", ")); \ @|return| scheme_rtcall_@|t|("[" #id "]", src_type, id, @(string-join arg-names ", ")); \
else \ else \
@|return| id(@(string-join arg-names ", ")); \ @|return| id(@(string-join arg-names ", ")); \
END_XFORM_SKIP; \
}}) }})
(newline)) (newline))
@ -62,8 +61,8 @@
display display
@list{ @list{
@|result-type| scheme_rtcall_@|ts|(const char *who, int src_type, prim_@|ts| f@|(if (null? arg-types) "" ",")| @|args|) @|result-type| scheme_rtcall_@|ts|(const char *who, int src_type, prim_@|ts| f@|(if (null? arg-types) "" ",")| @|args|)
XFORM_SKIP_PROC
{ {
START_XFORM_SKIP;
Scheme_Future_Thread_State *fts = scheme_future_thread_state; Scheme_Future_Thread_State *fts = scheme_future_thread_state;
future_t *future; future_t *future;
double tm; double tm;
@ -88,7 +87,6 @@
@(if (string=? result-type "void") "" @string-append{@|fretval| = 0;}) @(if (string=? result-type "void") "" @string-append{@|fretval| = 0;})
@(if (string=? result-type "Scheme_Object*") @string-append{receive_special_result(future, retval);} "") @(if (string=? result-type "Scheme_Object*") @string-append{receive_special_result(future, retval);} "")
@(if (string=? result-type "void") "" "return retval;") @(if (string=? result-type "void") "" "return retval;")
END_XFORM_SKIP;
} }
}) })
(newline)) (newline))

View File

@ -298,13 +298,7 @@ void scheme_jit_fill_threadlocal_table();
# define tl_scheme_future_need_gc_pause tl_delta(scheme_future_need_gc_pause) # define tl_scheme_future_need_gc_pause tl_delta(scheme_future_need_gc_pause)
# define tl_scheme_use_rtcall tl_delta(scheme_use_rtcall) # define tl_scheme_use_rtcall tl_delta(scheme_use_rtcall)
#ifdef MZ_XFORM static void *get_threadlocal_table() XFORM_SKIP_PROC { return &BOTTOM_VARIABLE; }
START_XFORM_SKIP;
#endif
static void *get_threadlocal_table() { return &BOTTOM_VARIABLE; }
#ifdef MZ_XFORM
END_XFORM_SKIP;
#endif
# ifdef JIT_X86_64 # ifdef JIT_X86_64
# define JIT_R10 JIT_R(10) # define JIT_R10 JIT_R(10)
@ -2217,9 +2211,8 @@ extern int g_print_prims;
__END_TINY_JUMPS__(1); \ __END_TINY_JUMPS__(1); \
} }
static Scheme_Object *noncm_prim_indirect(Scheme_Prim proc, int argc) static Scheme_Object *noncm_prim_indirect(Scheme_Prim proc, int argc)
XFORM_SKIP_PROC
{ {
START_XFORM_SKIP;
if (scheme_use_rtcall) if (scheme_use_rtcall)
return scheme_rtcall_iS_s("[prim_indirect]", return scheme_rtcall_iS_s("[prim_indirect]",
FSRC_PRIM, FSRC_PRIM,
@ -2228,39 +2221,31 @@ static Scheme_Object *noncm_prim_indirect(Scheme_Prim proc, int argc)
MZ_RUNSTACK); MZ_RUNSTACK);
else else
return proc(argc, MZ_RUNSTACK); return proc(argc, MZ_RUNSTACK);
END_XFORM_SKIP;
} }
static Scheme_Object *prim_indirect(Scheme_Primitive_Closure_Proc proc, int argc, Scheme_Object *self) static Scheme_Object *prim_indirect(Scheme_Primitive_Closure_Proc proc, int argc, Scheme_Object *self)
XFORM_SKIP_PROC
{ {
START_XFORM_SKIP;
if (scheme_use_rtcall) if (scheme_use_rtcall)
return scheme_rtcall_iSs_s("[prim_indirect]", FSRC_PRIM, proc, argc, MZ_RUNSTACK, self); return scheme_rtcall_iSs_s("[prim_indirect]", FSRC_PRIM, proc, argc, MZ_RUNSTACK, self);
else else
return proc(argc, MZ_RUNSTACK, self); return proc(argc, MZ_RUNSTACK, self);
END_XFORM_SKIP;
} }
/* Various specific 'futurized' versions of primitives that may /* Various specific 'futurized' versions of primitives that may
be invoked directly from JIT code and are not considered thread-safe be invoked directly from JIT code and are not considered thread-safe
(are not invoked via apply_multi_from_native, etc.) */ (are not invoked via apply_multi_from_native, etc.) */
static void ts_on_demand(void) static void ts_on_demand(void) XFORM_SKIP_PROC
{ {
START_XFORM_SKIP;
if (scheme_use_rtcall) { if (scheme_use_rtcall) {
scheme_rtcall_void_void_3args("[jit_on_demand]", FSRC_OTHER, on_demand_with_args); scheme_rtcall_void_void_3args("[jit_on_demand]", FSRC_OTHER, on_demand_with_args);
} else } else
on_demand(); on_demand();
END_XFORM_SKIP;
} }
#ifdef MZ_PRECISE_GC #ifdef MZ_PRECISE_GC
static void *ts_prepare_retry_alloc(void *p, void *p2) static void *ts_prepare_retry_alloc(void *p, void *p2) XFORM_SKIP_PROC
{ {
START_XFORM_SKIP;
unsigned long ret; unsigned long ret;
if (scheme_use_rtcall) { if (scheme_use_rtcall) {
@ -2277,7 +2262,6 @@ static void *ts_prepare_retry_alloc(void *p, void *p2)
ret = prepare_retry_alloc(p, p2); ret = prepare_retry_alloc(p, p2);
return ret; return ret;
END_XFORM_SKIP;
} }
#endif #endif
#else #else
@ -10316,11 +10300,8 @@ void scheme_dump_stack_trace(void)
} }
#endif #endif
#ifdef MZ_XFORM
START_XFORM_SKIP;
#endif
void scheme_flush_stack_cache() void scheme_flush_stack_cache()
XFORM_SKIP_PROC
{ {
void **p; void **p;
@ -10332,6 +10313,7 @@ void scheme_flush_stack_cache()
} }
void scheme_jit_longjmp(mz_jit_jmp_buf b, int v) void scheme_jit_longjmp(mz_jit_jmp_buf b, int v)
XFORM_SKIP_PROC
{ {
unsigned long limit; unsigned long limit;
void **p; void **p;
@ -10350,16 +10332,13 @@ void scheme_jit_longjmp(mz_jit_jmp_buf b, int v)
} }
void scheme_jit_setjmp_prepare(mz_jit_jmp_buf b) void scheme_jit_setjmp_prepare(mz_jit_jmp_buf b)
XFORM_SKIP_PROC
{ {
void *p; void *p;
p = &p; p = &p;
b->stack_frame = (unsigned long)p; b->stack_frame = (unsigned long)p;
} }
#ifdef MZ_XFORM
END_XFORM_SKIP;
#endif
void scheme_clean_native_symtab(void) void scheme_clean_native_symtab(void)
{ {
#ifndef MZ_PRECISE_GC #ifndef MZ_PRECISE_GC

View File

@ -1,200 +1,180 @@
#define define_ts_siS_s(id, src_type) \ #define define_ts_siS_s(id, src_type) \
static Scheme_Object* ts_ ## id(Scheme_Object* g7, int g8, Scheme_Object** g9) \ static Scheme_Object* ts_ ## id(Scheme_Object* g7, int g8, Scheme_Object** g9) \
XFORM_SKIP_PROC \
{ \ { \
START_XFORM_SKIP; \
if (scheme_use_rtcall) \ if (scheme_use_rtcall) \
return scheme_rtcall_siS_s("[" #id "]", src_type, id, g7, g8, g9); \ return scheme_rtcall_siS_s("[" #id "]", src_type, id, g7, g8, g9); \
else \ else \
return id(g7, g8, g9); \ return id(g7, g8, g9); \
END_XFORM_SKIP; \
} }
#define define_ts_iSs_s(id, src_type) \ #define define_ts_iSs_s(id, src_type) \
static Scheme_Object* ts_ ## id(int g10, Scheme_Object** g11, Scheme_Object* g12) \ static Scheme_Object* ts_ ## id(int g10, Scheme_Object** g11, Scheme_Object* g12) \
XFORM_SKIP_PROC \
{ \ { \
START_XFORM_SKIP; \
if (scheme_use_rtcall) \ if (scheme_use_rtcall) \
return scheme_rtcall_iSs_s("[" #id "]", src_type, id, g10, g11, g12); \ return scheme_rtcall_iSs_s("[" #id "]", src_type, id, g10, g11, g12); \
else \ else \
return id(g10, g11, g12); \ return id(g10, g11, g12); \
END_XFORM_SKIP; \
} }
#define define_ts_s_s(id, src_type) \ #define define_ts_s_s(id, src_type) \
static Scheme_Object* ts_ ## id(Scheme_Object* g13) \ static Scheme_Object* ts_ ## id(Scheme_Object* g13) \
XFORM_SKIP_PROC \
{ \ { \
START_XFORM_SKIP; \
if (scheme_use_rtcall) \ if (scheme_use_rtcall) \
return scheme_rtcall_s_s("[" #id "]", src_type, id, g13); \ return scheme_rtcall_s_s("[" #id "]", src_type, id, g13); \
else \ else \
return id(g13); \ return id(g13); \
END_XFORM_SKIP; \
} }
#define define_ts_n_s(id, src_type) \ #define define_ts_n_s(id, src_type) \
static Scheme_Object* ts_ ## id(Scheme_Native_Closure_Data* g14) \ static Scheme_Object* ts_ ## id(Scheme_Native_Closure_Data* g14) \
XFORM_SKIP_PROC \
{ \ { \
START_XFORM_SKIP; \
if (scheme_use_rtcall) \ if (scheme_use_rtcall) \
return scheme_rtcall_n_s("[" #id "]", src_type, id, g14); \ return scheme_rtcall_n_s("[" #id "]", src_type, id, g14); \
else \ else \
return id(g14); \ return id(g14); \
END_XFORM_SKIP; \
} }
#define define_ts__s(id, src_type) \ #define define_ts__s(id, src_type) \
static Scheme_Object* ts_ ## id() \ static Scheme_Object* ts_ ## id() \
XFORM_SKIP_PROC \
{ \ { \
START_XFORM_SKIP; \
if (scheme_use_rtcall) \ if (scheme_use_rtcall) \
return scheme_rtcall__s("[" #id "]", src_type, id, ); \ return scheme_rtcall__s("[" #id "]", src_type, id, ); \
else \ else \
return id(); \ return id(); \
END_XFORM_SKIP; \
} }
#define define_ts_ss_s(id, src_type) \ #define define_ts_ss_s(id, src_type) \
static Scheme_Object* ts_ ## id(Scheme_Object* g15, Scheme_Object* g16) \ static Scheme_Object* ts_ ## id(Scheme_Object* g15, Scheme_Object* g16) \
XFORM_SKIP_PROC \
{ \ { \
START_XFORM_SKIP; \
if (scheme_use_rtcall) \ if (scheme_use_rtcall) \
return scheme_rtcall_ss_s("[" #id "]", src_type, id, g15, g16); \ return scheme_rtcall_ss_s("[" #id "]", src_type, id, g15, g16); \
else \ else \
return id(g15, g16); \ return id(g15, g16); \
END_XFORM_SKIP; \
} }
#define define_ts_ss_m(id, src_type) \ #define define_ts_ss_m(id, src_type) \
static MZ_MARK_STACK_TYPE ts_ ## id(Scheme_Object* g17, Scheme_Object* g18) \ static MZ_MARK_STACK_TYPE ts_ ## id(Scheme_Object* g17, Scheme_Object* g18) \
XFORM_SKIP_PROC \
{ \ { \
START_XFORM_SKIP; \
if (scheme_use_rtcall) \ if (scheme_use_rtcall) \
return scheme_rtcall_ss_m("[" #id "]", src_type, id, g17, g18); \ return scheme_rtcall_ss_m("[" #id "]", src_type, id, g17, g18); \
else \ else \
return id(g17, g18); \ return id(g17, g18); \
END_XFORM_SKIP; \
} }
#define define_ts_Sl_s(id, src_type) \ #define define_ts_Sl_s(id, src_type) \
static Scheme_Object* ts_ ## id(Scheme_Object** g19, long g20) \ static Scheme_Object* ts_ ## id(Scheme_Object** g19, long g20) \
XFORM_SKIP_PROC \
{ \ { \
START_XFORM_SKIP; \
if (scheme_use_rtcall) \ if (scheme_use_rtcall) \
return scheme_rtcall_Sl_s("[" #id "]", src_type, id, g19, g20); \ return scheme_rtcall_Sl_s("[" #id "]", src_type, id, g19, g20); \
else \ else \
return id(g19, g20); \ return id(g19, g20); \
END_XFORM_SKIP; \
} }
#define define_ts_l_s(id, src_type) \ #define define_ts_l_s(id, src_type) \
static Scheme_Object* ts_ ## id(long g21) \ static Scheme_Object* ts_ ## id(long g21) \
XFORM_SKIP_PROC \
{ \ { \
START_XFORM_SKIP; \
if (scheme_use_rtcall) \ if (scheme_use_rtcall) \
return scheme_rtcall_l_s("[" #id "]", src_type, id, g21); \ return scheme_rtcall_l_s("[" #id "]", src_type, id, g21); \
else \ else \
return id(g21); \ return id(g21); \
END_XFORM_SKIP; \
} }
#define define_ts_bsi_v(id, src_type) \ #define define_ts_bsi_v(id, src_type) \
static void ts_ ## id(Scheme_Bucket* g22, Scheme_Object* g23, int g24) \ static void ts_ ## id(Scheme_Bucket* g22, Scheme_Object* g23, int g24) \
XFORM_SKIP_PROC \
{ \ { \
START_XFORM_SKIP; \
if (scheme_use_rtcall) \ if (scheme_use_rtcall) \
scheme_rtcall_bsi_v("[" #id "]", src_type, id, g22, g23, g24); \ scheme_rtcall_bsi_v("[" #id "]", src_type, id, g22, g23, g24); \
else \ else \
id(g22, g23, g24); \ id(g22, g23, g24); \
END_XFORM_SKIP; \
} }
#define define_ts_iiS_v(id, src_type) \ #define define_ts_iiS_v(id, src_type) \
static void ts_ ## id(int g25, int g26, Scheme_Object** g27) \ static void ts_ ## id(int g25, int g26, Scheme_Object** g27) \
XFORM_SKIP_PROC \
{ \ { \
START_XFORM_SKIP; \
if (scheme_use_rtcall) \ if (scheme_use_rtcall) \
scheme_rtcall_iiS_v("[" #id "]", src_type, id, g25, g26, g27); \ scheme_rtcall_iiS_v("[" #id "]", src_type, id, g25, g26, g27); \
else \ else \
id(g25, g26, g27); \ id(g25, g26, g27); \
END_XFORM_SKIP; \
} }
#define define_ts_ss_v(id, src_type) \ #define define_ts_ss_v(id, src_type) \
static void ts_ ## id(Scheme_Object* g28, Scheme_Object* g29) \ static void ts_ ## id(Scheme_Object* g28, Scheme_Object* g29) \
XFORM_SKIP_PROC \
{ \ { \
START_XFORM_SKIP; \
if (scheme_use_rtcall) \ if (scheme_use_rtcall) \
scheme_rtcall_ss_v("[" #id "]", src_type, id, g28, g29); \ scheme_rtcall_ss_v("[" #id "]", src_type, id, g28, g29); \
else \ else \
id(g28, g29); \ id(g28, g29); \
END_XFORM_SKIP; \
} }
#define define_ts_b_v(id, src_type) \ #define define_ts_b_v(id, src_type) \
static void ts_ ## id(Scheme_Bucket* g30) \ static void ts_ ## id(Scheme_Bucket* g30) \
XFORM_SKIP_PROC \
{ \ { \
START_XFORM_SKIP; \
if (scheme_use_rtcall) \ if (scheme_use_rtcall) \
scheme_rtcall_b_v("[" #id "]", src_type, id, g30); \ scheme_rtcall_b_v("[" #id "]", src_type, id, g30); \
else \ else \
id(g30); \ id(g30); \
END_XFORM_SKIP; \
} }
#define define_ts_sl_s(id, src_type) \ #define define_ts_sl_s(id, src_type) \
static Scheme_Object* ts_ ## id(Scheme_Object* g31, long g32) \ static Scheme_Object* ts_ ## id(Scheme_Object* g31, long g32) \
XFORM_SKIP_PROC \
{ \ { \
START_XFORM_SKIP; \
if (scheme_use_rtcall) \ if (scheme_use_rtcall) \
return scheme_rtcall_sl_s("[" #id "]", src_type, id, g31, g32); \ return scheme_rtcall_sl_s("[" #id "]", src_type, id, g31, g32); \
else \ else \
return id(g31, g32); \ return id(g31, g32); \
END_XFORM_SKIP; \
} }
#define define_ts_iS_s(id, src_type) \ #define define_ts_iS_s(id, src_type) \
static Scheme_Object* ts_ ## id(int g33, Scheme_Object** g34) \ static Scheme_Object* ts_ ## id(int g33, Scheme_Object** g34) \
XFORM_SKIP_PROC \
{ \ { \
START_XFORM_SKIP; \
if (scheme_use_rtcall) \ if (scheme_use_rtcall) \
return scheme_rtcall_iS_s("[" #id "]", src_type, id, g33, g34); \ return scheme_rtcall_iS_s("[" #id "]", src_type, id, g33, g34); \
else \ else \
return id(g33, g34); \ return id(g33, g34); \
END_XFORM_SKIP; \
} }
#define define_ts_S_s(id, src_type) \ #define define_ts_S_s(id, src_type) \
static Scheme_Object* ts_ ## id(Scheme_Object** g35) \ static Scheme_Object* ts_ ## id(Scheme_Object** g35) \
XFORM_SKIP_PROC \
{ \ { \
START_XFORM_SKIP; \
if (scheme_use_rtcall) \ if (scheme_use_rtcall) \
return scheme_rtcall_S_s("[" #id "]", src_type, id, g35); \ return scheme_rtcall_S_s("[" #id "]", src_type, id, g35); \
else \ else \
return id(g35); \ return id(g35); \
END_XFORM_SKIP; \
} }
#define define_ts_s_v(id, src_type) \ #define define_ts_s_v(id, src_type) \
static void ts_ ## id(Scheme_Object* g36) \ static void ts_ ## id(Scheme_Object* g36) \
XFORM_SKIP_PROC \
{ \ { \
START_XFORM_SKIP; \
if (scheme_use_rtcall) \ if (scheme_use_rtcall) \
scheme_rtcall_s_v("[" #id "]", src_type, id, g36); \ scheme_rtcall_s_v("[" #id "]", src_type, id, g36); \
else \ else \
id(g36); \ id(g36); \
END_XFORM_SKIP; \
} }
#define define_ts_iSi_s(id, src_type) \ #define define_ts_iSi_s(id, src_type) \
static Scheme_Object* ts_ ## id(int g37, Scheme_Object** g38, int g39) \ static Scheme_Object* ts_ ## id(int g37, Scheme_Object** g38, int g39) \
XFORM_SKIP_PROC \
{ \ { \
START_XFORM_SKIP; \
if (scheme_use_rtcall) \ if (scheme_use_rtcall) \
return scheme_rtcall_iSi_s("[" #id "]", src_type, id, g37, g38, g39); \ return scheme_rtcall_iSi_s("[" #id "]", src_type, id, g37, g38, g39); \
else \ else \
return id(g37, g38, g39); \ return id(g37, g38, g39); \
END_XFORM_SKIP; \
} }
#define define_ts_siS_v(id, src_type) \ #define define_ts_siS_v(id, src_type) \
static void ts_ ## id(Scheme_Object* g40, int g41, Scheme_Object** g42) \ static void ts_ ## id(Scheme_Object* g40, int g41, Scheme_Object** g42) \
XFORM_SKIP_PROC \
{ \ { \
START_XFORM_SKIP; \
if (scheme_use_rtcall) \ if (scheme_use_rtcall) \
scheme_rtcall_siS_v("[" #id "]", src_type, id, g40, g41, g42); \ scheme_rtcall_siS_v("[" #id "]", src_type, id, g40, g41, g42); \
else \ else \
id(g40, g41, g42); \ id(g40, g41, g42); \
END_XFORM_SKIP; \
} }
#define define_ts_z_p(id, src_type) \ #define define_ts_z_p(id, src_type) \
static void* ts_ ## id(size_t g43) \ static void* ts_ ## id(size_t g43) \
XFORM_SKIP_PROC \
{ \ { \
START_XFORM_SKIP; \
if (scheme_use_rtcall) \ if (scheme_use_rtcall) \
return scheme_rtcall_z_p("[" #id "]", src_type, id, g43); \ return scheme_rtcall_z_p("[" #id "]", src_type, id, g43); \
else \ else \
return id(g43); \ return id(g43); \
END_XFORM_SKIP; \
} }

View File

@ -1,6 +1,6 @@
Scheme_Object* scheme_rtcall_siS_s(const char *who, int src_type, prim_siS_s f, Scheme_Object* g44, int g45, Scheme_Object** g46) Scheme_Object* scheme_rtcall_siS_s(const char *who, int src_type, prim_siS_s f, Scheme_Object* g44, int g45, Scheme_Object** g46)
XFORM_SKIP_PROC
{ {
START_XFORM_SKIP;
Scheme_Future_Thread_State *fts = scheme_future_thread_state; Scheme_Future_Thread_State *fts = scheme_future_thread_state;
future_t *future; future_t *future;
double tm; double tm;
@ -22,11 +22,10 @@
future->retval_s = 0; future->retval_s = 0;
receive_special_result(future, retval); receive_special_result(future, retval);
return retval; return retval;
END_XFORM_SKIP;
} }
Scheme_Object* scheme_rtcall_iSs_s(const char *who, int src_type, prim_iSs_s f, int g47, Scheme_Object** g48, Scheme_Object* g49) Scheme_Object* scheme_rtcall_iSs_s(const char *who, int src_type, prim_iSs_s f, int g47, Scheme_Object** g48, Scheme_Object* g49)
XFORM_SKIP_PROC
{ {
START_XFORM_SKIP;
Scheme_Future_Thread_State *fts = scheme_future_thread_state; Scheme_Future_Thread_State *fts = scheme_future_thread_state;
future_t *future; future_t *future;
double tm; double tm;
@ -48,11 +47,10 @@
future->retval_s = 0; future->retval_s = 0;
receive_special_result(future, retval); receive_special_result(future, retval);
return retval; return retval;
END_XFORM_SKIP;
} }
Scheme_Object* scheme_rtcall_s_s(const char *who, int src_type, prim_s_s f, Scheme_Object* g50) Scheme_Object* scheme_rtcall_s_s(const char *who, int src_type, prim_s_s f, Scheme_Object* g50)
XFORM_SKIP_PROC
{ {
START_XFORM_SKIP;
Scheme_Future_Thread_State *fts = scheme_future_thread_state; Scheme_Future_Thread_State *fts = scheme_future_thread_state;
future_t *future; future_t *future;
double tm; double tm;
@ -72,11 +70,10 @@
future->retval_s = 0; future->retval_s = 0;
receive_special_result(future, retval); receive_special_result(future, retval);
return retval; return retval;
END_XFORM_SKIP;
} }
Scheme_Object* scheme_rtcall_n_s(const char *who, int src_type, prim_n_s f, Scheme_Native_Closure_Data* g51) Scheme_Object* scheme_rtcall_n_s(const char *who, int src_type, prim_n_s f, Scheme_Native_Closure_Data* g51)
XFORM_SKIP_PROC
{ {
START_XFORM_SKIP;
Scheme_Future_Thread_State *fts = scheme_future_thread_state; Scheme_Future_Thread_State *fts = scheme_future_thread_state;
future_t *future; future_t *future;
double tm; double tm;
@ -96,11 +93,10 @@
future->retval_s = 0; future->retval_s = 0;
receive_special_result(future, retval); receive_special_result(future, retval);
return retval; return retval;
END_XFORM_SKIP;
} }
Scheme_Object* scheme_rtcall__s(const char *who, int src_type, prim__s f ) Scheme_Object* scheme_rtcall__s(const char *who, int src_type, prim__s f )
XFORM_SKIP_PROC
{ {
START_XFORM_SKIP;
Scheme_Future_Thread_State *fts = scheme_future_thread_state; Scheme_Future_Thread_State *fts = scheme_future_thread_state;
future_t *future; future_t *future;
double tm; double tm;
@ -120,11 +116,10 @@
future->retval_s = 0; future->retval_s = 0;
receive_special_result(future, retval); receive_special_result(future, retval);
return retval; return retval;
END_XFORM_SKIP;
} }
Scheme_Object* scheme_rtcall_ss_s(const char *who, int src_type, prim_ss_s f, Scheme_Object* g52, Scheme_Object* g53) Scheme_Object* scheme_rtcall_ss_s(const char *who, int src_type, prim_ss_s f, Scheme_Object* g52, Scheme_Object* g53)
XFORM_SKIP_PROC
{ {
START_XFORM_SKIP;
Scheme_Future_Thread_State *fts = scheme_future_thread_state; Scheme_Future_Thread_State *fts = scheme_future_thread_state;
future_t *future; future_t *future;
double tm; double tm;
@ -145,11 +140,10 @@
future->retval_s = 0; future->retval_s = 0;
receive_special_result(future, retval); receive_special_result(future, retval);
return retval; return retval;
END_XFORM_SKIP;
} }
MZ_MARK_STACK_TYPE scheme_rtcall_ss_m(const char *who, int src_type, prim_ss_m f, Scheme_Object* g54, Scheme_Object* g55) MZ_MARK_STACK_TYPE scheme_rtcall_ss_m(const char *who, int src_type, prim_ss_m f, Scheme_Object* g54, Scheme_Object* g55)
XFORM_SKIP_PROC
{ {
START_XFORM_SKIP;
Scheme_Future_Thread_State *fts = scheme_future_thread_state; Scheme_Future_Thread_State *fts = scheme_future_thread_state;
future_t *future; future_t *future;
double tm; double tm;
@ -170,11 +164,10 @@
future->retval_m = 0; future->retval_m = 0;
return retval; return retval;
END_XFORM_SKIP;
} }
Scheme_Object* scheme_rtcall_Sl_s(const char *who, int src_type, prim_Sl_s f, Scheme_Object** g56, long g57) Scheme_Object* scheme_rtcall_Sl_s(const char *who, int src_type, prim_Sl_s f, Scheme_Object** g56, long g57)
XFORM_SKIP_PROC
{ {
START_XFORM_SKIP;
Scheme_Future_Thread_State *fts = scheme_future_thread_state; Scheme_Future_Thread_State *fts = scheme_future_thread_state;
future_t *future; future_t *future;
double tm; double tm;
@ -195,11 +188,10 @@
future->retval_s = 0; future->retval_s = 0;
receive_special_result(future, retval); receive_special_result(future, retval);
return retval; return retval;
END_XFORM_SKIP;
} }
Scheme_Object* scheme_rtcall_l_s(const char *who, int src_type, prim_l_s f, long g58) Scheme_Object* scheme_rtcall_l_s(const char *who, int src_type, prim_l_s f, long g58)
XFORM_SKIP_PROC
{ {
START_XFORM_SKIP;
Scheme_Future_Thread_State *fts = scheme_future_thread_state; Scheme_Future_Thread_State *fts = scheme_future_thread_state;
future_t *future; future_t *future;
double tm; double tm;
@ -219,11 +211,10 @@
future->retval_s = 0; future->retval_s = 0;
receive_special_result(future, retval); receive_special_result(future, retval);
return retval; return retval;
END_XFORM_SKIP;
} }
void scheme_rtcall_bsi_v(const char *who, int src_type, prim_bsi_v f, Scheme_Bucket* g59, Scheme_Object* g60, int g61) void scheme_rtcall_bsi_v(const char *who, int src_type, prim_bsi_v f, Scheme_Bucket* g59, Scheme_Object* g60, int g61)
XFORM_SKIP_PROC
{ {
START_XFORM_SKIP;
Scheme_Future_Thread_State *fts = scheme_future_thread_state; Scheme_Future_Thread_State *fts = scheme_future_thread_state;
future_t *future; future_t *future;
double tm; double tm;
@ -245,11 +236,10 @@
END_XFORM_SKIP;
} }
void scheme_rtcall_iiS_v(const char *who, int src_type, prim_iiS_v f, int g62, int g63, Scheme_Object** g64) void scheme_rtcall_iiS_v(const char *who, int src_type, prim_iiS_v f, int g62, int g63, Scheme_Object** g64)
XFORM_SKIP_PROC
{ {
START_XFORM_SKIP;
Scheme_Future_Thread_State *fts = scheme_future_thread_state; Scheme_Future_Thread_State *fts = scheme_future_thread_state;
future_t *future; future_t *future;
double tm; double tm;
@ -271,11 +261,10 @@
END_XFORM_SKIP;
} }
void scheme_rtcall_ss_v(const char *who, int src_type, prim_ss_v f, Scheme_Object* g65, Scheme_Object* g66) void scheme_rtcall_ss_v(const char *who, int src_type, prim_ss_v f, Scheme_Object* g65, Scheme_Object* g66)
XFORM_SKIP_PROC
{ {
START_XFORM_SKIP;
Scheme_Future_Thread_State *fts = scheme_future_thread_state; Scheme_Future_Thread_State *fts = scheme_future_thread_state;
future_t *future; future_t *future;
double tm; double tm;
@ -296,11 +285,10 @@
END_XFORM_SKIP;
} }
void scheme_rtcall_b_v(const char *who, int src_type, prim_b_v f, Scheme_Bucket* g67) void scheme_rtcall_b_v(const char *who, int src_type, prim_b_v f, Scheme_Bucket* g67)
XFORM_SKIP_PROC
{ {
START_XFORM_SKIP;
Scheme_Future_Thread_State *fts = scheme_future_thread_state; Scheme_Future_Thread_State *fts = scheme_future_thread_state;
future_t *future; future_t *future;
double tm; double tm;
@ -320,11 +308,10 @@
END_XFORM_SKIP;
} }
Scheme_Object* scheme_rtcall_sl_s(const char *who, int src_type, prim_sl_s f, Scheme_Object* g68, long g69) Scheme_Object* scheme_rtcall_sl_s(const char *who, int src_type, prim_sl_s f, Scheme_Object* g68, long g69)
XFORM_SKIP_PROC
{ {
START_XFORM_SKIP;
Scheme_Future_Thread_State *fts = scheme_future_thread_state; Scheme_Future_Thread_State *fts = scheme_future_thread_state;
future_t *future; future_t *future;
double tm; double tm;
@ -345,11 +332,10 @@
future->retval_s = 0; future->retval_s = 0;
receive_special_result(future, retval); receive_special_result(future, retval);
return retval; return retval;
END_XFORM_SKIP;
} }
Scheme_Object* scheme_rtcall_iS_s(const char *who, int src_type, prim_iS_s f, int g70, Scheme_Object** g71) Scheme_Object* scheme_rtcall_iS_s(const char *who, int src_type, prim_iS_s f, int g70, Scheme_Object** g71)
XFORM_SKIP_PROC
{ {
START_XFORM_SKIP;
Scheme_Future_Thread_State *fts = scheme_future_thread_state; Scheme_Future_Thread_State *fts = scheme_future_thread_state;
future_t *future; future_t *future;
double tm; double tm;
@ -370,11 +356,10 @@
future->retval_s = 0; future->retval_s = 0;
receive_special_result(future, retval); receive_special_result(future, retval);
return retval; return retval;
END_XFORM_SKIP;
} }
Scheme_Object* scheme_rtcall_S_s(const char *who, int src_type, prim_S_s f, Scheme_Object** g72) Scheme_Object* scheme_rtcall_S_s(const char *who, int src_type, prim_S_s f, Scheme_Object** g72)
XFORM_SKIP_PROC
{ {
START_XFORM_SKIP;
Scheme_Future_Thread_State *fts = scheme_future_thread_state; Scheme_Future_Thread_State *fts = scheme_future_thread_state;
future_t *future; future_t *future;
double tm; double tm;
@ -394,11 +379,10 @@
future->retval_s = 0; future->retval_s = 0;
receive_special_result(future, retval); receive_special_result(future, retval);
return retval; return retval;
END_XFORM_SKIP;
} }
void scheme_rtcall_s_v(const char *who, int src_type, prim_s_v f, Scheme_Object* g73) void scheme_rtcall_s_v(const char *who, int src_type, prim_s_v f, Scheme_Object* g73)
XFORM_SKIP_PROC
{ {
START_XFORM_SKIP;
Scheme_Future_Thread_State *fts = scheme_future_thread_state; Scheme_Future_Thread_State *fts = scheme_future_thread_state;
future_t *future; future_t *future;
double tm; double tm;
@ -418,11 +402,10 @@
END_XFORM_SKIP;
} }
Scheme_Object* scheme_rtcall_iSi_s(const char *who, int src_type, prim_iSi_s f, int g74, Scheme_Object** g75, int g76) Scheme_Object* scheme_rtcall_iSi_s(const char *who, int src_type, prim_iSi_s f, int g74, Scheme_Object** g75, int g76)
XFORM_SKIP_PROC
{ {
START_XFORM_SKIP;
Scheme_Future_Thread_State *fts = scheme_future_thread_state; Scheme_Future_Thread_State *fts = scheme_future_thread_state;
future_t *future; future_t *future;
double tm; double tm;
@ -444,11 +427,10 @@
future->retval_s = 0; future->retval_s = 0;
receive_special_result(future, retval); receive_special_result(future, retval);
return retval; return retval;
END_XFORM_SKIP;
} }
void scheme_rtcall_siS_v(const char *who, int src_type, prim_siS_v f, Scheme_Object* g77, int g78, Scheme_Object** g79) void scheme_rtcall_siS_v(const char *who, int src_type, prim_siS_v f, Scheme_Object* g77, int g78, Scheme_Object** g79)
XFORM_SKIP_PROC
{ {
START_XFORM_SKIP;
Scheme_Future_Thread_State *fts = scheme_future_thread_state; Scheme_Future_Thread_State *fts = scheme_future_thread_state;
future_t *future; future_t *future;
double tm; double tm;
@ -470,11 +452,10 @@
END_XFORM_SKIP;
} }
void* scheme_rtcall_z_p(const char *who, int src_type, prim_z_p f, size_t g80) void* scheme_rtcall_z_p(const char *who, int src_type, prim_z_p f, size_t g80)
XFORM_SKIP_PROC
{ {
START_XFORM_SKIP;
Scheme_Future_Thread_State *fts = scheme_future_thread_state; Scheme_Future_Thread_State *fts = scheme_future_thread_state;
future_t *future; future_t *future;
double tm; double tm;
@ -494,5 +475,4 @@
future->retval_p = 0; future->retval_p = 0;
return retval; return retval;
END_XFORM_SKIP;
} }

View File

@ -1,240 +0,0 @@
Scheme_Object* rtcall_siS_s(prim_siS_s f, Scheme_Object* g37, int g38, Scheme_Object** g39)
{
START_XFORM_SKIP;
future_t *future;
Scheme_Object* retval;
future = current_ft;
future->arg_s0 = g37;
future->arg_i1 = g38;
future->arg_S2 = g39;
future_do_runtimecall((void*)f, 0, NULL);
future = current_ft;
retval = future->retval_s;
future->prim_data.retval = NULL;
return retval;
END_XFORM_SKIP;
} Scheme_Object* rtcall_s_s(prim_s_s f, Scheme_Object* g40)
{
START_XFORM_SKIP;
future_t *future;
Scheme_Object* retval;
future = current_ft;
future->arg_s0 = g40;
future_do_runtimecall((void*)f, 0, NULL);
future = current_ft;
retval = future->retval_s;
future->prim_data.retval = NULL;
return retval;
END_XFORM_SKIP;
} Scheme_Object* rtcall__s(prim__s f, )
{
START_XFORM_SKIP;
future_t *future;
Scheme_Object* retval;
future = current_ft;
future_do_runtimecall((void*)f, 0, NULL);
future = current_ft;
retval = future->retval_s;
future->prim_data.retval = NULL;
return retval;
END_XFORM_SKIP;
} Scheme_Object* rtcall_ss_s(prim_ss_s f, Scheme_Object* g41, Scheme_Object* g42)
{
START_XFORM_SKIP;
future_t *future;
Scheme_Object* retval;
future = current_ft;
future->arg_s0 = g41;
future->arg_s1 = g42;
future_do_runtimecall((void*)f, 0, NULL);
future = current_ft;
retval = future->retval_s;
future->prim_data.retval = NULL;
return retval;
END_XFORM_SKIP;
} Scheme_Object* rtcall_lS_s(prim_lS_s f, long g43, Scheme_Object** g44)
{
START_XFORM_SKIP;
future_t *future;
Scheme_Object* retval;
future = current_ft;
future->arg_l0 = g43;
future->arg_S1 = g44;
future_do_runtimecall((void*)f, 0, NULL);
future = current_ft;
retval = future->retval_s;
future->prim_data.retval = NULL;
return retval;
END_XFORM_SKIP;
} Scheme_Object* rtcall_l_s(prim_l_s f, long g45)
{
START_XFORM_SKIP;
future_t *future;
Scheme_Object* retval;
future = current_ft;
future->arg_l0 = g45;
future_do_runtimecall((void*)f, 0, NULL);
future = current_ft;
retval = future->retval_s;
future->prim_data.retval = NULL;
return retval;
END_XFORM_SKIP;
} void rtcall_bsi_v(prim_bsi_v f, Scheme_Bucket* g46, Scheme_Object* g47, int g48)
{
START_XFORM_SKIP;
future_t *future;
void retval;
future = current_ft;
future->arg_b0 = g46;
future->arg_s1 = g47;
future->arg_i2 = g48;
future_do_runtimecall((void*)f, 0, NULL);
future = current_ft;
retval = future->retval_v;
future->prim_data.retval = NULL;
return retval;
END_XFORM_SKIP;
} Scheme_Object* rtcall_s_s(prim_s_s f, Scheme_Object* g49)
{
START_XFORM_SKIP;
future_t *future;
Scheme_Object* retval;
future = current_ft;
future->arg_s0 = g49;
future_do_runtimecall((void*)f, 0, NULL);
future = current_ft;
retval = future->retval_s;
future->prim_data.retval = NULL;
return retval;
END_XFORM_SKIP;
} void rtcall_iiS_v(prim_iiS_v f, int g50, int g51, Scheme_Object** g52)
{
START_XFORM_SKIP;
future_t *future;
void retval;
future = current_ft;
future->arg_i0 = g50;
future->arg_i1 = g51;
future->arg_S2 = g52;
future_do_runtimecall((void*)f, 0, NULL);
future = current_ft;
retval = future->retval_v;
future->prim_data.retval = NULL;
return retval;
END_XFORM_SKIP;
} void rtcall_ss_v(prim_ss_v f, Scheme_Object* g53, Scheme_Object* g54)
{
START_XFORM_SKIP;
future_t *future;
void retval;
future = current_ft;
future->arg_s0 = g53;
future->arg_s1 = g54;
future_do_runtimecall((void*)f, 0, NULL);
future = current_ft;
retval = future->retval_v;
future->prim_data.retval = NULL;
return retval;
END_XFORM_SKIP;
} void rtcall_b_v(prim_b_v f, Scheme_Bucket* g55)
{
START_XFORM_SKIP;
future_t *future;
void retval;
future = current_ft;
future->arg_b0 = g55;
future_do_runtimecall((void*)f, 0, NULL);
future = current_ft;
retval = future->retval_v;
future->prim_data.retval = NULL;
return retval;
END_XFORM_SKIP;
} Scheme_Object* rtcall_sl_s(prim_sl_s f, Scheme_Object* g56, long g57)
{
START_XFORM_SKIP;
future_t *future;
Scheme_Object* retval;
future = current_ft;
future->arg_s0 = g56;
future->arg_l1 = g57;
future_do_runtimecall((void*)f, 0, NULL);
future = current_ft;
retval = future->retval_s;
future->prim_data.retval = NULL;
return retval;
END_XFORM_SKIP;
} Scheme_Object* rtcall_iS_s(prim_iS_s f, int g58, Scheme_Object** g59)
{
START_XFORM_SKIP;
future_t *future;
Scheme_Object* retval;
future = current_ft;
future->arg_i0 = g58;
future->arg_S1 = g59;
future_do_runtimecall((void*)f, 0, NULL);
future = current_ft;
retval = future->retval_s;
future->prim_data.retval = NULL;
return retval;
END_XFORM_SKIP;
} void rtcall_s_v(prim_s_v f, Scheme_Object* g60)
{
START_XFORM_SKIP;
future_t *future;
void retval;
future = current_ft;
future->arg_s0 = g60;
future_do_runtimecall((void*)f, 0, NULL);
future = current_ft;
retval = future->retval_v;
future->prim_data.retval = NULL;
return retval;
END_XFORM_SKIP;
} Scheme_Object* rtcall_iSi_s(prim_iSi_s f, int g61, Scheme_Object** g62, int g63)
{
START_XFORM_SKIP;
future_t *future;
Scheme_Object* retval;
future = current_ft;
future->arg_i0 = g61;
future->arg_S1 = g62;
future->arg_i2 = g63;
future_do_runtimecall((void*)f, 0, NULL);
future = current_ft;
retval = future->retval_s;
future->prim_data.retval = NULL;
return retval;
END_XFORM_SKIP;
} void rtcall_siS_v(prim_siS_v f, Scheme_Object* g64, int g65, Scheme_Object** g66)
{
START_XFORM_SKIP;
future_t *future;
void retval;
future = current_ft;
future->arg_s0 = g64;
future->arg_i1 = g65;
future->arg_S2 = g66;
future_do_runtimecall((void*)f, 0, NULL);
future = current_ft;
retval = future->retval_v;
future->prim_data.retval = NULL;
return retval;
END_XFORM_SKIP;
}

View File

@ -338,11 +338,9 @@ static struct protoent *proto;
# define mz_gai_strerror gai_strerror # define mz_gai_strerror gai_strerror
#else #else
# define mzAI_PASSIVE 0 # define mzAI_PASSIVE 0
# ifdef MZ_XFORM
START_XFORM_SKIP;
# endif
static int mz_getaddrinfo(const char *nodename, const char *servname, static int mz_getaddrinfo(const char *nodename, const char *servname,
const struct mz_addrinfo *hints, struct mz_addrinfo **res) const struct mz_addrinfo *hints, struct mz_addrinfo **res)
XFORM_SKIP_PROC
{ {
struct hostent *h; struct hostent *h;
@ -386,17 +384,16 @@ static int mz_getaddrinfo(const char *nodename, const char *servname,
return h_errno; return h_errno;
} }
void mz_freeaddrinfo(struct mz_addrinfo *ai) void mz_freeaddrinfo(struct mz_addrinfo *ai)
XFORM_SKIP_PROC
{ {
free(ai->ai_addr); free(ai->ai_addr);
free(ai); free(ai);
} }
const char *mz_gai_strerror(int ecode) const char *mz_gai_strerror(int ecode)
XFORM_SKIP_PROC
{ {
return hstrerror(ecode); return hstrerror(ecode);
} }
# ifdef MZ_XFORM
END_XFORM_SKIP;
# endif
#endif #endif
#if defined(USE_WINSOCK_TCP) || defined(PTHREADS_OK_FOR_GHBN) #if defined(USE_WINSOCK_TCP) || defined(PTHREADS_OK_FOR_GHBN)
@ -441,11 +438,8 @@ HANDLE ready_sema;
int ready_fd; int ready_fd;
# endif # endif
#ifdef MZ_XFORM
START_XFORM_SKIP;
#endif
static long getaddrinfo_in_thread(void *data) static long getaddrinfo_in_thread(void *data)
XFORM_SKIP_PROC
{ {
int ok; int ok;
struct mz_addrinfo *res, hints; struct mz_addrinfo *res, hints;
@ -487,10 +481,6 @@ static long getaddrinfo_in_thread(void *data)
return 1; return 1;
} }
#ifdef MZ_XFORM
END_XFORM_SKIP;
#endif
static void release_ghbn_lock(GHBN_Rec *rec) static void release_ghbn_lock(GHBN_Rec *rec)
{ {
ghbn_lock = 0; ghbn_lock = 0;

View File

@ -150,11 +150,8 @@ void scheme_init_unsafe_numcomp(Scheme_Env *env)
/* Prototype needed for 3m conversion: */ /* Prototype needed for 3m conversion: */
static MZ_INLINE Scheme_Object *force_rat(Scheme_Object *n, Small_Rational *sr); static MZ_INLINE Scheme_Object *force_rat(Scheme_Object *n, Small_Rational *sr);
#ifdef MZ_XFORM
START_XFORM_SKIP;
#endif
static MZ_INLINE Scheme_Object *force_rat(Scheme_Object *n, Small_Rational *sr) static MZ_INLINE Scheme_Object *force_rat(Scheme_Object *n, Small_Rational *sr)
XFORM_SKIP_PROC
{ {
Scheme_Type t = SCHEME_TYPE(n); Scheme_Type t = SCHEME_TYPE(n);
if (t == scheme_rational_type) if (t == scheme_rational_type)
@ -163,10 +160,6 @@ static MZ_INLINE Scheme_Object *force_rat(Scheme_Object *n, Small_Rational *sr)
return scheme_make_small_bn_rational(n, sr); return scheme_make_small_bn_rational(n, sr);
} }
#ifdef MZ_XFORM
END_XFORM_SKIP;
#endif
GEN_NARY_COMP(eq, "=", scheme_bin_eq, SCHEME_NUMBERP, "number") GEN_NARY_COMP(eq, "=", scheme_bin_eq, SCHEME_NUMBERP, "number")
GEN_NARY_COMP(lt, "<", scheme_bin_lt, SCHEME_REALP, REAL_NUMBER_STR) GEN_NARY_COMP(lt, "<", scheme_bin_lt, SCHEME_REALP, REAL_NUMBER_STR)
GEN_NARY_COMP(gt, ">", scheme_bin_gt, SCHEME_REALP, REAL_NUMBER_STR) GEN_NARY_COMP(gt, ">", scheme_bin_gt, SCHEME_REALP, REAL_NUMBER_STR)

View File

@ -206,11 +206,8 @@ static int *malloc_refcount()
return (int *)malloc(sizeof(int)); return (int *)malloc(sizeof(int));
} }
#ifdef MZ_XFORM
START_XFORM_SKIP;
#endif
static int dec_refcount(int *refcount) static int dec_refcount(int *refcount)
XFORM_SKIP_PROC
{ {
int rc; int rc;
@ -227,10 +224,6 @@ static int dec_refcount(int *refcount)
return rc; return rc;
} }
#ifdef MZ_XFORM
END_XFORM_SKIP;
#endif
#else #else
static int *malloc_refcount() static int *malloc_refcount()
@ -693,11 +686,8 @@ static int dynamic_fd_size;
# define STORED_ACTUAL_FDSET_LIMIT # define STORED_ACTUAL_FDSET_LIMIT
# define FDSET_LIMIT(fd) (*(int *)((char *)fd XFORM_OK_PLUS dynamic_fd_size)) # define FDSET_LIMIT(fd) (*(int *)((char *)fd XFORM_OK_PLUS dynamic_fd_size))
#ifdef MZ_XFORM
START_XFORM_SKIP;
#endif
void *scheme_alloc_fdset_array(int count, int permanent) void *scheme_alloc_fdset_array(int count, int permanent)
XFORM_SKIP_PROC
{ {
/* Note: alloc only at the end, because this function /* Note: alloc only at the end, because this function
isn't annotated. We skip annotation so that it's isn't annotated. We skip annotation so that it's
@ -722,10 +712,6 @@ void *scheme_alloc_fdset_array(int count, int permanent)
return scheme_malloc_atomic(count * (dynamic_fd_size + sizeof(long))); return scheme_malloc_atomic(count * (dynamic_fd_size + sizeof(long)));
} }
#ifdef MZ_XFORM
END_XFORM_SKIP;
#endif
void *scheme_init_fdset_array(void *fdarray, int count) void *scheme_init_fdset_array(void *fdarray, int count)
{ {
return fdarray; return fdarray;
@ -1184,11 +1170,8 @@ void scheme_remember_subthread(struct Scheme_Thread_Memory *tm, void *t)
tm->subhandle = t; tm->subhandle = t;
} }
#ifdef MZ_XFORM
START_XFORM_SKIP;
#endif
void scheme_forget_thread(struct Scheme_Thread_Memory *tm) void scheme_forget_thread(struct Scheme_Thread_Memory *tm)
XFORM_SKIP_PROC
{ {
if (tm->prev) if (tm->prev)
tm->prev->next = tm->next; tm->prev->next = tm->next;
@ -1207,11 +1190,13 @@ void scheme_forget_thread(struct Scheme_Thread_Memory *tm)
} }
void scheme_forget_subthread(struct Scheme_Thread_Memory *tm) void scheme_forget_subthread(struct Scheme_Thread_Memory *tm)
XFORM_SKIP_PROC
{ {
tm->subhandle = NULL; tm->subhandle = NULL;
} }
void scheme_suspend_remembered_threads(void) void scheme_suspend_remembered_threads(void)
XFORM_SKIP_PROC
{ {
Scheme_Thread_Memory *tm, *next, *prev = NULL; Scheme_Thread_Memory *tm, *next, *prev = NULL;
int keep; int keep;
@ -1249,6 +1234,7 @@ void scheme_suspend_remembered_threads(void)
} }
void scheme_resume_remembered_threads(void) void scheme_resume_remembered_threads(void)
XFORM_SKIP_PROC
{ {
Scheme_Thread_Memory *tm; Scheme_Thread_Memory *tm;
@ -1259,10 +1245,6 @@ void scheme_resume_remembered_threads(void)
} }
} }
#ifdef MZ_XFORM
END_XFORM_SKIP;
#endif
#endif #endif
/*========================================================================*/ /*========================================================================*/
@ -5442,11 +5424,8 @@ make_fd_input_port(int fd, Scheme_Object *name, int regfile, int win_textmode, i
# ifdef WINDOWS_FILE_HANDLES # ifdef WINDOWS_FILE_HANDLES
#ifdef MZ_XFORM
START_XFORM_SKIP;
#endif
static long WindowsFDReader(Win_FD_Input_Thread *th) static long WindowsFDReader(Win_FD_Input_Thread *th)
XFORM_SKIP_PROC
{ {
DWORD toget, got; DWORD toget, got;
int perma_eof = 0; int perma_eof = 0;
@ -5502,6 +5481,7 @@ static long WindowsFDReader(Win_FD_Input_Thread *th)
} }
static void WindowsFDICleanup(Win_FD_Input_Thread *th) static void WindowsFDICleanup(Win_FD_Input_Thread *th)
XFORM_SKIP_PROC
{ {
int rc; int rc;
@ -5516,10 +5496,6 @@ static void WindowsFDICleanup(Win_FD_Input_Thread *th)
free(th); free(th);
} }
#ifdef MZ_XFORM
END_XFORM_SKIP;
#endif
# endif # endif
#endif #endif
@ -6649,11 +6625,8 @@ static void flush_if_output_fds(Scheme_Object *o, Scheme_Close_Custodian_Client
#ifdef WINDOWS_FILE_HANDLES #ifdef WINDOWS_FILE_HANDLES
#ifdef MZ_XFORM
START_XFORM_SKIP;
#endif
static long WindowsFDWriter(Win_FD_Output_Thread *oth) static long WindowsFDWriter(Win_FD_Output_Thread *oth)
XFORM_SKIP_PROC
{ {
DWORD towrite, wrote, start; DWORD towrite, wrote, start;
int ok, more_work = 0, err_no; int ok, more_work = 0, err_no;
@ -6717,6 +6690,7 @@ static long WindowsFDWriter(Win_FD_Output_Thread *oth)
} }
static void WindowsFDOCleanup(Win_FD_Output_Thread *oth) static void WindowsFDOCleanup(Win_FD_Output_Thread *oth)
XFORM_SKIP_PROC
{ {
int rc; int rc;
@ -6732,10 +6706,6 @@ static void WindowsFDOCleanup(Win_FD_Output_Thread *oth)
free(oth); free(oth);
} }
#ifdef MZ_XFORM
END_XFORM_SKIP;
#endif
#endif #endif
#endif #endif
@ -6827,11 +6797,8 @@ static int MyPipe(int *ph, int near_index) {
static int need_to_check_children; static int need_to_check_children;
#ifdef MZ_XFORM
START_XFORM_SKIP;
#endif
void scheme_block_child_signals(int block) void scheme_block_child_signals(int block)
XFORM_SKIP_PROC
{ {
sigset_t sigs; sigset_t sigs;
@ -6844,6 +6811,7 @@ void scheme_block_child_signals(int block)
} }
static void child_done(int ingored) static void child_done(int ingored)
XFORM_SKIP_PROC
{ {
need_to_check_children = 1; need_to_check_children = 1;
scheme_signal_received(); scheme_signal_received();
@ -6853,10 +6821,6 @@ static void child_done(int ingored)
# endif # endif
} }
#ifdef MZ_XFORM
END_XFORM_SKIP;
#endif
static int sigchld_installed = 0; static int sigchld_installed = 0;
static void init_sigchld(void) static void init_sigchld(void)
@ -8115,16 +8079,12 @@ void scheme_notify_sleep_progress()
/******************** Main sleep function *****************/ /******************** Main sleep function *****************/
/* The simple select() stuff is buried in Windows complexity. */ /* The simple select() stuff is buried in Windows complexity. */
static void default_sleep(float v, void *fds)
#ifdef OS_X
XFORM_SKIP_PROC
#endif
/* This sleep function is not allowed to allocate in OS X, because it /* This sleep function is not allowed to allocate in OS X, because it
is called in a non-main thread. */ is called in a non-main thread. */
#ifdef OS_X
# ifdef MZ_XFORM
START_XFORM_SKIP;
# endif
#endif
static void default_sleep(float v, void *fds)
{ {
/* REMEMBER: don't allocate in this function (at least not GCable /* REMEMBER: don't allocate in this function (at least not GCable
memory) for OS X. Not that FD setups are ok, because they use memory) for OS X. Not that FD setups are ok, because they use
@ -8359,17 +8319,8 @@ static void default_sleep(float v, void *fds)
#endif #endif
} }
#ifdef OS_X
# ifdef MZ_XFORM
END_XFORM_SKIP;
# endif
#endif
#ifdef MZ_XFORM
START_XFORM_SKIP;
#endif
void scheme_signal_received_at(void *h) void scheme_signal_received_at(void *h)
XFORM_SKIP_PROC
/* Ensure that MzScheme wakes up if asleep. */ /* Ensure that MzScheme wakes up if asleep. */
{ {
#if defined(FILES_HAVE_FDS) #if defined(FILES_HAVE_FDS)
@ -8387,6 +8338,7 @@ void scheme_signal_received_at(void *h)
} }
void *scheme_get_signal_handle() void *scheme_get_signal_handle()
XFORM_SKIP_PROC
{ {
#if defined(FILES_HAVE_FDS) #if defined(FILES_HAVE_FDS)
return &put_external_event_fd; return &put_external_event_fd;
@ -8400,14 +8352,11 @@ void *scheme_get_signal_handle()
} }
void scheme_signal_received(void) void scheme_signal_received(void)
XFORM_SKIP_PROC
{ {
scheme_signal_received_at(scheme_get_signal_handle()); scheme_signal_received_at(scheme_get_signal_handle());
} }
#ifdef MZ_XFORM
END_XFORM_SKIP;
#endif
int scheme_get_external_event_fd(void) int scheme_get_external_event_fd(void)
{ {
#if defined(FILES_HAVE_FDS) #if defined(FILES_HAVE_FDS)
@ -8423,11 +8372,8 @@ static HANDLE itimer;
static OS_SEMAPHORE_TYPE itimer_semaphore; static OS_SEMAPHORE_TYPE itimer_semaphore;
static long itimer_delay; static long itimer_delay;
#ifdef MZ_XFORM
START_XFORM_SKIP;
#endif
static long ITimer(void) static long ITimer(void)
XFORM_SKIP_PROC
{ {
WaitForSingleObject(itimer_semaphore, INFINITE); WaitForSingleObject(itimer_semaphore, INFINITE);
@ -8440,10 +8386,6 @@ static long ITimer(void)
} }
} }
#ifdef MZ_XFORM
END_XFORM_SKIP;
#endif
static void scheme_start_itimer_thread(long usec) static void scheme_start_itimer_thread(long usec)
{ {
DWORD id; DWORD id;
@ -8477,11 +8419,8 @@ typedef struct ITimer_Data {
THREAD_LOCAL_DECL(static ITimer_Data *itimerdata); THREAD_LOCAL_DECL(static ITimer_Data *itimerdata);
#ifdef MZ_XFORM
START_XFORM_SKIP;
#endif
static void *green_thread_timer(void *data) static void *green_thread_timer(void *data)
XFORM_SKIP_PROC
{ {
ITimer_Data *itimer_data; ITimer_Data *itimer_data;
itimer_data = (ITimer_Data *)data; itimer_data = (ITimer_Data *)data;
@ -8510,10 +8449,6 @@ static void *green_thread_timer(void *data)
return NULL; return NULL;
} }
#ifdef MZ_XFORM
END_XFORM_SKIP;
#endif
static void start_green_thread_timer(long usec) static void start_green_thread_timer(long usec)
{ {
itimerdata->die = 0; itimerdata->die = 0;
@ -8581,11 +8516,8 @@ static void scheme_start_itimer_thread(long usec)
#ifdef USE_ITIMER #ifdef USE_ITIMER
#ifdef MZ_XFORM
START_XFORM_SKIP;
#endif
static void itimer_expired(int ignored) static void itimer_expired(int ignored)
XFORM_SKIP_PROC
{ {
scheme_fuel_counter = 0; scheme_fuel_counter = 0;
scheme_jit_stack_boundary = (unsigned long)-1; scheme_jit_stack_boundary = (unsigned long)-1;
@ -8594,7 +8526,9 @@ static void itimer_expired(int ignored)
# endif # endif
} }
static void kickoff_itimer(long usec) { static void kickoff_itimer(long usec)
XFORM_SKIP_PROC
{
struct itimerval t; struct itimerval t;
struct itimerval old; struct itimerval old;
static int itimer_handler_installed = 0; static int itimer_handler_installed = 0;
@ -8612,10 +8546,6 @@ static void kickoff_itimer(long usec) {
setitimer(ITIMER_PROF, &t, &old); setitimer(ITIMER_PROF, &t, &old);
} }
#ifdef MZ_XFORM
END_XFORM_SKIP;
#endif
#endif #endif
void scheme_kickoff_green_thread_time_slice_timer(long usec) { void scheme_kickoff_green_thread_time_slice_timer(long usec) {

View File

@ -534,16 +534,13 @@ static int check_cycles(Scheme_Object *obj, int for_write, Scheme_Hash_Table *ht
return 0; return 0;
} }
#ifdef MZ_XFORM
START_XFORM_SKIP;
#endif
/* The fast cycle-checker plays a dangerous game: it changes type /* The fast cycle-checker plays a dangerous game: it changes type
tags. No GCs can occur here, and no thread switches. If the fast tags. No GCs can occur here, and no thread switches. If the fast
version takes to long, we back out to the general case. (We don't version takes to long, we back out to the general case. (We don't
even check for stack overflow, so keep the max limit low.) */ even check for stack overflow, so keep the max limit low.) */
static int check_cycles_fast(Scheme_Object *obj, PrintParams *pp, int *fast_checker_counter) static int check_cycles_fast(Scheme_Object *obj, PrintParams *pp, int *fast_checker_counter)
XFORM_SKIP_PROC
{ {
Scheme_Type t; Scheme_Type t;
int cycle = 0; int cycle = 0;
@ -618,10 +615,6 @@ static int check_cycles_fast(Scheme_Object *obj, PrintParams *pp, int *fast_chec
return cycle; return cycle;
} }
#ifdef MZ_XFORM
END_XFORM_SKIP;
#endif
#ifdef DO_STACK_CHECK #ifdef DO_STACK_CHECK
static void setup_graph_table(Scheme_Object *obj, int for_write, Scheme_Hash_Table *ht, int *counter, PrintParams *pp); static void setup_graph_table(Scheme_Object *obj, int for_write, Scheme_Hash_Table *ht, int *counter, PrintParams *pp);

View File

@ -56,11 +56,8 @@ Scheme_Object *scheme_integer_to_rational(const Scheme_Object *n)
return make_rational(n, one, 0); return make_rational(n, one, 0);
} }
#ifdef MZ_XFORM
START_XFORM_SKIP;
#endif
Scheme_Object *scheme_make_small_rational(long n, Small_Rational *s) Scheme_Object *scheme_make_small_rational(long n, Small_Rational *s)
XFORM_SKIP_PROC
{ {
s->so.type = scheme_rational_type; s->so.type = scheme_rational_type;
s->num = scheme_make_integer(n); s->num = scheme_make_integer(n);
@ -70,6 +67,7 @@ Scheme_Object *scheme_make_small_rational(long n, Small_Rational *s)
} }
Scheme_Object *scheme_make_small_bn_rational(Scheme_Object *n, Small_Rational *s) Scheme_Object *scheme_make_small_bn_rational(Scheme_Object *n, Small_Rational *s)
XFORM_SKIP_PROC
{ {
s->so.type = scheme_rational_type; s->so.type = scheme_rational_type;
s->num = n; s->num = n;
@ -78,10 +76,6 @@ Scheme_Object *scheme_make_small_bn_rational(Scheme_Object *n, Small_Rational *s
return (Scheme_Object *)s; return (Scheme_Object *)s;
} }
#ifdef MZ_XFORM
END_XFORM_SKIP;
#endif
int scheme_is_rational_positive(const Scheme_Object *o) int scheme_is_rational_positive(const Scheme_Object *o)
{ {
Scheme_Rational *r = (Scheme_Rational *)o; Scheme_Rational *r = (Scheme_Rational *)o;

View File

@ -178,11 +178,7 @@ static int do_main_stack_setup(int no_auto_statics, Scheme_Nested_Main _main, vo
return return_code; return return_code;
} }
#ifdef MZ_PRECISE_GC int scheme_main_stack_setup(int no_auto_statics, Scheme_Nested_Main _main, void *data) XFORM_SKIP_PROC
START_XFORM_SKIP;
#endif
int scheme_main_stack_setup(int no_auto_statics, Scheme_Nested_Main _main, void *data)
{ {
#ifdef IMPLEMENT_THREAD_LOCAL_VIA_PTHREADS #ifdef IMPLEMENT_THREAD_LOCAL_VIA_PTHREADS
# ifdef INLINE_GETSPECIFIC_ASSEMBLY_CODE # ifdef INLINE_GETSPECIFIC_ASSEMBLY_CODE
@ -233,10 +229,6 @@ int scheme_main_stack_setup(int no_auto_statics, Scheme_Nested_Main _main, void
return do_main_stack_setup(no_auto_statics, _main, data); return do_main_stack_setup(no_auto_statics, _main, data);
} }
#ifdef MZ_PRECISE_GC
END_XFORM_SKIP;
#endif
void scheme_set_stack_bounds(void *base, void *deepest, int no_auto_statics) void scheme_set_stack_bounds(void *base, void *deepest, int no_auto_statics)
{ {
scheme_set_stack_base(base, no_auto_statics); scheme_set_stack_base(base, no_auto_statics);
@ -283,10 +275,7 @@ extern void GC_attach_current_thread_exceptions_to_handler();
# endif # endif
#endif #endif
#ifdef MZ_XFORM void scheme_init_os_thread() XFORM_SKIP_PROC
START_XFORM_SKIP;
#endif
void scheme_init_os_thread()
{ {
#ifdef IMPLEMENT_THREAD_LOCAL_VIA_PTHREADS #ifdef IMPLEMENT_THREAD_LOCAL_VIA_PTHREADS
Thread_Local_Variables *vars; Thread_Local_Variables *vars;
@ -300,9 +289,6 @@ void scheme_init_os_thread()
# endif # endif
#endif #endif
} }
#ifdef MZ_XFORM
END_XFORM_SKIP;
#endif
/************************************************************************/ /************************************************************************/
/* memory utils */ /* memory utils */
@ -577,11 +563,7 @@ void *scheme_malloc_uncollectable(size_t size_in_bytes)
} }
#endif #endif
#ifdef MZ_XFORM void scheme_register_static(void *ptr, long size) XFORM_SKIP_PROC
START_XFORM_SKIP;
#endif
void scheme_register_static(void *ptr, long size)
{ {
#if defined(MZ_PRECISE_GC) || defined(USE_SENORA_GC) #if defined(MZ_PRECISE_GC) || defined(USE_SENORA_GC)
/* Always register for precise and Senora GC: */ /* Always register for precise and Senora GC: */
@ -595,10 +577,6 @@ void scheme_register_static(void *ptr, long size)
#endif #endif
} }
#ifdef MZ_XFORM
END_XFORM_SKIP;
#endif
#ifdef USE_TAGGED_ALLOCATION #ifdef USE_TAGGED_ALLOCATION
struct GC_Set *tagged, *real_tagged, *tagged_atomic, *tagged_eternal, *tagged_uncollectable, *stacks, *envunbox; struct GC_Set *tagged, *real_tagged, *tagged_atomic, *tagged_eternal, *tagged_uncollectable, *stacks, *envunbox;

View File

@ -221,9 +221,8 @@ THREAD_LOCAL_DECL(static long stack_copy_size_cache[STACK_COPY_CACHE_SIZE]);
THREAD_LOCAL_DECL(static int scc_pos); THREAD_LOCAL_DECL(static int scc_pos);
#define SCC_OK_EXTRA_AMT 100 #define SCC_OK_EXTRA_AMT 100
START_XFORM_SKIP;
void scheme_flush_stack_copy_cache(void) void scheme_flush_stack_copy_cache(void)
XFORM_SKIP_PROC
{ {
int i; int i;
for (i = 0; i < STACK_COPY_CACHE_SIZE; i++) { for (i = 0; i < STACK_COPY_CACHE_SIZE; i++) {
@ -232,8 +231,6 @@ void scheme_flush_stack_copy_cache(void)
} }
} }
END_XFORM_SKIP;
#endif #endif
/**********************************************************************/ /**********************************************************************/

View File

@ -1550,14 +1550,11 @@ Scheme_Thread *scheme_do_close_managed(Scheme_Custodian *m, Scheme_Exit_Closer_F
return kill_self; return kill_self;
} }
#ifdef MZ_XFORM
START_XFORM_SKIP;
#endif
typedef void (*Scheme_For_Each_Func)(Scheme_Object *); typedef void (*Scheme_For_Each_Func)(Scheme_Object *);
static void for_each_managed(Scheme_Type type, Scheme_For_Each_Func cf) static void for_each_managed(Scheme_Type type, Scheme_For_Each_Func cf)
/* This function must not allocate. */ XFORM_SKIP_PROC
/* This function must not allocate. */
{ {
Scheme_Custodian *m; Scheme_Custodian *m;
int i; int i;
@ -1600,10 +1597,6 @@ static void for_each_managed(Scheme_Type type, Scheme_For_Each_Func cf)
} }
} }
#ifdef MZ_XFORM
END_XFORM_SKIP;
#endif
void scheme_close_managed(Scheme_Custodian *m) void scheme_close_managed(Scheme_Custodian *m)
/* The trick is that we may need to kill the thread /* The trick is that we may need to kill the thread
that is running us. If so, delay it to the very that is running us. If so, delay it to the very
@ -2436,11 +2429,8 @@ void *scheme_tls_get(int pos)
return p->user_tls[pos]; return p->user_tls[pos];
} }
#ifdef MZ_XFORM
START_XFORM_SKIP;
#endif
Scheme_Object **scheme_alloc_runstack(long len) Scheme_Object **scheme_alloc_runstack(long len)
XFORM_SKIP_PROC
{ {
#ifdef MZ_PRECISE_GC #ifdef MZ_PRECISE_GC
long sz; long sz;
@ -2458,6 +2448,7 @@ Scheme_Object **scheme_alloc_runstack(long len)
} }
void scheme_set_runstack_limits(Scheme_Object **rs, long len, long start, long end) void scheme_set_runstack_limits(Scheme_Object **rs, long len, long start, long end)
XFORM_SKIP_PROC
/* With 3m, we can tell the GC not to scan the unused parts, and we /* With 3m, we can tell the GC not to scan the unused parts, and we
can have the fixup function zero out the unused parts; that avoids can have the fixup function zero out the unused parts; that avoids
writing and scanning pages that could be skipped for a minor writing and scanning pages that could be skipped for a minor
@ -2474,10 +2465,6 @@ void scheme_set_runstack_limits(Scheme_Object **rs, long len, long start, long e
#endif #endif
} }
#ifdef MZ_XFORM
END_XFORM_SKIP;
#endif
/*========================================================================*/ /*========================================================================*/
/* thread creation and swapping */ /* thread creation and swapping */
/*========================================================================*/ /*========================================================================*/
@ -6842,11 +6829,8 @@ static Scheme_Object *current_thread_initial_stack_size(int argc, Scheme_Object
/* namespaces */ /* namespaces */
/*========================================================================*/ /*========================================================================*/
#ifdef MZ_XFORM
START_XFORM_SKIP;
#endif
Scheme_Env *scheme_get_env(Scheme_Config *c) Scheme_Env *scheme_get_env(Scheme_Config *c)
XFORM_SKIP_PROC
{ {
Scheme_Object *o; Scheme_Object *o;
@ -6857,10 +6841,6 @@ Scheme_Env *scheme_get_env(Scheme_Config *c)
return (Scheme_Env *)o; return (Scheme_Env *)o;
} }
#ifdef MZ_XFORM
END_XFORM_SKIP;
#endif
void scheme_add_namespace_option(Scheme_Object *key, void (*f)(Scheme_Env *)) void scheme_add_namespace_option(Scheme_Object *key, void (*f)(Scheme_Env *))
{ {
Scheme_NSO *old = namespace_options; Scheme_NSO *old = namespace_options;