win64: initial CGC build
This commit is contained in:
parent
8affb5b13f
commit
7319b539f0
|
@ -418,9 +418,9 @@ static Scheme_Object *foreign_ffi_obj_name(int argc, Scheme_Object *argv[])
|
|||
|
||||
/* longs and ints are really the same */
|
||||
#define scheme_get_realint_val(x,y) \
|
||||
scheme_get_int_val(x,(long*)(y))
|
||||
scheme_get_int_val(x,(intptr_t*)(y))
|
||||
#define scheme_get_unsigned_realint_val(x,y) \
|
||||
scheme_get_unsigned_int_val(x,(unsigned long*)(y))
|
||||
scheme_get_unsigned_int_val(x,(uintptr_t*)(y))
|
||||
#define scheme_make_realinteger_value \
|
||||
scheme_make_integer_value
|
||||
#define scheme_make_realinteger_value_from_unsigned \
|
||||
|
@ -1049,13 +1049,13 @@ ffi_abi sym_to_abi(char *who, Scheme_Object *sym)
|
|||
if (SCHEME_FALSEP(sym) || SAME_OBJ(sym, default_sym))
|
||||
return FFI_DEFAULT_ABI;
|
||||
else if (SAME_OBJ(sym, sysv_sym)) {
|
||||
#ifdef WINDOWS_DYNAMIC_LOAD
|
||||
#if defined(WINDOWS_DYNAMIC_LOAD) && !defined(_WIN64)
|
||||
return FFI_SYSV;
|
||||
#else
|
||||
scheme_signal_error("%s: ABI not implemented: %V", who, sym);
|
||||
#endif
|
||||
} else if (SAME_OBJ(sym, stdcall_sym)) {
|
||||
#ifdef WINDOWS_DYNAMIC_LOAD
|
||||
#if defined(WINDOWS_DYNAMIC_LOAD) && !defined(_WIN64)
|
||||
return FFI_STDCALL;
|
||||
#else
|
||||
scheme_signal_error("%s: ABI not implemented: %V", who, sym);
|
||||
|
|
|
@ -332,9 +332,9 @@ THREAD_LOCAL_DECL(static Scheme_Hash_Table *opened_libs);
|
|||
|
||||
/* longs and ints are really the same */
|
||||
#define scheme_get_realint_val(x,y) \
|
||||
scheme_get_int_val(x,(long*)(y))
|
||||
scheme_get_int_val(x,(intptr_t*)(y))
|
||||
#define scheme_get_unsigned_realint_val(x,y) \
|
||||
scheme_get_unsigned_int_val(x,(unsigned long*)(y))
|
||||
scheme_get_unsigned_int_val(x,(uintptr_t*)(y))
|
||||
#define scheme_make_realinteger_value \
|
||||
scheme_make_integer_value
|
||||
#define scheme_make_realinteger_value_from_unsigned \
|
||||
|
|
|
@ -28,8 +28,14 @@ extern "C" {
|
|||
#if defined(MZ_USE_PLACES) || defined(MZ_USE_FUTURES)
|
||||
# define USE_THREAD_LOCAL
|
||||
# if _MSC_VER
|
||||
# define THREAD_LOCAL /* empty */
|
||||
# define IMPLEMENT_THREAD_LOCAL_VIA_WIN_TLS
|
||||
# ifdef _WIN64
|
||||
# define THREAD_LOCAL __declspec(thread)
|
||||
# define MZ_THREAD_EXTERN extern
|
||||
# define IMPLEMENT_THREAD_LOCAL_EXTERNALLY_VIA_PROC
|
||||
# else
|
||||
# define THREAD_LOCAL /* empty */
|
||||
# define IMPLEMENT_THREAD_LOCAL_VIA_WIN_TLS
|
||||
# endif
|
||||
# elif (defined(__APPLE__) && defined(__MACH__)) || defined(GC2_PLACES_TESTING)
|
||||
# define IMPLEMENT_THREAD_LOCAL_VIA_PTHREADS
|
||||
# if defined(__x86_64__) || defined(__i386__)
|
||||
|
@ -61,6 +67,10 @@ extern "C" {
|
|||
|
||||
#define MZ_EXTERN extern MZ_DLLSPEC
|
||||
|
||||
#ifndef MZ_THREAD_EXTERN
|
||||
# define MZ_THREAD_EXTERN MZ_EXTERN
|
||||
#endif
|
||||
|
||||
MZ_EXTERN void scheme_init_os_thread();
|
||||
|
||||
/* **************************************************************** */
|
||||
|
@ -385,10 +395,23 @@ XFORM_GC_VARIABLE_STACK_THROUGH_FUNCTION;
|
|||
# endif
|
||||
#else
|
||||
/* Using `THREAD_LOCAL' variable: */
|
||||
MZ_EXTERN THREAD_LOCAL Thread_Local_Variables scheme_thread_locals;
|
||||
# define scheme_get_thread_local_variables() (&scheme_thread_locals)
|
||||
# ifdef MZ_XFORM
|
||||
# if defined(IMPLEMENT_THREAD_LOCAL_EXTERNALLY_VIA_PROC) && !defined(__mzscheme_private__)
|
||||
# ifdef MZ_XFORM
|
||||
START_XFORM_SKIP;
|
||||
# endif
|
||||
static __inline Thread_Local_Variables *scheme_get_thread_local_variables() {
|
||||
return scheme_external_get_thread_local_variables();
|
||||
}
|
||||
# ifdef MZ_XFORM
|
||||
END_XFORM_SKIP;
|
||||
XFORM_GC_VARIABLE_STACK_THROUGH_FUNCTION;
|
||||
# endif
|
||||
# else
|
||||
MZ_THREAD_EXTERN THREAD_LOCAL Thread_Local_Variables scheme_thread_locals;
|
||||
# define scheme_get_thread_local_variables() (&scheme_thread_locals)
|
||||
# ifdef MZ_XFORM
|
||||
XFORM_GC_VARIABLE_STACK_THROUGH_THREAD_LOCAL;
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
|
|
@ -492,7 +492,11 @@
|
|||
|| (defined(_MSC_VER) \
|
||||
&& (defined(__WIN32__) || defined(WIN32) || defined(_WIN32))))
|
||||
|
||||
# define SCHEME_PLATFORM_LIBRARY_SUBPATH "win32\\i386"
|
||||
# ifdef _WIN64
|
||||
# define SCHEME_PLATFORM_LIBRARY_SUBPATH "win32\\x86_64"
|
||||
# else
|
||||
# define SCHEME_PLATFORM_LIBRARY_SUBPATH "win32\\i386"
|
||||
# endif
|
||||
|
||||
# define SYSTEM_TYPE_NAME "windows"
|
||||
# define DOS_FILE_SYSTEM
|
||||
|
@ -521,7 +525,9 @@
|
|||
# define DO_STACK_CHECK
|
||||
# define WINDOWS_FIND_STACK_BOUNDS
|
||||
|
||||
# define USE_MZ_SETJMP
|
||||
# ifndef _WIN64
|
||||
# define USE_MZ_SETJMP
|
||||
# endif
|
||||
|
||||
# define WINDOWS_DYNAMIC_LOAD
|
||||
|
||||
|
@ -584,7 +590,11 @@
|
|||
# define USE_ICONV_DLL
|
||||
# define NO_MBTOWC_FUNCTIONS
|
||||
|
||||
# define MZ_USE_JIT_I386
|
||||
# ifdef _WIN64
|
||||
# define MZ_USE_JIT_X86_64
|
||||
# else
|
||||
# define MZ_USE_JIT_I386
|
||||
# endif
|
||||
# define MZ_JIT_USE_WINDOWS_VIRTUAL_ALLOC
|
||||
|
||||
# define FLAGS_ALREADY_SET
|
||||
|
|
|
@ -13,9 +13,9 @@ int IS_FLOAT_INF(FP_TYPE d)
|
|||
}
|
||||
|
||||
/* Must not trigger GC! (Required by xform in number.c) */
|
||||
FP_TYPE SCHEME_BIGNUM_TO_FLOAT_INFO(const Scheme_Object *n, int skip, int *_skipped)
|
||||
FP_TYPE SCHEME_BIGNUM_TO_FLOAT_INFO(const Scheme_Object *n, intptr_t skip, intptr_t *_skipped)
|
||||
{
|
||||
int nl, skipped;
|
||||
intptr_t nl, skipped;
|
||||
bigdig *na;
|
||||
FP_TYPE d;
|
||||
|
||||
|
|
|
@ -512,7 +512,7 @@ static Scheme_Object *make_single_bigdig_result(int pos, bigdig d)
|
|||
static Scheme_Object *bignum_copy(const Scheme_Object *a, intptr_t msd)
|
||||
{
|
||||
Scheme_Object* o;
|
||||
int c;
|
||||
intptr_t c;
|
||||
bigdig* o_digs;
|
||||
|
||||
c = SCHEME_BIGLEN(a);
|
||||
|
@ -607,7 +607,7 @@ int scheme_bignum_ge(const Scheme_Object *a, const Scheme_Object *b)
|
|||
Scheme_Object *scheme_bignum_negate(const Scheme_Object *n)
|
||||
{
|
||||
Scheme_Object *o;
|
||||
int len;
|
||||
intptr_t len;
|
||||
|
||||
len = SCHEME_BIGLEN(n);
|
||||
|
||||
|
@ -631,9 +631,9 @@ Scheme_Object *scheme_bignum_negate(const Scheme_Object *n)
|
|||
return o;
|
||||
}
|
||||
|
||||
static bigdig* allocate_bigdig_array(int length)
|
||||
static bigdig* allocate_bigdig_array(intptr_t length)
|
||||
{
|
||||
int i;
|
||||
intptr_t i;
|
||||
bigdig* res;
|
||||
if (length > 4096) {
|
||||
res = (bigdig *)scheme_malloc_fail_ok(scheme_malloc_atomic, length * sizeof(bigdig));
|
||||
|
@ -647,7 +647,7 @@ static bigdig* allocate_bigdig_array(int length)
|
|||
}
|
||||
|
||||
/* We don't want to count leading digits of 0 in the bignum's length */
|
||||
XFORM_NONGCING static int bigdig_length(bigdig* array, int alloced)
|
||||
XFORM_NONGCING static intptr_t bigdig_length(bigdig* array, intptr_t alloced)
|
||||
{
|
||||
alloced--;
|
||||
while (alloced >= 0 && array[alloced] == 0) {
|
||||
|
@ -690,7 +690,7 @@ static Scheme_Object *bignum_add_sub(const Scheme_Object *a, const Scheme_Object
|
|||
|
||||
if (a_pos == b_pos) /* addition */
|
||||
{
|
||||
int carry;
|
||||
intptr_t carry;
|
||||
|
||||
o_digs = allocate_bigdig_array(max_size);
|
||||
|
||||
|
@ -884,7 +884,7 @@ Scheme_Object *scheme_generic_integer_power(const Scheme_Object *a, const Scheme
|
|||
|| (SCHEME_INT_VAL(b) > 10000))
|
||||
scheme_signal_error(too_big);
|
||||
else if (SCHEME_BIGNUMP(a)) {
|
||||
int len = SCHEME_BIGLEN(a);
|
||||
intptr_t len = SCHEME_BIGLEN(a);
|
||||
if ((len > 10000)
|
||||
|| (len * SCHEME_INT_VAL(b)) > 10000)
|
||||
scheme_signal_error(too_big);
|
||||
|
@ -1184,7 +1184,7 @@ char *scheme_bignum_to_allocated_string(const Scheme_Object *b, int radix, int a
|
|||
{
|
||||
Scheme_Object *c;
|
||||
unsigned char* str, *str2;
|
||||
int i, slen, start, clen;
|
||||
intptr_t i, slen, start, clen;
|
||||
bigdig *c_digs;
|
||||
SAFE_SPACE(csd)
|
||||
|
||||
|
@ -1277,7 +1277,7 @@ char *scheme_bignum_to_string(const Scheme_Object *b, int radix)
|
|||
|
||||
Scheme_Object *scheme_read_bignum(const mzchar *str, int offset, int radix)
|
||||
{
|
||||
int len, negate, stri, alloc, i, test;
|
||||
intptr_t len, negate, stri, alloc, i, test;
|
||||
Scheme_Object* o;
|
||||
bigdig* digs;
|
||||
unsigned char* istring;
|
||||
|
@ -1363,7 +1363,7 @@ Scheme_Object *scheme_read_bignum_bytes(const char *str, int offset, int radix)
|
|||
|
||||
static void bignum_double_inplace(Scheme_Object **_stk_o)
|
||||
{
|
||||
int carry, len;
|
||||
intptr_t carry, len;
|
||||
|
||||
len = SCHEME_BIGLEN(*_stk_o);
|
||||
|
||||
|
@ -1379,7 +1379,7 @@ static void bignum_double_inplace(Scheme_Object **_stk_o)
|
|||
|
||||
static void bignum_add1_inplace(Scheme_Object **_stk_o)
|
||||
{
|
||||
int carry, len;
|
||||
intptr_t carry, len;
|
||||
|
||||
len = SCHEME_BIGLEN(*_stk_o);
|
||||
|
||||
|
@ -1518,7 +1518,7 @@ static uintptr_t fixnum_sqrt(uintptr_t n, uintptr_t *rem)
|
|||
|
||||
for (i = SQRT_BIT_MAX; i >= 0; i--)
|
||||
{
|
||||
try_root = root | (0x1 << i);
|
||||
try_root = root | ((intptr_t)0x1 << i);
|
||||
try_square = try_root * try_root;
|
||||
if (try_square <= n)
|
||||
{
|
||||
|
@ -1539,7 +1539,7 @@ Scheme_Object *scheme_integer_sqrt(const Scheme_Object *n)
|
|||
Scheme_Object *scheme_integer_sqrt_rem(const Scheme_Object *n, Scheme_Object **remainder)
|
||||
{
|
||||
Scheme_Object *o;
|
||||
int rem_size;
|
||||
intptr_t rem_size;
|
||||
|
||||
SAFE_SPACE(qsd)
|
||||
|
||||
|
|
|
@ -448,7 +448,7 @@ int is_equal (Scheme_Object *obj1, Scheme_Object *obj2, Equal_Info *eql)
|
|||
return 0;
|
||||
} else if (SCHEME_BYTE_STRINGP(obj1)
|
||||
|| SCHEME_GENERAL_PATHP(obj1)) {
|
||||
int l1, l2;
|
||||
intptr_t l1, l2;
|
||||
if ((eql->for_chaperone == 1) && (!SCHEME_IMMUTABLEP(obj1)
|
||||
|| !SCHEME_IMMUTABLEP(obj2)))
|
||||
return 0;
|
||||
|
@ -457,7 +457,7 @@ int is_equal (Scheme_Object *obj1, Scheme_Object *obj2, Equal_Info *eql)
|
|||
return ((l1 == l2)
|
||||
&& !memcmp(SCHEME_BYTE_STR_VAL(obj1), SCHEME_BYTE_STR_VAL(obj2), l1));
|
||||
} else if (SCHEME_CHAR_STRINGP(obj1)) {
|
||||
int l1, l2;
|
||||
intptr_t l1, l2;
|
||||
if ((eql->for_chaperone == 1) && (!SCHEME_IMMUTABLEP(obj1)
|
||||
|| !SCHEME_IMMUTABLEP(obj2)))
|
||||
return 0;
|
||||
|
@ -615,7 +615,7 @@ int is_equal (Scheme_Object *obj1, Scheme_Object *obj2, Equal_Info *eql)
|
|||
|
||||
static int vector_equal(Scheme_Object *vec1, Scheme_Object *vec2, Equal_Info *eql)
|
||||
{
|
||||
int i, len;
|
||||
intptr_t i, len;
|
||||
|
||||
len = SCHEME_VEC_SIZE(vec1);
|
||||
if (len != SCHEME_VEC_SIZE(vec2))
|
||||
|
|
|
@ -245,14 +245,14 @@ integer_to_char (int argc, Scheme_Object *argv[])
|
|||
if ((v >= 0)
|
||||
&& (v <= 0x10FFFF)
|
||||
&& ((v < 0xD800) || (v > 0xDFFF)))
|
||||
return _scheme_make_char(v);
|
||||
return _scheme_make_char((int)v);
|
||||
} else if (SCHEME_BIGNUMP(argv[0])
|
||||
&& SCHEME_BIGPOS(argv[0])) {
|
||||
/* On 32-bit machines, there's still a chance... */
|
||||
intptr_t y;
|
||||
if (scheme_get_int_val(argv[0], &y)) {
|
||||
if (y <= 0x10FFFF)
|
||||
return _scheme_make_char(y);
|
||||
return _scheme_make_char((int)y);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -179,7 +179,7 @@ typedef struct {
|
|||
static char *copy_vers(char *vers)
|
||||
{
|
||||
if (vers) {
|
||||
int len = strlen(vers);
|
||||
intptr_t len = strlen(vers);
|
||||
char *vcopy;
|
||||
vcopy = (char *)scheme_malloc_atomic(len + 1);
|
||||
memcpy(vcopy, vers, len + 1);
|
||||
|
|
|
@ -1177,7 +1177,7 @@ Scheme_Bucket_Table *scheme_clone_toplevel(Scheme_Bucket_Table *ht, Scheme_Env *
|
|||
{
|
||||
Scheme_Bucket_Table *r;
|
||||
Scheme_Bucket **bs;
|
||||
int i;
|
||||
intptr_t i;
|
||||
|
||||
r = scheme_make_bucket_table(ht->size, SCHEME_hash_ptr);
|
||||
if (home)
|
||||
|
@ -2050,7 +2050,7 @@ static Scheme_Local *get_frame_loc(Scheme_Comp_Env *frame,
|
|||
|
||||
Scheme_Object *scheme_hash_module_variable(Scheme_Env *env, Scheme_Object *modidx,
|
||||
Scheme_Object *stxsym, Scheme_Object *insp,
|
||||
int pos, int mod_phase)
|
||||
int pos, intptr_t mod_phase)
|
||||
{
|
||||
Scheme_Object *val;
|
||||
Scheme_Hash_Table *ht;
|
||||
|
@ -2084,7 +2084,7 @@ Scheme_Object *scheme_hash_module_variable(Scheme_Env *env, Scheme_Object *modid
|
|||
mv->sym = stxsym;
|
||||
mv->insp = insp;
|
||||
mv->pos = pos;
|
||||
mv->mod_phase = mod_phase;
|
||||
mv->mod_phase = (int)mod_phase;
|
||||
|
||||
val = (Scheme_Object *)mv;
|
||||
|
||||
|
@ -2296,7 +2296,7 @@ Scheme_Object *scheme_tl_id_sym(Scheme_Env *env, Scheme_Object *id, Scheme_Objec
|
|||
too bad). */
|
||||
if (!best_match) {
|
||||
char onstack[50], *buf;
|
||||
int len;
|
||||
intptr_t len;
|
||||
|
||||
while (1) {
|
||||
env->id_counter++;
|
||||
|
@ -2358,7 +2358,7 @@ Scheme_Object *scheme_tl_id_sym(Scheme_Env *env, Scheme_Object *id, Scheme_Objec
|
|||
|
||||
int scheme_tl_id_is_sym_used(Scheme_Hash_Table *marked_names, Scheme_Object *sym)
|
||||
{
|
||||
int i;
|
||||
intptr_t i;
|
||||
Scheme_Object *l, *a;
|
||||
Scheme_Hash_Table *rev_ht;
|
||||
|
||||
|
@ -2814,9 +2814,9 @@ scheme_lookup_binding(Scheme_Object *find_id, Scheme_Comp_Env *env, int flags,
|
|||
if (!scheme_hash_get(frame->skip_table, SCHEME_STX_VAL(find_id))) {
|
||||
/* Skip ahead. 0 maps to frame, 1 maps to j delta, and 2 maps to p delta */
|
||||
val = scheme_hash_get(frame->skip_table, scheme_make_integer(1));
|
||||
j += SCHEME_INT_VAL(val);
|
||||
j += (int)SCHEME_INT_VAL(val);
|
||||
val = scheme_hash_get(frame->skip_table, scheme_make_integer(2));
|
||||
p += SCHEME_INT_VAL(val);
|
||||
p += (int)SCHEME_INT_VAL(val);
|
||||
frame = (Scheme_Comp_Env *)scheme_hash_get(frame->skip_table, scheme_make_integer(0));
|
||||
} else
|
||||
break;
|
||||
|
@ -3059,7 +3059,7 @@ scheme_lookup_binding(Scheme_Object *find_id, Scheme_Comp_Env *env, int flags,
|
|||
pos = scheme_check_accessible_in_module(genv, env->insp, in_modidx,
|
||||
find_id, src_find_id, certs, NULL, rename_insp, -1, 1,
|
||||
_protected, NULL, env->genv, NULL);
|
||||
modpos = SCHEME_INT_VAL(pos);
|
||||
modpos = (int)SCHEME_INT_VAL(pos);
|
||||
} else
|
||||
modpos = -1;
|
||||
|
||||
|
@ -3365,7 +3365,7 @@ static Scheme_Object *transitive_k(void)
|
|||
|
||||
p->ku.k.p1 = NULL;
|
||||
|
||||
register_transitive_use(info, p->ku.k.i1, p->ku.k.i2);
|
||||
register_transitive_use(info, (int)p->ku.k.i1, (int)p->ku.k.i2);
|
||||
|
||||
return scheme_false;
|
||||
}
|
||||
|
@ -3688,7 +3688,7 @@ static Scheme_Object *do_optimize_info_lookup(Optimize_Info *info, int pos, int
|
|||
if (SCHEME_BOXP(n)) {
|
||||
/* A potential-size record: */
|
||||
if (potential_size)
|
||||
*potential_size = SCHEME_INT_VAL(SCHEME_BOX_VAL(n));
|
||||
*potential_size = (int)SCHEME_INT_VAL(SCHEME_BOX_VAL(n));
|
||||
break;
|
||||
}
|
||||
if (single_use)
|
||||
|
@ -3910,7 +3910,7 @@ Resolve_Prefix *scheme_remap_prefix(Resolve_Prefix *rp, Resolve_Info *ri)
|
|||
if (rp->num_lifts)
|
||||
cnt = rp->num_stxes;
|
||||
else
|
||||
cnt = ri->stx_map->count;
|
||||
cnt = (int)ri->stx_map->count;
|
||||
|
||||
new_stxes = MALLOC_N(Scheme_Object *, cnt);
|
||||
|
||||
|
@ -4071,7 +4071,7 @@ static int resolve_info_lookup(Resolve_Info *info, int pos, int *flags, Scheme_O
|
|||
tl = SCHEME_CAR(lifted);
|
||||
ca = (Scheme_Object **)SCHEME_CDR(lifted);
|
||||
if (convert_shift)
|
||||
shifted = SCHEME_INT_VAL(ca[0]) + convert_shift - 1;
|
||||
shifted = (int)SCHEME_INT_VAL(ca[0]) + convert_shift - 1;
|
||||
else
|
||||
shifted = 0;
|
||||
} else {
|
||||
|
@ -4092,7 +4092,7 @@ static int resolve_info_lookup(Resolve_Info *info, int pos, int *flags, Scheme_O
|
|||
int sz, i;
|
||||
mzshort *posmap, *boxmap;
|
||||
Scheme_Object *vec, *loc;
|
||||
sz = SCHEME_INT_VAL(ca[0]);
|
||||
sz = (int)SCHEME_INT_VAL(ca[0]);
|
||||
posmap = (mzshort *)ca[1];
|
||||
boxmap = (mzshort *)ca[3];
|
||||
vec = scheme_make_vector(sz + 1, NULL);
|
||||
|
@ -4217,7 +4217,7 @@ int scheme_resolve_quote_syntax_offset(int i, Resolve_Info *info)
|
|||
scheme_hash_set(ht, scheme_make_integer(i), v);
|
||||
}
|
||||
|
||||
return SCHEME_INT_VAL(v);
|
||||
return (int)SCHEME_INT_VAL(v);
|
||||
}
|
||||
|
||||
int scheme_resolve_quote_syntax_pos(Resolve_Info *info)
|
||||
|
@ -4256,7 +4256,7 @@ Scheme_Object *scheme_resolve_invent_toplevel(Resolve_Info *info)
|
|||
skip = scheme_resolve_toplevel_pos(info);
|
||||
|
||||
count = SCHEME_VEC_ELS(info->lifts)[1];
|
||||
pos = (SCHEME_INT_VAL(count)
|
||||
pos = (int)(SCHEME_INT_VAL(count)
|
||||
+ info->prefix->num_toplevels
|
||||
+ info->prefix->num_stxes
|
||||
+ (info->prefix->num_stxes ? 1 : 0));
|
||||
|
@ -4508,7 +4508,7 @@ namespace_mapped_symbols(int argc, Scheme_Object *argv[])
|
|||
Scheme_Hash_Table *mapped;
|
||||
Scheme_Bucket_Table *ht;
|
||||
Scheme_Bucket **bs;
|
||||
int i, j;
|
||||
intptr_t i, j;
|
||||
|
||||
if ((argc > 0) && !SCHEME_NAMESPACEP(argv[0]))
|
||||
scheme_wrong_type("namespace-mapped-symbols", "namespace", 0, argc, argv);
|
||||
|
@ -4559,7 +4559,7 @@ static Scheme_Object *do_variable_namespace(const char *who, int tl, int argc, S
|
|||
{
|
||||
Scheme_Object *v;
|
||||
Scheme_Env *env;
|
||||
int ph;
|
||||
intptr_t ph;
|
||||
|
||||
if (!SAME_TYPE(SCHEME_TYPE(argv[0]), scheme_global_ref_type))
|
||||
env = NULL;
|
||||
|
@ -4841,7 +4841,7 @@ static Scheme_Object *
|
|||
local_phase_level(int argc, Scheme_Object *argv[])
|
||||
{
|
||||
Scheme_Thread *p = scheme_current_thread;
|
||||
int phase;
|
||||
intptr_t phase;
|
||||
|
||||
phase = (p->current_local_env
|
||||
? p->current_local_env->genv->phase
|
||||
|
@ -5382,7 +5382,7 @@ do_local_lift_expr(const char *who, int stx_pos, int argc, Scheme_Object *argv[]
|
|||
|
||||
if (stx_pos) {
|
||||
if (SCHEME_INTP(argv[0])) {
|
||||
count = SCHEME_INT_VAL(argv[0]);
|
||||
count = (int)SCHEME_INT_VAL(argv[0]);
|
||||
} else if (SCHEME_BIGNUMP(argv[0])) {
|
||||
if (SCHEME_BIGPOS(argv[0]))
|
||||
scheme_raise_out_of_memory(NULL, NULL);
|
||||
|
@ -5744,14 +5744,14 @@ static Scheme_Object *read_toplevel(Scheme_Object *obj)
|
|||
|
||||
if (!SCHEME_PAIRP(obj)) return NULL;
|
||||
|
||||
depth = SCHEME_INT_VAL(SCHEME_CAR(obj));
|
||||
depth = (int)SCHEME_INT_VAL(SCHEME_CAR(obj));
|
||||
obj = SCHEME_CDR(obj);
|
||||
|
||||
if (SCHEME_PAIRP(obj)) {
|
||||
pos = SCHEME_INT_VAL(SCHEME_CAR(obj));
|
||||
pos = (int)SCHEME_INT_VAL(SCHEME_CAR(obj));
|
||||
flags = SCHEME_INT_VAL(SCHEME_CDR(obj)) & SCHEME_TOPLEVEL_FLAGS_MASK;
|
||||
} else {
|
||||
pos = SCHEME_INT_VAL(obj);
|
||||
pos = (int)SCHEME_INT_VAL(obj);
|
||||
flags = 0;
|
||||
}
|
||||
|
||||
|
@ -5817,12 +5817,12 @@ static Scheme_Object *do_read_local(Scheme_Type t, Scheme_Object *obj)
|
|||
int n, flags;
|
||||
|
||||
if (SCHEME_PAIRP(obj)) {
|
||||
flags = SCHEME_INT_VAL(SCHEME_CAR(obj));
|
||||
flags = (int)SCHEME_INT_VAL(SCHEME_CAR(obj));
|
||||
obj = SCHEME_CDR(obj);
|
||||
} else
|
||||
flags = 0;
|
||||
|
||||
n = SCHEME_INT_VAL(obj);
|
||||
n = (int)SCHEME_INT_VAL(obj);
|
||||
|
||||
return scheme_make_local(t, n, flags);
|
||||
}
|
||||
|
@ -5881,7 +5881,8 @@ static Scheme_Object *read_resolve_prefix(Scheme_Object *obj, Scheme_Object *ins
|
|||
{
|
||||
Resolve_Prefix *rp;
|
||||
Scheme_Object *tv, *sv, **a, *stx;
|
||||
int i, uses_unsafe = 0;
|
||||
intptr_t i;
|
||||
int uses_unsafe = 0;
|
||||
|
||||
if (!SCHEME_PAIRP(obj)) return NULL;
|
||||
|
||||
|
@ -5906,9 +5907,9 @@ static Scheme_Object *read_resolve_prefix(Scheme_Object *obj, Scheme_Object *ins
|
|||
|
||||
rp = MALLOC_ONE_TAGGED(Resolve_Prefix);
|
||||
rp->so.type = scheme_resolve_prefix_type;
|
||||
rp->num_toplevels = SCHEME_VEC_SIZE(tv);
|
||||
rp->num_stxes = SCHEME_VEC_SIZE(sv);
|
||||
rp->num_lifts = i;
|
||||
rp->num_toplevels = (int)SCHEME_VEC_SIZE(tv);
|
||||
rp->num_stxes = (int)SCHEME_VEC_SIZE(sv);
|
||||
rp->num_lifts = (int)i;
|
||||
if (uses_unsafe)
|
||||
rp->uses_unsafe = insp;
|
||||
|
||||
|
|
|
@ -85,8 +85,8 @@ typedef int mp_limb_signed_t;
|
|||
typedef unsigned long long int mp_limb_t;
|
||||
typedef long long int mp_limb_signed_t;
|
||||
#else
|
||||
typedef unsigned long int mp_limb_t;
|
||||
typedef long int mp_limb_signed_t;
|
||||
typedef uintptr_t mp_limb_t;
|
||||
typedef intptr_t mp_limb_signed_t;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
@ -97,8 +97,8 @@ typedef __gmp_const mp_limb_t * mp_srcptr;
|
|||
typedef int mp_size_t;
|
||||
typedef int mp_exp_t;
|
||||
#else
|
||||
typedef long int mp_size_t;
|
||||
typedef long int mp_exp_t;
|
||||
typedef intptr_t mp_size_t;
|
||||
typedef intptr_t mp_exp_t;
|
||||
#endif
|
||||
|
||||
typedef struct
|
||||
|
|
|
@ -518,7 +518,7 @@ void scheme_reset_hash_table(Scheme_Hash_Table *table, int *history)
|
|||
/*========================================================================*/
|
||||
|
||||
Scheme_Bucket_Table *
|
||||
scheme_make_bucket_table (int size, int type)
|
||||
scheme_make_bucket_table (intptr_t size, int type)
|
||||
{
|
||||
Scheme_Bucket_Table *table;
|
||||
size_t asize;
|
||||
|
|
|
@ -1500,7 +1500,7 @@ static void _jit_prolog_again(mz_jit_state *jitter, int n, int ret_addr_reg)
|
|||
# define mz_pop_locals() ADDQir((LOCAL_FRAME_SIZE << JIT_LOG_WORD_SIZE), JIT_SP)
|
||||
# define JIT_FRAME_FLONUM_OFFSET (-(JIT_WORD_SIZE * (LOCAL_FRAME_SIZE + 3)))
|
||||
# define _jit_prolog_again(jitter, n, ret_addr_reg) (PUSHQr(ret_addr_reg), jit_base_prolog())
|
||||
# ifdef MZ_USE_JIT_X86_64
|
||||
# if defined(MZ_USE_JIT_X86_64) && !defined(_WIN64)
|
||||
# define jit_shuffle_saved_regs() (MOVQrr(_ESI, _R12), MOVQrr(_EDI, _R13))
|
||||
# define jit_unshuffle_saved_regs() (MOVQrr(_R12, _ESI), MOVQrr(_R13, _EDI))
|
||||
# else
|
||||
|
@ -3572,8 +3572,9 @@ static int generate_non_tail_call(mz_jit_state *jitter, int num_rands, int direc
|
|||
if (need_set_rs) {
|
||||
JIT_UPDATE_THREAD_RSPTR();
|
||||
}
|
||||
mz_prepare_direct_prim(3);
|
||||
mz_prepare_direct_prim(3);
|
||||
jit_pusharg_p(JIT_V1);
|
||||
CHECK_LIMIT();
|
||||
if (num_rands < 0) { jit_movr_p(JIT_V1, JIT_R0); } /* save argc to manually pop runstack */
|
||||
{
|
||||
__END_SHORT_JUMPS__(1);
|
||||
|
|
|
@ -364,7 +364,24 @@ struct jit_local_state {
|
|||
#endif
|
||||
|
||||
#ifdef JIT_X86_64
|
||||
# define jit_base_prolog() (PUSHQr(_EBP), MOVQrr(_ESP, _EBP), PUSHQr(_EBX), PUSHQr(_R12), PUSHQr(_R13))
|
||||
# ifdef _WIN64
|
||||
# define jit_preserve_locals() (ADDQir(-32, JIT_SP))
|
||||
# define jit_restore_locals() (ADDQir(32, JIT_SP))
|
||||
# define _RCS1 _ESI
|
||||
# define _RCS2 _EDI
|
||||
# define jit_reg_is_arg(reg) (((reg) ==_ECX) || ((reg) == _EDX))
|
||||
# else
|
||||
/* For AMD64 ABI, R12 and R13 are callee-save, instead of EDI and ESI */
|
||||
# define jit_preserve_locals() (MOVQrr(_ESI, _R12), MOVQrr(_EDI, _R13))
|
||||
# define jit_restore_locals() (MOVQrr(_R12, _ESI), MOVQrr(_R13, _EDI))
|
||||
# define _RCS1 _R12
|
||||
# define _RCS2 _R13
|
||||
# define jit_reg_is_arg(reg) (((reg) == _EDI) || ((reg) ==_ESI) || ((reg) == _EDX))
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef JIT_X86_64
|
||||
# define jit_base_prolog() (PUSHQr(_EBP), MOVQrr(_ESP, _EBP), PUSHQr(_EBX), PUSHQr(_RCS1), PUSHQr(_RCS2))
|
||||
# define jit_prolog(n) (_jitl.nextarg_geti = 0, jit_base_prolog())
|
||||
#else
|
||||
# define jit_base_prolog() (PUSHLr(_EBP), MOVLrr(_ESP, _EBP), PUSHLr(_EBX), PUSHLr(_ESI), PUSHLr(_EDI))
|
||||
|
@ -392,20 +409,18 @@ struct jit_local_state {
|
|||
#define jit_prepare_d(nd) (_jitl.argssize += 2 * (nd))
|
||||
#ifdef JIT_X86_64
|
||||
# define jit_pusharg_i(rs) (_jitl.argpushes--, MOVQrr(rs, JIT_CALLTMPSTART + _jitl.argpushes))
|
||||
# define jit_normal_pushonlyarg_i(rs) (_jitl.argpushes--, MOVQrr(rs, _EDI))
|
||||
# define jit_normal_pushonlyarg_i(rs) (_jitl.argpushes--, MOVQrr(rs, jit_arg_reg_order[0]))
|
||||
# define jit_save_argstate(curstate) curstate = _jitl.argpushes;
|
||||
# define jit_restore_argstate(curstate) _jitl.argpushes = curstate;
|
||||
# define jit_finish(sub) (jit_shift_args(), (void)jit_calli((sub)), jit_restore_locals())
|
||||
# define jit_normal_finish(sub) jit_calli((sub))
|
||||
# define jit_return_pop_insn_len() 0
|
||||
# define jit_reg_is_arg(reg) ((reg == _EDI) || (reg ==_ESI) || (reg == _EDX))
|
||||
# define jit_finishr(reg) ((jit_reg_is_arg((reg)) ? MOVQrr(reg, JIT_REXTMP) : (void)0), \
|
||||
jit_shift_args(), \
|
||||
jit_reg_is_arg((reg)) ? CALQsr((JIT_REXTMP)) : jit_callr((reg)), \
|
||||
jit_restore_locals())
|
||||
/* R12 and R13 are callee-save, instead of EDI and ESI */
|
||||
# define jit_shift_args() \
|
||||
(MOVQrr(_ESI, _R12), MOVQrr(_EDI, _R13), \
|
||||
(jit_preserve_locals(), \
|
||||
(_jitl.argssize \
|
||||
? (MOVQrr(JIT_CALLTMPSTART, jit_arg_reg_order[0]), \
|
||||
((_jitl.argssize > 1) \
|
||||
|
@ -415,8 +430,6 @@ struct jit_local_state {
|
|||
: (void)0)) \
|
||||
: (void)0)) \
|
||||
: (void)0))
|
||||
# define jit_restore_locals() \
|
||||
(MOVQrr(_R12, _ESI), MOVQrr(_R13, _EDI))
|
||||
#else
|
||||
# define jit_pusharg_i(rs) PUSHLr(rs)
|
||||
# define jit_normal_pushonlyarg_i(rs) jit_pusharg_i(rs)
|
||||
|
@ -436,7 +449,11 @@ struct jit_local_state {
|
|||
#define jit_arg_l() (_jitl.nextarg_geti++)
|
||||
#define jit_arg_p() (_jitl.nextarg_geti++)
|
||||
#define jit_arg_reg(p) (jit_arg_reg_order[p])
|
||||
# ifdef _WIN64
|
||||
static const int const jit_arg_reg_order[] = { _ECX, _EDX, JIT_R(8), JIT_R(9) };
|
||||
# else
|
||||
static const int const jit_arg_reg_order[] = { _EDI, _ESI, _EDX, _ECX };
|
||||
# endif
|
||||
#else
|
||||
#define jit_arg_c() ((_jitl.framesize += sizeof(int)) - sizeof(int))
|
||||
#define jit_arg_uc() ((_jitl.framesize += sizeof(int)) - sizeof(int))
|
||||
|
@ -589,7 +606,7 @@ static intptr_t _CHECK_TINY(intptr_t diff) { if ((diff < -128) || (diff > 127))
|
|||
# define jit_patch_short_at(jump_pc,v) jit_patch_normal_at(jump_pc, v)
|
||||
# define jit_patch_branch_at(jump_pc,v) (_jitl.long_jumps ? jit_patch_long_at((jump_pc)-3, v) : jit_patch_short_at(jump_pc, v))
|
||||
# define jit_patch_ucbranch_at(jump_pc,v) (_jitl.long_jumps ? jit_patch_long_at((jump_pc)-3, v) : jit_patch_short_at(jump_pc, v))
|
||||
# define jit_ret() (POPQr(_R13), POPQr(_R12), POPQr(_EBX), POPQr(_EBP), RET_())
|
||||
# define jit_ret() (POPQr(_RCS2), POPQr(_RCS1), POPQr(_EBX), POPQr(_EBP), RET_())
|
||||
#else
|
||||
# define jit_patch_branch_at(jump_pc,v) jit_patch_normal_at(jump_pc, v)
|
||||
# define jit_patch_ucbranch_at(jump_pc,v) jit_patch_normal_at(jump_pc, v)
|
||||
|
|
|
@ -3430,7 +3430,7 @@ static void setup_accessible_table(Scheme_Module *m)
|
|||
}
|
||||
}
|
||||
|
||||
Scheme_Env *scheme_module_access(Scheme_Object *name, Scheme_Env *env, int rev_mod_phase)
|
||||
Scheme_Env *scheme_module_access(Scheme_Object *name, Scheme_Env *env, intptr_t rev_mod_phase)
|
||||
{
|
||||
Scheme_Env *menv;
|
||||
|
||||
|
|
|
@ -589,7 +589,7 @@ int mzrt_sema_destroy(mzrt_sema *s)
|
|||
typedef struct mzrt_rwlock {
|
||||
HANDLE readEvent;
|
||||
HANDLE writeMutex;
|
||||
uintptr_t readers;
|
||||
LONG readers;
|
||||
} mzrt_rwlock;
|
||||
|
||||
int mzrt_rwlock_create(mzrt_rwlock **lock) {
|
||||
|
|
|
@ -171,7 +171,7 @@ static MZ_INLINE int mzrt_cas(volatile size_t *addr, size_t old, size_t new_val)
|
|||
# endif
|
||||
#elif defined(_MSC_VER)
|
||||
# if defined(_AMD64_)
|
||||
return _InterlockedCompareExchange64((LONGLONG volatile *)addr, (LONGLONG)new_val, (LONGLONG)old) == (LONGLONG)old
|
||||
return _InterlockedCompareExchange64((LONGLONG volatile *)addr, (LONGLONG)new_val, (LONGLONG)old) == (LONGLONG)old;
|
||||
# elif _M_IX86 >= 400
|
||||
return _InterlockedCompareExchange((LONG volatile *)addr, (LONG)new_val, (LONG)old) == (LONG)old;
|
||||
# endif
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
|
||||
#include "schpriv.h"
|
||||
|
||||
#ifndef _WIN64
|
||||
|
||||
int __declspec(naked) scheme_mz_setjmp(mz_jmp_buf b)
|
||||
{
|
||||
__asm {
|
||||
|
@ -55,3 +57,5 @@ void __declspec(naked) scheme_mz_longjmp(mz_jmp_buf b, int v)
|
|||
ret
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -447,7 +447,7 @@ MZ_EXTERN void scheme_remove_gc_callback(Scheme_Object *key);
|
|||
/* hash tables */
|
||||
/*========================================================================*/
|
||||
|
||||
MZ_EXTERN Scheme_Bucket_Table *scheme_make_bucket_table(int size_hint, int type);
|
||||
MZ_EXTERN Scheme_Bucket_Table *scheme_make_bucket_table(intptr_t size_hint, int type);
|
||||
MZ_EXTERN void scheme_add_to_table(Scheme_Bucket_Table *table, const char *key, void *val, int);
|
||||
MZ_EXTERN void scheme_change_in_table(Scheme_Bucket_Table *table, const char *key, void *new_val);
|
||||
MZ_EXTERN void *scheme_lookup_in_table(Scheme_Bucket_Table *table, const char *key);
|
||||
|
@ -609,39 +609,39 @@ MZ_EXTERN const char *scheme_get_proc_name(Scheme_Object *p, int *len, int for_e
|
|||
/* strings */
|
||||
/*========================================================================*/
|
||||
|
||||
MZ_EXTERN int scheme_utf8_decode(const unsigned char *s, int start, int end,
|
||||
unsigned int *us, int dstart, int dend,
|
||||
intptr_t *ipos, char utf16, int permissive);
|
||||
MZ_EXTERN int scheme_utf8_decode_as_prefix(const unsigned char *s, int start, int end,
|
||||
unsigned int *us, int dstart, int dend,
|
||||
intptr_t *ipos, char utf16, int permissive);
|
||||
MZ_EXTERN int scheme_utf8_decode_all(const unsigned char *s, int len, unsigned int *us,
|
||||
int permissive);
|
||||
MZ_EXTERN int scheme_utf8_decode_prefix(const unsigned char *s, int len, unsigned int *us,
|
||||
int permissive);
|
||||
MZ_EXTERN mzchar *scheme_utf8_decode_to_buffer(const unsigned char *s, int len,
|
||||
mzchar *buf, int blen);
|
||||
MZ_EXTERN mzchar *scheme_utf8_decode_to_buffer_len(const unsigned char *s, int len,
|
||||
mzchar *buf, int blen, intptr_t *rlen);
|
||||
XFORM_NONGCING MZ_EXTERN int scheme_utf8_decode_count(const unsigned char *s, int start, int end,
|
||||
int *_state, int might_continue, int permissive);
|
||||
MZ_EXTERN intptr_t scheme_utf8_decode(const unsigned char *s, intptr_t start, intptr_t end,
|
||||
unsigned int *us, intptr_t dstart, intptr_t dend,
|
||||
intptr_t *ipos, char utf16, int permissive);
|
||||
MZ_EXTERN intptr_t scheme_utf8_decode_as_prefix(const unsigned char *s, intptr_t start, intptr_t end,
|
||||
unsigned int *us, intptr_t dstart, intptr_t dend,
|
||||
intptr_t *ipos, char utf16, int permissive);
|
||||
MZ_EXTERN intptr_t scheme_utf8_decode_all(const unsigned char *s, intptr_t len, unsigned int *us,
|
||||
int permissive);
|
||||
MZ_EXTERN intptr_t scheme_utf8_decode_prefix(const unsigned char *s, intptr_t len, unsigned int *us,
|
||||
int permissive);
|
||||
MZ_EXTERN mzchar *scheme_utf8_decode_to_buffer(const unsigned char *s, intptr_t len,
|
||||
mzchar *buf, intptr_t blen);
|
||||
MZ_EXTERN mzchar *scheme_utf8_decode_to_buffer_len(const unsigned char *s, intptr_t len,
|
||||
mzchar *buf, intptr_t blen, intptr_t *rlen);
|
||||
XFORM_NONGCING MZ_EXTERN intptr_t scheme_utf8_decode_count(const unsigned char *s, intptr_t start, intptr_t end,
|
||||
int *_state, int might_continue, int permissive);
|
||||
|
||||
MZ_EXTERN int scheme_utf8_encode(const unsigned int *us, int start, int end,
|
||||
unsigned char *s, int dstart,
|
||||
char utf16);
|
||||
MZ_EXTERN int scheme_utf8_encode_all(const unsigned int *us, int len, unsigned char *s);
|
||||
MZ_EXTERN intptr_t scheme_utf8_encode(const unsigned int *us, intptr_t start, intptr_t end,
|
||||
unsigned char *s, intptr_t dstart,
|
||||
char utf16);
|
||||
MZ_EXTERN intptr_t scheme_utf8_encode_all(const unsigned int *us, intptr_t len, unsigned char *s);
|
||||
|
||||
MZ_EXTERN char *scheme_utf8_encode_to_buffer(const mzchar *s, int len,
|
||||
char *buf, int blen);
|
||||
MZ_EXTERN char *scheme_utf8_encode_to_buffer_len(const mzchar *s, int len,
|
||||
char *buf, int blen, intptr_t *rlen);
|
||||
MZ_EXTERN char *scheme_utf8_encode_to_buffer(const mzchar *s, intptr_t len,
|
||||
char *buf, intptr_t blen);
|
||||
MZ_EXTERN char *scheme_utf8_encode_to_buffer_len(const mzchar *s, intptr_t len,
|
||||
char *buf, intptr_t blen, intptr_t *rlen);
|
||||
|
||||
MZ_EXTERN unsigned short *scheme_ucs4_to_utf16(const mzchar *text, int start, int end,
|
||||
unsigned short *buf, int bufsize,
|
||||
intptr_t *ulen, int term_size);
|
||||
MZ_EXTERN mzchar *scheme_utf16_to_ucs4(const unsigned short *text, int start, int end,
|
||||
mzchar *buf, int bufsize,
|
||||
intptr_t *ulen, int term_size);
|
||||
MZ_EXTERN unsigned short *scheme_ucs4_to_utf16(const mzchar *text, intptr_t start, intptr_t end,
|
||||
unsigned short *buf, intptr_t bufsize,
|
||||
intptr_t *ulen, intptr_t term_size);
|
||||
MZ_EXTERN mzchar *scheme_utf16_to_ucs4(const unsigned short *text, intptr_t start, intptr_t end,
|
||||
mzchar *buf, intptr_t bufsize,
|
||||
intptr_t *ulen, intptr_t term_size);
|
||||
|
||||
MZ_EXTERN Scheme_Object *scheme_open_converter(const char *from_e, const char *to_e);
|
||||
MZ_EXTERN void scheme_close_converter(Scheme_Object *conv);
|
||||
|
@ -982,17 +982,17 @@ MZ_EXTERN Scheme_Object *scheme_datum_to_kernel_stx(Scheme_Object *e);
|
|||
/*========================================================================*/
|
||||
|
||||
MZ_EXTERN Scheme_Object *scheme_intern_symbol(const char *name);
|
||||
MZ_EXTERN Scheme_Object *scheme_intern_exact_symbol(const char *name, unsigned int len);
|
||||
MZ_EXTERN Scheme_Object *scheme_intern_exact_char_symbol(const mzchar *name, unsigned int len);
|
||||
MZ_EXTERN Scheme_Object *scheme_intern_exact_symbol(const char *name, uintptr_t len);
|
||||
MZ_EXTERN Scheme_Object *scheme_intern_exact_char_symbol(const mzchar *name, uintptr_t len);
|
||||
MZ_EXTERN Scheme_Object *scheme_make_symbol(const char *name); /* Make uninterned */
|
||||
MZ_EXTERN Scheme_Object *scheme_make_exact_symbol(const char *name, unsigned int len); /* Exact case */
|
||||
MZ_EXTERN Scheme_Object *scheme_make_exact_char_symbol(const mzchar *name, unsigned int len); /* Exact case */
|
||||
MZ_EXTERN Scheme_Object *scheme_make_exact_symbol(const char *name, uintptr_t len); /* Exact case */
|
||||
MZ_EXTERN Scheme_Object *scheme_make_exact_char_symbol(const mzchar *name, uintptr_t len); /* Exact case */
|
||||
MZ_EXTERN const char *scheme_symbol_name(Scheme_Object *sym);
|
||||
MZ_EXTERN const char *scheme_symbol_name_and_size(Scheme_Object *sym, unsigned int *l, int flags);
|
||||
MZ_EXTERN const char *scheme_symbol_name_and_size(Scheme_Object *sym, uintptr_t *l, int flags);
|
||||
MZ_EXTERN char *scheme_symbol_val(Scheme_Object *sym);
|
||||
|
||||
MZ_EXTERN Scheme_Object *scheme_intern_exact_keyword(const char *name, unsigned int len);
|
||||
MZ_EXTERN Scheme_Object *scheme_intern_exact_char_keyword(const mzchar *name, unsigned int len);
|
||||
MZ_EXTERN Scheme_Object *scheme_intern_exact_keyword(const char *name, uintptr_t len);
|
||||
MZ_EXTERN Scheme_Object *scheme_intern_exact_char_keyword(const mzchar *name, uintptr_t len);
|
||||
|
||||
/*========================================================================*/
|
||||
/* structs */
|
||||
|
@ -1132,7 +1132,7 @@ MZ_EXTERN void scheme_signal_received(void);
|
|||
MZ_EXTERN void scheme_signal_received_at(void *);
|
||||
MZ_EXTERN void *scheme_get_signal_handle();
|
||||
|
||||
MZ_EXTERN int scheme_char_strlen(const mzchar *s);
|
||||
MZ_EXTERN intptr_t scheme_char_strlen(const mzchar *s);
|
||||
|
||||
MZ_EXTERN Scheme_Object *scheme_stx_extract_marks(Scheme_Object *stx);
|
||||
|
||||
|
|
|
@ -924,7 +924,7 @@ Scheme_Object *scheme_make_module_rename(Scheme_Object *phase, int kind, Scheme_
|
|||
Scheme_Object* scheme_extend_module_rename(Scheme_Object *rn, Scheme_Object *modname,
|
||||
Scheme_Object *locname, Scheme_Object *exname,
|
||||
Scheme_Object *nominal_src, Scheme_Object *nominal_ex,
|
||||
int mod_phase, Scheme_Object *src_phase_index,
|
||||
intptr_t mod_phase, Scheme_Object *src_phase_index,
|
||||
Scheme_Object *nom_export_phase, Scheme_Object *insp,
|
||||
int mode);
|
||||
void scheme_extend_module_rename_with_shared(Scheme_Object *rn, Scheme_Object *modidx,
|
||||
|
@ -1627,7 +1627,7 @@ typedef uintptr_t bigdig;
|
|||
|
||||
typedef struct {
|
||||
Scheme_Inclhash_Object iso;
|
||||
int len;
|
||||
intptr_t len;
|
||||
bigdig *digits;
|
||||
} Scheme_Bignum;
|
||||
|
||||
|
@ -1682,9 +1682,9 @@ Scheme_Object *scheme_bignum_xor(const Scheme_Object *a, const Scheme_Object *b)
|
|||
Scheme_Object *scheme_bignum_not(const Scheme_Object *a);
|
||||
Scheme_Object *scheme_bignum_shift(const Scheme_Object *a, intptr_t shift);
|
||||
|
||||
XFORM_NONGCING double scheme_bignum_to_double_inf_info(const Scheme_Object *n, int just_use, int *only_need);
|
||||
XFORM_NONGCING double scheme_bignum_to_double_inf_info(const Scheme_Object *n, intptr_t just_use, intptr_t *only_need);
|
||||
#ifdef MZ_USE_SINGLE_FLOATS
|
||||
XFORM_NONGCING float scheme_bignum_to_float_inf_info(const Scheme_Object *n, int just_use, int *only_need);
|
||||
XFORM_NONGCING float scheme_bignum_to_float_inf_info(const Scheme_Object *n, intptr_t just_use, intptr_t *only_need);
|
||||
#else
|
||||
# define scheme_bignum_to_float_inf_info scheme_bignum_to_double_inf_info
|
||||
#endif
|
||||
|
@ -3093,7 +3093,7 @@ Scheme_Env *scheme_new_module_env(Scheme_Env *env, Scheme_Module *m, int new_exp
|
|||
int scheme_is_module_env(Scheme_Comp_Env *env);
|
||||
|
||||
Scheme_Object *scheme_module_resolve(Scheme_Object *modidx, int load_it);
|
||||
Scheme_Env *scheme_module_access(Scheme_Object *modname, Scheme_Env *env, int rev_mod_phase);
|
||||
Scheme_Env *scheme_module_access(Scheme_Object *modname, Scheme_Env *env, intptr_t rev_mod_phase);
|
||||
void scheme_module_force_lazy(Scheme_Env *env, int previous);
|
||||
|
||||
int scheme_module_export_position(Scheme_Object *modname, Scheme_Env *env, Scheme_Object *varname);
|
||||
|
@ -3118,7 +3118,7 @@ int scheme_resolved_module_path_value_matches(Scheme_Object *rmp, Scheme_Object
|
|||
|
||||
Scheme_Object *scheme_hash_module_variable(Scheme_Env *env, Scheme_Object *modidx,
|
||||
Scheme_Object *stxsym, Scheme_Object *insp,
|
||||
int pos, int mod_phase);
|
||||
int pos, intptr_t mod_phase);
|
||||
|
||||
|
||||
Scheme_Env *scheme_get_kernel_env();
|
||||
|
@ -3534,7 +3534,7 @@ int scheme_hash_tree_equal_rec(Scheme_Hash_Tree *t1, Scheme_Hash_Tree *t2, void
|
|||
|
||||
void scheme_set_root_param(int p, Scheme_Object *v);
|
||||
|
||||
Scheme_Object *scheme_intern_exact_parallel_symbol(const char *name, unsigned int len);
|
||||
Scheme_Object *scheme_intern_exact_parallel_symbol(const char *name, uintptr_t len);
|
||||
Scheme_Object *scheme_symbol_append(Scheme_Object *s1, Scheme_Object *s2);
|
||||
Scheme_Object *scheme_copy_list(Scheme_Object *l);
|
||||
|
||||
|
@ -3545,9 +3545,6 @@ int scheme_regexp_is_byte(Scheme_Object *re);
|
|||
Scheme_Object *scheme_make_regexp(Scheme_Object *str, int byte, int pcre, int * volatile result_is_err_string);
|
||||
int scheme_is_pregexp(Scheme_Object *o);
|
||||
void scheme_clear_rx_buffers(void);
|
||||
unsigned short * scheme_ucs4_to_utf16(const mzchar *text, int start, int end,
|
||||
unsigned short *buf, int bufsize,
|
||||
intptr_t *ulen, int term_size);
|
||||
|
||||
#ifdef SCHEME_BIG_ENDIAN
|
||||
# define MZ_UCS4_NAME "UCS-4BE"
|
||||
|
|
|
@ -321,21 +321,21 @@ static Scheme_Object *byte_converter_p(int argc, Scheme_Object *argv[]);
|
|||
static void register_traversers(void);
|
||||
#endif
|
||||
|
||||
static int mz_char_strcmp(const char *who, const mzchar *str1, int l1, const mzchar *str2, int l2, int locale, int size_shortcut);
|
||||
static int mz_char_strcmp_ci(const char *who, const mzchar *str1, int l1, const mzchar *str2, int l2, int locale, int size_shortcut);
|
||||
static int mz_strcmp(const char *who, unsigned char *str1, int l1, unsigned char *str2, int l2);
|
||||
static int mz_char_strcmp(const char *who, const mzchar *str1, intptr_t l1, const mzchar *str2, intptr_t l2, int locale, int size_shortcut);
|
||||
static int mz_char_strcmp_ci(const char *who, const mzchar *str1, intptr_t l1, const mzchar *str2, intptr_t l2, int locale, int size_shortcut);
|
||||
static int mz_strcmp(const char *who, unsigned char *str1, intptr_t l1, unsigned char *str2, intptr_t l2);
|
||||
|
||||
XFORM_NONGCING static int utf8_decode_x(const unsigned char *s, int start, int end,
|
||||
unsigned int *us, int dstart, int dend,
|
||||
XFORM_NONGCING static intptr_t utf8_decode_x(const unsigned char *s, intptr_t start, intptr_t end,
|
||||
unsigned int *us, intptr_t dstart, intptr_t dend,
|
||||
intptr_t *ipos, intptr_t *jpos,
|
||||
char compact, char utf16,
|
||||
int *state, int might_continue, int permissive);
|
||||
XFORM_NONGCING static int utf8_encode_x(const unsigned int *us, int start, int end,
|
||||
unsigned char *s, int dstart, int dend,
|
||||
XFORM_NONGCING static intptr_t utf8_encode_x(const unsigned int *us, intptr_t start, intptr_t end,
|
||||
unsigned char *s, intptr_t dstart, intptr_t dend,
|
||||
intptr_t *_ipos, intptr_t *_opos, char utf16);
|
||||
|
||||
static char *string_to_from_locale(int to_bytes,
|
||||
char *in, int delta, int len,
|
||||
char *in, intptr_t delta, intptr_t len,
|
||||
intptr_t *olen, int perm,
|
||||
int *no_cvt);
|
||||
|
||||
|
@ -2803,7 +2803,7 @@ static char *do_convert(iconv_t cd,
|
|||
#define MZ_SC_BUF_SIZE 32
|
||||
|
||||
static char *string_to_from_locale(int to_bytes,
|
||||
char *in, int delta, int len,
|
||||
char *in, intptr_t delta, intptr_t len,
|
||||
intptr_t *olen, int perm,
|
||||
int *no_cvt)
|
||||
/* Call this function only when iconv is available, and only when
|
||||
|
@ -4160,18 +4160,18 @@ static Scheme_Object *string_normalize_kd (int argc, Scheme_Object *argv[])
|
|||
/* strcmps */
|
||||
/**********************************************************************/
|
||||
|
||||
int scheme_char_strlen(const mzchar *s)
|
||||
intptr_t scheme_char_strlen(const mzchar *s)
|
||||
{
|
||||
int i;
|
||||
intptr_t i;
|
||||
for (i = 0; s[i]; i++) {
|
||||
}
|
||||
return i;
|
||||
}
|
||||
|
||||
static int mz_char_strcmp(const char *who, const mzchar *str1, int l1, const mzchar *str2, int l2,
|
||||
static int mz_char_strcmp(const char *who, const mzchar *str1, intptr_t l1, const mzchar *str2, intptr_t l2,
|
||||
int use_locale, int size_shortcut)
|
||||
{
|
||||
int endres;
|
||||
intptr_t endres;
|
||||
|
||||
if (size_shortcut && (l1 != l2))
|
||||
return 1;
|
||||
|
@ -4209,10 +4209,10 @@ static int mz_char_strcmp(const char *who, const mzchar *str1, int l1, const mzc
|
|||
return endres;
|
||||
}
|
||||
|
||||
static int mz_char_strcmp_ci(const char *who, const mzchar *str1, int l1, const mzchar *str2, int l2,
|
||||
static int mz_char_strcmp_ci(const char *who, const mzchar *str1, intptr_t l1, const mzchar *str2, intptr_t l2,
|
||||
int use_locale, int size_shortcut)
|
||||
{
|
||||
int p1, p2, sp1, sp2, a, b;
|
||||
intptr_t p1, p2, sp1, sp2, a, b;
|
||||
mzchar spec1[SPECIAL_CASE_FOLD_MAX], spec2[SPECIAL_CASE_FOLD_MAX];
|
||||
|
||||
if (size_shortcut && (l1 != l2))
|
||||
|
@ -4277,9 +4277,9 @@ static int mz_char_strcmp_ci(const char *who, const mzchar *str1, int l1, const
|
|||
return ((p1 < l1) || sp1) - ((p2 < l2) || sp2);
|
||||
}
|
||||
|
||||
static int mz_strcmp(const char *who, unsigned char *str1, int l1, unsigned char *str2, int l2)
|
||||
static int mz_strcmp(const char *who, unsigned char *str1, intptr_t l1, unsigned char *str2, intptr_t l2)
|
||||
{
|
||||
int endres;
|
||||
intptr_t endres;
|
||||
|
||||
if (l1 > l2) {
|
||||
l1 = l2;
|
||||
|
@ -4705,8 +4705,8 @@ byte_converter_p(int argc, Scheme_Object *argv[])
|
|||
/* utf8 converter */
|
||||
/**********************************************************************/
|
||||
|
||||
static int utf8_decode_x(const unsigned char *s, int start, int end,
|
||||
unsigned int *us, int dstart, int dend,
|
||||
static intptr_t utf8_decode_x(const unsigned char *s, intptr_t start, intptr_t end,
|
||||
unsigned int *us, intptr_t dstart, intptr_t dend,
|
||||
intptr_t *ipos, intptr_t *jpos,
|
||||
char compact, char utf16, int *_state,
|
||||
int might_continue, int permissive)
|
||||
|
@ -4732,7 +4732,8 @@ static int utf8_decode_x(const unsigned char *s, int start, int end,
|
|||
or U+FFFD. */
|
||||
|
||||
{
|
||||
int i, j, oki, failmode = -3, state;
|
||||
intptr_t i, j, oki;
|
||||
int failmode = -3, state;
|
||||
int init_doki;
|
||||
int nextbits, v;
|
||||
unsigned int sc;
|
||||
|
@ -4970,7 +4971,7 @@ static int utf8_decode_x(const unsigned char *s, int start, int end,
|
|||
# endif
|
||||
}
|
||||
} else {
|
||||
int delta;
|
||||
intptr_t delta;
|
||||
delta = (i - oki);
|
||||
if (delta) {
|
||||
if (j + delta + 1 < dend) {
|
||||
|
@ -5060,16 +5061,16 @@ static int utf8_decode_x(const unsigned char *s, int start, int end,
|
|||
return j - dstart;
|
||||
}
|
||||
|
||||
int scheme_utf8_decode(const unsigned char *s, int start, int end,
|
||||
unsigned int *us, int dstart, int dend,
|
||||
intptr_t scheme_utf8_decode(const unsigned char *s, intptr_t start, intptr_t end,
|
||||
unsigned int *us, intptr_t dstart, intptr_t dend,
|
||||
intptr_t *ipos, char utf16, int permissive)
|
||||
{
|
||||
return utf8_decode_x(s, start, end, us, dstart, dend,
|
||||
ipos, NULL, utf16, utf16, NULL, 0, permissive);
|
||||
}
|
||||
|
||||
int scheme_utf8_decode_as_prefix(const unsigned char *s, int start, int end,
|
||||
unsigned int *us, int dstart, int dend,
|
||||
intptr_t scheme_utf8_decode_as_prefix(const unsigned char *s, intptr_t start, intptr_t end,
|
||||
unsigned int *us, intptr_t dstart, intptr_t dend,
|
||||
intptr_t *ipos, char utf16, int permissive)
|
||||
/* Always returns number of read characters, not error codes. */
|
||||
{
|
||||
|
@ -5079,17 +5080,17 @@ int scheme_utf8_decode_as_prefix(const unsigned char *s, int start, int end,
|
|||
return opos - dstart;
|
||||
}
|
||||
|
||||
int scheme_utf8_decode_all(const unsigned char *s, int len, unsigned int *us, int permissive)
|
||||
intptr_t scheme_utf8_decode_all(const unsigned char *s, intptr_t len, unsigned int *us, int permissive)
|
||||
{
|
||||
return utf8_decode_x(s, 0, len, us, 0, -1, NULL, NULL, 0, 0, NULL, 0, permissive);
|
||||
}
|
||||
|
||||
int scheme_utf8_decode_prefix(const unsigned char *s, int len, unsigned int *us, int permissive)
|
||||
intptr_t scheme_utf8_decode_prefix(const unsigned char *s, intptr_t len, unsigned int *us, int permissive)
|
||||
/* us != NULL */
|
||||
{
|
||||
{
|
||||
/* Try fast path (all ASCII) */
|
||||
int i;
|
||||
intptr_t i;
|
||||
for (i = 0; i < len; i++) {
|
||||
if (s[i] < 128)
|
||||
us[i] = s[i];
|
||||
|
@ -5103,10 +5104,10 @@ int scheme_utf8_decode_prefix(const unsigned char *s, int len, unsigned int *us,
|
|||
return utf8_decode_x(s, 0, len, us, 0, -1, NULL, NULL, 0, 0, NULL, 1, permissive);
|
||||
}
|
||||
|
||||
mzchar *scheme_utf8_decode_to_buffer_len(const unsigned char *s, int len,
|
||||
mzchar *buf, int blen, intptr_t *_ulen)
|
||||
mzchar *scheme_utf8_decode_to_buffer_len(const unsigned char *s, intptr_t len,
|
||||
mzchar *buf, intptr_t blen, intptr_t *_ulen)
|
||||
{
|
||||
int ulen;
|
||||
intptr_t ulen;
|
||||
|
||||
ulen = utf8_decode_x(s, 0, len, NULL, 0, -1,
|
||||
NULL, NULL, 0, 0,
|
||||
|
@ -5124,21 +5125,21 @@ mzchar *scheme_utf8_decode_to_buffer_len(const unsigned char *s, int len,
|
|||
return buf;
|
||||
}
|
||||
|
||||
mzchar *scheme_utf8_decode_to_buffer(const unsigned char *s, int len,
|
||||
mzchar *buf, int blen)
|
||||
mzchar *scheme_utf8_decode_to_buffer(const unsigned char *s, intptr_t len,
|
||||
mzchar *buf, intptr_t blen)
|
||||
{
|
||||
intptr_t ulen;
|
||||
return scheme_utf8_decode_to_buffer_len(s, len, buf, blen, &ulen);
|
||||
}
|
||||
|
||||
int scheme_utf8_decode_count(const unsigned char *s, int start, int end,
|
||||
intptr_t scheme_utf8_decode_count(const unsigned char *s, intptr_t start, intptr_t end,
|
||||
int *_state, int might_continue, int permissive)
|
||||
{
|
||||
intptr_t pos = 0;
|
||||
|
||||
if (!_state || !*_state) {
|
||||
/* Try fast path (all ASCII): */
|
||||
int i;
|
||||
intptr_t i;
|
||||
for (i = start; i < end; i++) {
|
||||
if (s[i] > 127)
|
||||
break;
|
||||
|
@ -5156,14 +5157,14 @@ int scheme_utf8_decode_count(const unsigned char *s, int start, int end,
|
|||
return pos;
|
||||
}
|
||||
|
||||
static int utf8_encode_x(const unsigned int *us, int start, int end,
|
||||
unsigned char *s, int dstart, int dend,
|
||||
static intptr_t utf8_encode_x(const unsigned int *us, intptr_t start, intptr_t end,
|
||||
unsigned char *s, intptr_t dstart, intptr_t dend,
|
||||
intptr_t *_ipos, intptr_t *_opos, char utf16)
|
||||
/* Results:
|
||||
-1 => input ended in the middle of an encoding - only when utf16 and _opos
|
||||
non-negative => reports number of bytes/code-units produced */
|
||||
{
|
||||
int i, j, done = start;
|
||||
intptr_t i, j, done = start;
|
||||
|
||||
if (dend < 0)
|
||||
dend = 0x7FFFFFFF;
|
||||
|
@ -5310,8 +5311,8 @@ static int utf8_encode_x(const unsigned int *us, int start, int end,
|
|||
}
|
||||
}
|
||||
|
||||
int scheme_utf8_encode(const unsigned int *us, int start, int end,
|
||||
unsigned char *s, int dstart,
|
||||
intptr_t scheme_utf8_encode(const unsigned int *us, intptr_t start, intptr_t end,
|
||||
unsigned char *s, intptr_t dstart,
|
||||
char utf16)
|
||||
{
|
||||
return utf8_encode_x(us, start, end,
|
||||
|
@ -5319,16 +5320,16 @@ int scheme_utf8_encode(const unsigned int *us, int start, int end,
|
|||
NULL, NULL, utf16);
|
||||
}
|
||||
|
||||
int scheme_utf8_encode_all(const unsigned int *us, int len, unsigned char *s)
|
||||
intptr_t scheme_utf8_encode_all(const unsigned int *us, intptr_t len, unsigned char *s)
|
||||
{
|
||||
return utf8_encode_x(us, 0, len, s, 0, -1, NULL, NULL, 0 /* utf16 */);
|
||||
}
|
||||
|
||||
char *scheme_utf8_encode_to_buffer_len(const mzchar *s, int len,
|
||||
char *buf, int blen,
|
||||
char *scheme_utf8_encode_to_buffer_len(const mzchar *s, intptr_t len,
|
||||
char *buf, intptr_t blen,
|
||||
intptr_t *_slen)
|
||||
{
|
||||
int slen;
|
||||
intptr_t slen;
|
||||
|
||||
/* ASCII with len < blen is a common case: */
|
||||
if (len < blen) {
|
||||
|
@ -5355,19 +5356,19 @@ char *scheme_utf8_encode_to_buffer_len(const mzchar *s, int len,
|
|||
return buf;
|
||||
}
|
||||
|
||||
char *scheme_utf8_encode_to_buffer(const mzchar *s, int len,
|
||||
char *buf, int blen)
|
||||
char *scheme_utf8_encode_to_buffer(const mzchar *s, intptr_t len,
|
||||
char *buf, intptr_t blen)
|
||||
{
|
||||
intptr_t slen;
|
||||
return scheme_utf8_encode_to_buffer_len(s, len, buf, blen, &slen);
|
||||
}
|
||||
|
||||
unsigned short *scheme_ucs4_to_utf16(const mzchar *text, int start, int end,
|
||||
unsigned short *buf, int bufsize,
|
||||
intptr_t *ulen, int term_size)
|
||||
unsigned short *scheme_ucs4_to_utf16(const mzchar *text, intptr_t start, intptr_t end,
|
||||
unsigned short *buf, intptr_t bufsize,
|
||||
intptr_t *ulen, intptr_t term_size)
|
||||
{
|
||||
mzchar v;
|
||||
int extra, i, j;
|
||||
intptr_t extra, i, j;
|
||||
unsigned short *utf16;
|
||||
|
||||
/* Count characters that fall outside UCS-2: */
|
||||
|
@ -5395,12 +5396,12 @@ unsigned short *scheme_ucs4_to_utf16(const mzchar *text, int start, int end,
|
|||
return utf16;
|
||||
}
|
||||
|
||||
mzchar *scheme_utf16_to_ucs4(const unsigned short *text, int start, int end,
|
||||
mzchar *buf, int bufsize,
|
||||
intptr_t *ulen, int term_size)
|
||||
mzchar *scheme_utf16_to_ucs4(const unsigned short *text, intptr_t start, intptr_t end,
|
||||
mzchar *buf, intptr_t bufsize,
|
||||
intptr_t *ulen, intptr_t term_size)
|
||||
{
|
||||
int wc;
|
||||
int i, j;
|
||||
intptr_t i, j;
|
||||
|
||||
for (i = start, j = 0; i < end; i++) {
|
||||
wc = text[i];
|
||||
|
|
|
@ -336,7 +336,7 @@ X__(string_append) (int argc, Scheme_Object *argv[])
|
|||
Scheme_Object *
|
||||
X(scheme_append, _string)(Scheme_Object *str1, Scheme_Object *str2)
|
||||
{
|
||||
int len1, len2;
|
||||
intptr_t len1, len2;
|
||||
Xchar *r;
|
||||
Scheme_Object *naya;
|
||||
|
||||
|
|
|
@ -1476,7 +1476,7 @@ Scheme_Object *scheme_extend_module_rename(Scheme_Object *mrn,
|
|||
Scheme_Object *exname, /* name in definition context */
|
||||
Scheme_Object *nominal_mod, /* nominal source module */
|
||||
Scheme_Object *nominal_ex, /* nominal import before local renaming */
|
||||
int mod_phase, /* phase of source defn */
|
||||
intptr_t mod_phase, /* phase of source defn */
|
||||
Scheme_Object *src_phase_index, /* nominal import phase */
|
||||
Scheme_Object *nom_phase, /* nominal export phase */
|
||||
Scheme_Object *insp, /* inspector for re-export */
|
||||
|
@ -1675,7 +1675,7 @@ static void do_append_module_rename(Scheme_Object *src, Scheme_Object *dest,
|
|||
if (SCHEME_PAIRP(SCHEME_CDR(v))) {
|
||||
/* (list* modidx [mod-phase] exportname nominal_modidx+index nominal_exportname) */
|
||||
Scheme_Object *midx1, *midx2;
|
||||
int mod_phase;
|
||||
intptr_t mod_phase;
|
||||
midx1 = SCHEME_CAR(v);
|
||||
v = SCHEME_CDR(v);
|
||||
if (SCHEME_INTP(SCHEME_CAR(v))) {
|
||||
|
|
|
@ -95,12 +95,12 @@ typedef uintptr_t hash_v_t;
|
|||
#endif
|
||||
|
||||
static Scheme_Object *rehash_symbol_bucket(Scheme_Hash_Table *table,
|
||||
GC_CAN_IGNORE const char *key, unsigned int length,
|
||||
GC_CAN_IGNORE const char *key, uintptr_t length,
|
||||
Scheme_Object *naya);
|
||||
|
||||
/* Special hashing for symbols: */
|
||||
static Scheme_Object *symbol_bucket(Scheme_Hash_Table *table,
|
||||
GC_CAN_IGNORE const char *key, unsigned int length,
|
||||
GC_CAN_IGNORE const char *key, uintptr_t length,
|
||||
Scheme_Object *naya)
|
||||
{
|
||||
hash_v_t h, h2;
|
||||
|
@ -114,7 +114,7 @@ static Scheme_Object *symbol_bucket(Scheme_Hash_Table *table,
|
|||
mask = table->size - 1;
|
||||
|
||||
{
|
||||
unsigned int i;
|
||||
uintptr_t i;
|
||||
i = 0;
|
||||
h = HASH_SEED;
|
||||
h2 = 0;
|
||||
|
@ -166,7 +166,7 @@ static Scheme_Object *symbol_bucket(Scheme_Hash_Table *table,
|
|||
}
|
||||
|
||||
static Scheme_Object *rehash_symbol_bucket(Scheme_Hash_Table *table,
|
||||
GC_CAN_IGNORE const char *key, unsigned int length,
|
||||
GC_CAN_IGNORE const char *key, uintptr_t length,
|
||||
Scheme_Object *naya)
|
||||
{
|
||||
int i, oldsize = table->size, newsize, lostc;
|
||||
|
@ -353,7 +353,7 @@ uintptr_t scheme_get_max_symbol_length() {
|
|||
|
||||
|
||||
static Scheme_Object *
|
||||
make_a_symbol(const char *name, unsigned int len, int kind)
|
||||
make_a_symbol(const char *name, uintptr_t len, int kind)
|
||||
{
|
||||
Scheme_Symbol *sym;
|
||||
|
||||
|
@ -383,13 +383,13 @@ scheme_make_symbol(const char *name)
|
|||
}
|
||||
|
||||
Scheme_Object *
|
||||
scheme_make_exact_symbol(const char *name, unsigned int len)
|
||||
scheme_make_exact_symbol(const char *name, uintptr_t len)
|
||||
{
|
||||
return make_a_symbol(name, len, 0x1);
|
||||
}
|
||||
|
||||
Scheme_Object *
|
||||
scheme_make_exact_char_symbol(const mzchar *name, unsigned int len)
|
||||
scheme_make_exact_char_symbol(const mzchar *name, uintptr_t len)
|
||||
{
|
||||
char buf[64], *bs;
|
||||
intptr_t blen;
|
||||
|
@ -404,7 +404,7 @@ typedef enum {
|
|||
} enum_symbol_table_type;
|
||||
|
||||
static Scheme_Object *
|
||||
intern_exact_symbol_in_table_worker(enum_symbol_table_type type, int kind, const char *name, unsigned int len)
|
||||
intern_exact_symbol_in_table_worker(enum_symbol_table_type type, int kind, const char *name, uintptr_t len)
|
||||
{
|
||||
Scheme_Object *sym;
|
||||
Scheme_Hash_Table *table;
|
||||
|
@ -470,25 +470,25 @@ intern_exact_symbol_in_table_worker(enum_symbol_table_type type, int kind, const
|
|||
}
|
||||
|
||||
static Scheme_Object *
|
||||
intern_exact_symbol_in_table(enum_symbol_table_type type, int kind, const char *name, unsigned int len)
|
||||
intern_exact_symbol_in_table(enum_symbol_table_type type, int kind, const char *name, uintptr_t len)
|
||||
{
|
||||
return intern_exact_symbol_in_table_worker(type, kind, name, len);
|
||||
}
|
||||
|
||||
Scheme_Object *
|
||||
scheme_intern_exact_symbol(const char *name, unsigned int len)
|
||||
scheme_intern_exact_symbol(const char *name, uintptr_t len)
|
||||
{
|
||||
return intern_exact_symbol_in_table(enum_symbol, 0, name, len);
|
||||
}
|
||||
|
||||
Scheme_Object *
|
||||
scheme_intern_exact_parallel_symbol(const char *name, unsigned int len)
|
||||
scheme_intern_exact_parallel_symbol(const char *name, uintptr_t len)
|
||||
{
|
||||
return intern_exact_symbol_in_table(enum_parallel_symbol, 0x2, name, len);
|
||||
}
|
||||
|
||||
Scheme_Object *
|
||||
scheme_intern_exact_char_symbol(const mzchar *name, unsigned int len)
|
||||
scheme_intern_exact_char_symbol(const mzchar *name, uintptr_t len)
|
||||
{
|
||||
char buf[64], *bs;
|
||||
intptr_t blen;
|
||||
|
@ -497,7 +497,7 @@ scheme_intern_exact_char_symbol(const mzchar *name, unsigned int len)
|
|||
}
|
||||
|
||||
Scheme_Object *
|
||||
scheme_intern_exact_keyword(const char *name, unsigned int len)
|
||||
scheme_intern_exact_keyword(const char *name, uintptr_t len)
|
||||
{
|
||||
Scheme_Object *s;
|
||||
s = intern_exact_symbol_in_table(enum_keyword, 0, name, len);
|
||||
|
@ -506,7 +506,7 @@ scheme_intern_exact_keyword(const char *name, unsigned int len)
|
|||
return s;
|
||||
}
|
||||
|
||||
Scheme_Object *scheme_intern_exact_char_keyword(const mzchar *name, unsigned int len)
|
||||
Scheme_Object *scheme_intern_exact_char_keyword(const mzchar *name, uintptr_t len)
|
||||
{
|
||||
char buf[64], *bs;
|
||||
intptr_t blen;
|
||||
|
@ -553,11 +553,11 @@ scheme_intern_symbol(const char *name)
|
|||
return scheme_intern_exact_symbol(name, strlen(name));
|
||||
}
|
||||
|
||||
const char *scheme_symbol_name_and_size(Scheme_Object *sym, unsigned int *length, int flags)
|
||||
const char *scheme_symbol_name_and_size(Scheme_Object *sym, uintptr_t *length, int flags)
|
||||
{
|
||||
int has_space = 0, has_special = 0, has_pipe = 0, has_upper = 0, digit_start;
|
||||
int dz;
|
||||
unsigned int i, len = SCHEME_SYM_LEN(sym), total_length;
|
||||
uintptr_t i, len = SCHEME_SYM_LEN(sym), total_length;
|
||||
int pipe_quote;
|
||||
char buf[100];
|
||||
char *s, *result;
|
||||
|
@ -682,7 +682,7 @@ const char *scheme_symbol_name_and_size(Scheme_Object *sym, unsigned int *length
|
|||
result[len + 2] = 0;
|
||||
} else {
|
||||
int p = 0;
|
||||
unsigned int i = 0;
|
||||
uintptr_t i = 0;
|
||||
|
||||
result = (char *)scheme_malloc_atomic((2 * len) + 1);
|
||||
|
||||
|
|
1
src/worksp/.gitignore
vendored
1
src/worksp/.gitignore
vendored
|
@ -1,4 +1,5 @@
|
|||
# MSVC build directory:
|
||||
*/Release
|
||||
*/Debug
|
||||
*/x64
|
||||
*/*.user
|
||||
|
|
|
@ -59,10 +59,11 @@ extern "C" {
|
|||
/* Specify which architecture libffi is configured for. */
|
||||
#ifdef _WIN64
|
||||
# define __x86_64__
|
||||
# define X86_WIN64
|
||||
#else
|
||||
# define __i386__
|
||||
# define X86_WIN32
|
||||
#endif
|
||||
#define X86_WIN32
|
||||
|
||||
/* ---- System configuration information --------------------------------- */
|
||||
|
||||
|
|
|
@ -12,6 +12,9 @@
|
|||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
|
@ -140,6 +143,132 @@
|
|||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
EnableIntrinsicFunctions="true"
|
||||
AdditionalIncludeDirectories="..\libffi;..\..\foreign\libffi\include;..\..\foreign\libffi\src\x86"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
|
@ -177,10 +306,19 @@
|
|||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="cl.exe /EP /I . /I ../../foreign/libffi/src/x86 $(inputpath) > Release/win32_plain.asm
ml.exe /c /Cx /coff /Fo Release/win32.obj Release/win32_plain.asm"
|
||||
CommandLine="cl.exe /EP /I . /I ../../foreign/libffi/src/x86 $(inputpath) > Release/win32_plain.asm
ml.exe /c /Cx /coff /Fo Release/win32.obj Release/win32_plain.asm
"
|
||||
Outputs="Release/win32.obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="cl.exe /EP /I . /I ../../foreign/libffi/src/x86 $(inputpath) > x64/Release/win32_plain.asm
ml64.exe /c /Cx /Fo x64/Release/win32.obj x64/Release/win32_plain.asm
"
|
||||
Outputs="x64/Release/win32.obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
|
|
|
@ -1 +1,5 @@
|
|||
#include "../../foreign/libffi/src/x86/win32.S"
|
||||
#ifdef _WIN64
|
||||
# include "../../foreign/libffi/src/x86/win64.S"
|
||||
#else
|
||||
# include "../../foreign/libffi/src/x86/win32.S"
|
||||
#endif
|
|
@ -10,6 +10,9 @@
|
|||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
|
@ -96,6 +99,90 @@
|
|||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\Racket\Gc\Include,$(NOINHERIT)"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;GC_BUILD;MD_LIB_MAIN;SILENT;OLD_BLOCK_ALLOC;LARGE_CONFIG;ATOMIC_UNCOLLECTABLE;INITIAL_MARK_STACK_SIZE=8192;GC_DLL;_CRT_SECURE_NO_DEPRECATE"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386"
|
||||
AdditionalDependencies="User32.lib"
|
||||
OutputFile="..\..\..\lib\$(ProjectName)xxxxxxx.dll"
|
||||
SuppressStartupBanner="true"
|
||||
GenerateDebugInformation="true"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
ImportLibrary="..\..\..\lib\msvc\$(ProjectName)xxxxxxx.lib"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="Release"
|
||||
|
@ -181,6 +268,92 @@
|
|||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="2"
|
||||
EnableIntrinsicFunctions="true"
|
||||
FavorSizeOrSpeed="1"
|
||||
AdditionalIncludeDirectories="..\..\Racket\Gc\Include,$(NOINHERIT)"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;GC_BUILD;SILENT;OLD_BLOCK_ALLOC;LARGE_CONFIG;ATOMIC_UNCOLLECTABLE;INITIAL_MARK_STACK_SIZE=8192;GC_DLL;_CRT_SECURE_NO_DEPRECATE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="User32.lib"
|
||||
OutputFile="..\..\..\lib\$(ProjectName)xxxxxxx.dll"
|
||||
SuppressStartupBanner="true"
|
||||
GenerateDebugInformation="true"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
ImportLibrary="..\..\..\lib\msvc\$(ProjectName)xxxxxxx.lib"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
|
|
|
@ -10,6 +10,9 @@
|
|||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
|
@ -98,6 +101,92 @@
|
|||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..,..\..\racket\include,..\..\racket\src,..\..\foreign\libffi_msvc,$(NOINHERIT)"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;GC_DLL;__STDC__;LIBMZ_EXPORTS;_CRT_SECURE_NO_DEPRECATE"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
EnableFunctionLevelLinking="true"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386"
|
||||
AdditionalDependencies="WS2_32.lib Shell32.lib User32.lib"
|
||||
OutputFile="..\..\..\lib\libracketxxxxxxx.dll"
|
||||
SuppressStartupBanner="true"
|
||||
GenerateDebugInformation="true"
|
||||
BaseAddress="0x10400000"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
ImportLibrary="..\..\..\lib\msvc\libracketxxxxxxx.lib"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="Release"
|
||||
|
@ -185,6 +274,94 @@
|
|||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalOptions="/Oy-"
|
||||
InlineFunctionExpansion="2"
|
||||
EnableIntrinsicFunctions="true"
|
||||
FavorSizeOrSpeed="1"
|
||||
AdditionalIncludeDirectories="..;..\..\racket\include;..\..\racket\src;..\libffi;..\..\foreign\libffi\src\x86;..\..\foreign\libffi\include;$(NOINHERIT)"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;GC_DLL;__STDC__;LIBMZ_EXPORTS;_CRT_SECURE_NO_DEPRECATE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="WS2_32.lib Shell32.lib User32.lib"
|
||||
OutputFile="..\..\..\lib\libracketxxxxxxx.dll"
|
||||
SuppressStartupBanner="true"
|
||||
GenerateDebugInformation="true"
|
||||
BaseAddress="0x10400000"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
ImportLibrary="..\..\..\lib\msvc\libracketxxxxxxx.lib"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
|
|
|
@ -19,25 +19,43 @@ EndProject
|
|||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Debug|x64 = Debug|x64
|
||||
Release|Win32 = Release|Win32
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{EB7023C8-6D72-4DE4-ADFC-3913C4C70991}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{EB7023C8-6D72-4DE4-ADFC-3913C4C70991}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{EB7023C8-6D72-4DE4-ADFC-3913C4C70991}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{EB7023C8-6D72-4DE4-ADFC-3913C4C70991}.Debug|x64.Build.0 = Debug|x64
|
||||
{EB7023C8-6D72-4DE4-ADFC-3913C4C70991}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{EB7023C8-6D72-4DE4-ADFC-3913C4C70991}.Release|Win32.Build.0 = Release|Win32
|
||||
{EB7023C8-6D72-4DE4-ADFC-3913C4C70991}.Release|x64.ActiveCfg = Release|x64
|
||||
{EB7023C8-6D72-4DE4-ADFC-3913C4C70991}.Release|x64.Build.0 = Release|x64
|
||||
{A6713577-7DFB-48F8-B8C1-7DB2D7C51F90}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{A6713577-7DFB-48F8-B8C1-7DB2D7C51F90}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{A6713577-7DFB-48F8-B8C1-7DB2D7C51F90}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{A6713577-7DFB-48F8-B8C1-7DB2D7C51F90}.Debug|x64.Build.0 = Debug|x64
|
||||
{A6713577-7DFB-48F8-B8C1-7DB2D7C51F90}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{A6713577-7DFB-48F8-B8C1-7DB2D7C51F90}.Release|Win32.Build.0 = Release|Win32
|
||||
{A6713577-7DFB-48F8-B8C1-7DB2D7C51F90}.Release|x64.ActiveCfg = Release|x64
|
||||
{A6713577-7DFB-48F8-B8C1-7DB2D7C51F90}.Release|x64.Build.0 = Release|x64
|
||||
{66548E7B-294E-40EF-B7C0-C8D6D7E6234F}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{66548E7B-294E-40EF-B7C0-C8D6D7E6234F}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{66548E7B-294E-40EF-B7C0-C8D6D7E6234F}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{66548E7B-294E-40EF-B7C0-C8D6D7E6234F}.Debug|x64.Build.0 = Debug|x64
|
||||
{66548E7B-294E-40EF-B7C0-C8D6D7E6234F}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{66548E7B-294E-40EF-B7C0-C8D6D7E6234F}.Release|Win32.Build.0 = Release|Win32
|
||||
{66548E7B-294E-40EF-B7C0-C8D6D7E6234F}.Release|x64.ActiveCfg = Release|x64
|
||||
{66548E7B-294E-40EF-B7C0-C8D6D7E6234F}.Release|x64.Build.0 = Release|x64
|
||||
{7DB29F1E-06FD-4E39-97FF-1C7922F6901A}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{7DB29F1E-06FD-4E39-97FF-1C7922F6901A}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{7DB29F1E-06FD-4E39-97FF-1C7922F6901A}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{7DB29F1E-06FD-4E39-97FF-1C7922F6901A}.Debug|x64.Build.0 = Debug|x64
|
||||
{7DB29F1E-06FD-4E39-97FF-1C7922F6901A}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{7DB29F1E-06FD-4E39-97FF-1C7922F6901A}.Release|Win32.Build.0 = Release|Win32
|
||||
{7DB29F1E-06FD-4E39-97FF-1C7922F6901A}.Release|x64.ActiveCfg = Release|x64
|
||||
{7DB29F1E-06FD-4E39-97FF-1C7922F6901A}.Release|x64.Build.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
|
|
@ -10,6 +10,9 @@
|
|||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
|
@ -98,6 +101,92 @@
|
|||
CommandLine="
if exist "$(TargetPath)" goto :MzOK
echo Error: did not find $(TargetPath)
exit 1
:MzOK
"$(TargetPath)" -cu ..\..\racket\mkincludes.rkt "$(TargetDir)/include/" ..\..\racket ..
if errorlevel 1 exit 1
cd ..\..\racket\dynsrc
mkmzdynd.bat
cd ..\..\worksp\racket

"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..,..\..\racket\include,$(NOINHERIT)"
|
||||
PreprocessorDefinitions="WIN32,_DEBUG,_CONSOLE,GC_DLL,_CRT_SECURE_NO_DEPRECATE"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386 /DELAYLOAD:libracketxxxxxxx.dll /DELAYLOAD:libmzgcxxxxxxx.dll"
|
||||
AdditionalDependencies="delayimp.lib user32.lib"
|
||||
OutputFile="..\..\..\RacketCGC.exe"
|
||||
SuppressStartupBanner="true"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="..\..\..\RacketCGC.pdb"
|
||||
SubSystem="1"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="
if exist "$(TargetPath)" goto :MzOK
echo Error: did not find $(TargetPath)
exit 1
:MzOK
"$(TargetPath)" -cu ..\..\racket\mkincludes.rkt "$(TargetDir)/include/" ..\..\racket ..
if errorlevel 1 exit 1
cd ..\..\racket\dynsrc
mkmzdynd.bat
cd ..\..\worksp\racket

"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="Release"
|
||||
|
@ -186,6 +275,96 @@
|
|||
CommandLine="
if exist "$(TargetPath)" goto :MzOK
echo Error: did not find $(TargetPath)
exit 1
:MzOK
"$(TargetPath)" -cu ..\..\racket\mkincludes.rkt "$(TargetDir)/include/" ..\..\racket ..
if errorlevel 1 exit 1
cd ..\..\racket\dynsrc
mkmzdyn.bat
cd ..\..\worksp\racket

"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="2"
|
||||
EnableIntrinsicFunctions="true"
|
||||
FavorSizeOrSpeed="1"
|
||||
AdditionalIncludeDirectories="..,..\..\racket\include,$(NOINHERIT)"
|
||||
PreprocessorDefinitions="WIN32,NDEBUG,_CONSOLE,GC_DLL,_CRT_SECURE_NO_DEPRECATE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions=" /DELAYLOAD:libracketxxxxxxx.dll /DELAYLOAD:libmzgcxxxxxxx.dll"
|
||||
AdditionalDependencies="delayimp.lib user32.lib"
|
||||
OutputFile="..\..\..\RacketCGC.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="..\..\..\RacketCGC.pdb"
|
||||
SubSystem="1"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="
if exist "$(TargetPath)" goto :MzOK
echo Error: did not find $(TargetPath)
exit 1
:MzOK
"$(TargetPath)" -cu ..\..\racket\mkincludes.rkt "$(TargetDir)/include/" ..\..\racket ..
if errorlevel 1 exit 1
cd ..\..\racket\dynsrc
mkmzdyn.bat
cd ..\..\worksp\racket

"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
|
|
Loading…
Reference in New Issue
Block a user