projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Throw errors on malformed FUNCTION.
[sbcl.git]
/
src
/
runtime
/
gc-common.c
diff --git
a/src/runtime/gc-common.c
b/src/runtime/gc-common.c
index
1fe6400
..
227021b
100644
(file)
--- a/
src/runtime/gc-common.c
+++ b/
src/runtime/gc-common.c
@@
-85,9
+85,9
@@
set_forwarding_pointer(lispobj * pointer, lispobj newspace_copy) {
return newspace_copy;
}
return newspace_copy;
}
-long (*scavtab[256])(lispobj *where, lispobj object);
+sword_t (*scavtab[256])(lispobj *where, lispobj object);
lispobj (*transother[256])(lispobj object);
lispobj (*transother[256])(lispobj object);
-long (*sizetab[256])(lispobj *where);
+sword_t (*sizetab[256])(lispobj *where);
struct weak_pointer *weak_pointers;
os_vm_size_t bytes_consed_between_gcs = 12*1024*1024;
struct weak_pointer *weak_pointers;
os_vm_size_t bytes_consed_between_gcs = 12*1024*1024;
@@
-100,28
+100,28
@@
os_vm_size_t bytes_consed_between_gcs = 12*1024*1024;
/* to copy a boxed object */
lispobj
/* to copy a boxed object */
lispobj
-copy_object(lispobj object, long nwords)
+copy_object(lispobj object, sword_t nwords)
{
return gc_general_copy_object(object, nwords, BOXED_PAGE_FLAG);
}
lispobj
{
return gc_general_copy_object(object, nwords, BOXED_PAGE_FLAG);
}
lispobj
-copy_code_object(lispobj object, long nwords)
+copy_code_object(lispobj object, sword_t nwords)
{
return gc_general_copy_object(object, nwords, CODE_PAGE_FLAG);
}
{
return gc_general_copy_object(object, nwords, CODE_PAGE_FLAG);
}
-static long scav_lose(lispobj *where, lispobj object); /* forward decl */
+static sword_t scav_lose(lispobj *where, lispobj object); /* forward decl */
/* FIXME: Most calls end up going to some trouble to compute an
* 'n_words' value for this function. The system might be a little
* simpler if this function used an 'end' parameter instead. */
void
/* FIXME: Most calls end up going to some trouble to compute an
* 'n_words' value for this function. The system might be a little
* simpler if this function used an 'end' parameter instead. */
void
-scavenge(lispobj *start, long n_words)
+scavenge(lispobj *start, sword_t n_words)
{
lispobj *end = start + n_words;
lispobj *object_ptr;
{
lispobj *end = start + n_words;
lispobj *object_ptr;
- long n_words_scavenged;
+ sword_t n_words_scavenged;
for (object_ptr = start;
object_ptr < end;
for (object_ptr = start;
object_ptr < end;
@@
-194,7
+194,7
@@
If you can reproduce this warning, please send a bug report\n\
static lispobj trans_fun_header(lispobj object); /* forward decls */
static lispobj trans_boxed(lispobj object);
static lispobj trans_fun_header(lispobj object); /* forward decls */
static lispobj trans_boxed(lispobj object);
-static long
+static sword_t
scav_fun_pointer(lispobj *where, lispobj object)
{
lispobj *first_pointer;
scav_fun_pointer(lispobj *where, lispobj object)
{
lispobj *first_pointer;
@@
-237,7
+237,7
@@
trans_code(struct code *code)
struct code *new_code;
lispobj first, l_code, l_new_code;
uword_t nheader_words, ncode_words, nwords;
struct code *new_code;
lispobj first, l_code, l_new_code;
uword_t nheader_words, ncode_words, nwords;
- unsigned long displacement;
+ uword_t displacement;
lispobj fheaderl, *prev_pointer;
/* if object has already been transported, just return pointer */
lispobj fheaderl, *prev_pointer;
/* if object has already been transported, just return pointer */
@@
-265,7
+265,7
@@
trans_code(struct code *code)
#if defined(DEBUG_CODE_GC)
printf("Old code object at 0x%08x, new code object at 0x%08x.\n",
#if defined(DEBUG_CODE_GC)
printf("Old code object at 0x%08x, new code object at 0x%08x.\n",
- (unsigned long) code, (unsigned long) new_code);
+ (uword_t) code, (uword_t) new_code);
printf("Code object is %d words long.\n", nwords);
#endif
printf("Code object is %d words long.\n", nwords);
#endif
@@
-317,23
+317,23
@@
trans_code(struct code *code)
#ifdef LISP_FEATURE_GENCGC
/* Cheneygc doesn't need this os_flush_icache, it flushes the whole
spaces once when all copying is done. */
#ifdef LISP_FEATURE_GENCGC
/* Cheneygc doesn't need this os_flush_icache, it flushes the whole
spaces once when all copying is done. */
- os_flush_icache((os_vm_address_t) (((long *)new_code) + nheader_words),
- ncode_words * sizeof(long));
+ os_flush_icache((os_vm_address_t) (((sword_t *)new_code) + nheader_words),
+ ncode_words * sizeof(sword_t));
#endif
#endif
-#if defined(LISP_FEATURE_X86) || defined(LISP_FEATURE_X86_64)
+#ifdef LISP_FEATURE_X86
gencgc_apply_code_fixups(code, new_code);
#endif
return new_code;
}
gencgc_apply_code_fixups(code, new_code);
#endif
return new_code;
}
-static long
+static sword_t
scav_code_header(lispobj *where, lispobj object)
{
struct code *code;
scav_code_header(lispobj *where, lispobj object)
{
struct code *code;
- long n_header_words, n_code_words, n_words;
+ sword_t n_header_words, n_code_words, n_words;
lispobj entry_point; /* tagged pointer to entry point */
struct simple_fun *function_ptr; /* untagged pointer to entry point */
lispobj entry_point; /* tagged pointer to entry point */
struct simple_fun *function_ptr; /* untagged pointer to entry point */
@@
-354,7
+354,7
@@
scav_code_header(lispobj *where, lispobj object)
gc_assert_verbose(is_lisp_pointer(entry_point),
"Entry point %lx\n is not a lisp pointer.",
gc_assert_verbose(is_lisp_pointer(entry_point),
"Entry point %lx\n is not a lisp pointer.",
- (long)entry_point);
+ (sword_t)entry_point);
function_ptr = (struct simple_fun *) native_pointer(entry_point);
gc_assert(widetag_of(function_ptr->header)==SIMPLE_FUN_HEADER_WIDETAG);
function_ptr = (struct simple_fun *) native_pointer(entry_point);
gc_assert(widetag_of(function_ptr->header)==SIMPLE_FUN_HEADER_WIDETAG);
@@
-378,11
+378,11
@@
trans_code_header(lispobj object)
}
}
-static long
+static sword_t
size_code_header(lispobj *where)
{
struct code *code;
size_code_header(lispobj *where)
{
struct code *code;
- long nheader_words, ncode_words, nwords;
+ sword_t nheader_words, ncode_words, nwords;
code = (struct code *) where;
code = (struct code *) where;
@@
-395,12
+395,12
@@
size_code_header(lispobj *where)
}
#if !defined(LISP_FEATURE_X86) && ! defined(LISP_FEATURE_X86_64)
}
#if !defined(LISP_FEATURE_X86) && ! defined(LISP_FEATURE_X86_64)
-static long
+static sword_t
scav_return_pc_header(lispobj *where, lispobj object)
{
lose("attempted to scavenge a return PC header where=0x%08x object=0x%08x\n",
scav_return_pc_header(lispobj *where, lispobj object)
{
lose("attempted to scavenge a return PC header where=0x%08x object=0x%08x\n",
- (unsigned long) where,
- (unsigned long) object);
+ (uword_t) where,
+ (uword_t) object);
return 0; /* bogus return value to satisfy static type checking */
}
#endif /* LISP_FEATURE_X86 */
return 0; /* bogus return value to satisfy static type checking */
}
#endif /* LISP_FEATURE_X86 */
@@
-409,7
+409,7
@@
static lispobj
trans_return_pc_header(lispobj object)
{
struct simple_fun *return_pc;
trans_return_pc_header(lispobj object)
{
struct simple_fun *return_pc;
- unsigned long offset;
+ uword_t offset;
struct code *code, *ncode;
return_pc = (struct simple_fun *) native_pointer(object);
struct code *code, *ncode;
return_pc = (struct simple_fun *) native_pointer(object);
@@
-417,7
+417,7
@@
trans_return_pc_header(lispobj object)
offset = HeaderValue(return_pc->header) * N_WORD_BYTES;
/* Transport the whole code object */
offset = HeaderValue(return_pc->header) * N_WORD_BYTES;
/* Transport the whole code object */
- code = (struct code *) ((unsigned long) return_pc - offset);
+ code = (struct code *) ((uword_t) return_pc - offset);
ncode = trans_code(code);
return ((lispobj) LOW_WORD(ncode) + offset) | OTHER_POINTER_LOWTAG;
ncode = trans_code(code);
return ((lispobj) LOW_WORD(ncode) + offset) | OTHER_POINTER_LOWTAG;
@@
-430,7
+430,7
@@
trans_return_pc_header(lispobj object)
* have to figure out that the function is still live. */
#if defined(LISP_FEATURE_X86) || defined(LISP_FEATURE_X86_64)
* have to figure out that the function is still live. */
#if defined(LISP_FEATURE_X86) || defined(LISP_FEATURE_X86_64)
-static long
+static sword_t
scav_closure_header(lispobj *where, lispobj object)
{
struct closure *closure;
scav_closure_header(lispobj *where, lispobj object)
{
struct closure *closure;
@@
-450,12
+450,12
@@
scav_closure_header(lispobj *where, lispobj object)
#endif
#if !(defined(LISP_FEATURE_X86) || defined(LISP_FEATURE_X86_64))
#endif
#if !(defined(LISP_FEATURE_X86) || defined(LISP_FEATURE_X86_64))
-static long
+static sword_t
scav_fun_header(lispobj *where, lispobj object)
{
lose("attempted to scavenge a function header where=0x%08x object=0x%08x\n",
scav_fun_header(lispobj *where, lispobj object)
{
lose("attempted to scavenge a function header where=0x%08x object=0x%08x\n",
- (unsigned long) where,
- (unsigned long) object);
+ (uword_t) where,
+ (uword_t) object);
return 0; /* bogus return value to satisfy static type checking */
}
#endif /* LISP_FEATURE_X86 */
return 0; /* bogus return value to satisfy static type checking */
}
#endif /* LISP_FEATURE_X86 */
@@
-464,7
+464,7
@@
static lispobj
trans_fun_header(lispobj object)
{
struct simple_fun *fheader;
trans_fun_header(lispobj object)
{
struct simple_fun *fheader;
- unsigned long offset;
+ uword_t offset;
struct code *code, *ncode;
fheader = (struct simple_fun *) native_pointer(object);
struct code *code, *ncode;
fheader = (struct simple_fun *) native_pointer(object);
@@
-472,7
+472,7
@@
trans_fun_header(lispobj object)
offset = HeaderValue(fheader->header) * N_WORD_BYTES;
/* Transport the whole code object */
offset = HeaderValue(fheader->header) * N_WORD_BYTES;
/* Transport the whole code object */
- code = (struct code *) ((unsigned long) fheader - offset);
+ code = (struct code *) ((uword_t) fheader - offset);
ncode = trans_code(code);
return ((lispobj) LOW_WORD(ncode) + offset) | FUN_POINTER_LOWTAG;
ncode = trans_code(code);
return ((lispobj) LOW_WORD(ncode) + offset) | FUN_POINTER_LOWTAG;
@@
-483,7
+483,7
@@
trans_fun_header(lispobj object)
* instances
*/
* instances
*/
-static long
+static sword_t
scav_instance_pointer(lispobj *where, lispobj object)
{
lispobj copy, *first_pointer;
scav_instance_pointer(lispobj *where, lispobj object)
{
lispobj copy, *first_pointer;
@@
-509,7
+509,7
@@
scav_instance_pointer(lispobj *where, lispobj object)
static lispobj trans_list(lispobj object);
static lispobj trans_list(lispobj object);
-static long
+static sword_t
scav_list_pointer(lispobj *where, lispobj object)
{
lispobj first, *first_pointer;
scav_list_pointer(lispobj *where, lispobj object)
{
lispobj first, *first_pointer;
@@
-593,7
+593,7
@@
trans_list(lispobj object)
* scavenging and transporting other pointers
*/
* scavenging and transporting other pointers
*/
-static long
+static sword_t
scav_other_pointer(lispobj *where, lispobj object)
{
lispobj first, *first_pointer;
scav_other_pointer(lispobj *where, lispobj object)
{
lispobj first, *first_pointer;
@@
-623,13
+623,13
@@
scav_other_pointer(lispobj *where, lispobj object)
* immediate, boxed, and unboxed objects
*/
* immediate, boxed, and unboxed objects
*/
-static long
+static sword_t
size_pointer(lispobj *where)
{
return 1;
}
size_pointer(lispobj *where)
{
return 1;
}
-static long
+static sword_t
scav_immediate(lispobj *where, lispobj object)
{
return 1;
scav_immediate(lispobj *where, lispobj object)
{
return 1;
@@
-642,24
+642,24
@@
trans_immediate(lispobj object)
return NIL; /* bogus return value to satisfy static type checking */
}
return NIL; /* bogus return value to satisfy static type checking */
}
-static long
+static sword_t
size_immediate(lispobj *where)
{
return 1;
}
size_immediate(lispobj *where)
{
return 1;
}
-static long
+static sword_t
scav_boxed(lispobj *where, lispobj object)
{
return 1;
}
scav_boxed(lispobj *where, lispobj object)
{
return 1;
}
-static long
+static sword_t
scav_instance(lispobj *where, lispobj object)
{
lispobj nuntagged;
scav_instance(lispobj *where, lispobj object)
{
lispobj nuntagged;
- long ntotal = HeaderValue(object);
+ sword_t ntotal = HeaderValue(object);
lispobj layout = ((struct instance *)where)->slots[0];
if (!layout)
lispobj layout = ((struct instance *)where)->slots[0];
if (!layout)
@@
-677,7
+677,7
@@
static lispobj
trans_boxed(lispobj object)
{
lispobj header;
trans_boxed(lispobj object)
{
lispobj header;
- unsigned long length;
+ uword_t length;
gc_assert(is_lisp_pointer(object));
gc_assert(is_lisp_pointer(object));
@@
-689,11
+689,11
@@
trans_boxed(lispobj object)
}
}
-static long
+static sword_t
size_boxed(lispobj *where)
{
lispobj header;
size_boxed(lispobj *where)
{
lispobj header;
- unsigned long length;
+ uword_t length;
header = *where;
length = HeaderValue(header) + 1;
header = *where;
length = HeaderValue(header) + 1;
@@
-705,7
+705,7
@@
size_boxed(lispobj *where)
/* Note: on the sparc we don't have to do anything special for fdefns, */
/* 'cause the raw-addr has a function lowtag. */
#if !defined(LISP_FEATURE_SPARC)
/* Note: on the sparc we don't have to do anything special for fdefns, */
/* 'cause the raw-addr has a function lowtag. */
#if !defined(LISP_FEATURE_SPARC)
-static long
+static sword_t
scav_fdefn(lispobj *where, lispobj object)
{
struct fdefn *fdefn;
scav_fdefn(lispobj *where, lispobj object)
{
struct fdefn *fdefn;
@@
-732,10
+732,10
@@
scav_fdefn(lispobj *where, lispobj object)
}
#endif
}
#endif
-static long
+static sword_t
scav_unboxed(lispobj *where, lispobj object)
{
scav_unboxed(lispobj *where, lispobj object)
{
- unsigned long length;
+ uword_t length;
length = HeaderValue(object) + 1;
length = CEILING(length, 2);
length = HeaderValue(object) + 1;
length = CEILING(length, 2);
@@
-747,7
+747,7
@@
static lispobj
trans_unboxed(lispobj object)
{
lispobj header;
trans_unboxed(lispobj object)
{
lispobj header;
- unsigned long length;
+ uword_t length;
gc_assert(is_lisp_pointer(object));
gc_assert(is_lisp_pointer(object));
@@
-759,11
+759,11
@@
trans_unboxed(lispobj object)
return copy_unboxed_object(object, length);
}
return copy_unboxed_object(object, length);
}
-static long
+static sword_t
size_unboxed(lispobj *where)
{
lispobj header;
size_unboxed(lispobj *where)
{
lispobj header;
- unsigned long length;
+ uword_t length;
header = *where;
length = HeaderValue(header) + 1;
header = *where;
length = HeaderValue(header) + 1;
@@
-774,11
+774,11
@@
size_unboxed(lispobj *where)
\f
/* vector-like objects */
\f
/* vector-like objects */
-static long
+static sword_t
scav_base_string(lispobj *where, lispobj object)
{
struct vector *vector;
scav_base_string(lispobj *where, lispobj object)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
/* NOTE: Strings contain one more byte of data than the length */
/* slot indicates. */
/* NOTE: Strings contain one more byte of data than the length */
/* slot indicates. */
@@
-793,7
+793,7
@@
static lispobj
trans_base_string(lispobj object)
{
struct vector *vector;
trans_base_string(lispobj object)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
gc_assert(is_lisp_pointer(object));
gc_assert(is_lisp_pointer(object));
@@
-808,11
+808,11
@@
trans_base_string(lispobj object)
return copy_large_unboxed_object(object, nwords);
}
return copy_large_unboxed_object(object, nwords);
}
-static long
+static sword_t
size_base_string(lispobj *where)
{
struct vector *vector;
size_base_string(lispobj *where)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
/* NOTE: A string contains one more byte of data (a terminating
* '\0' to help when interfacing with C functions) than indicated
/* NOTE: A string contains one more byte of data (a terminating
* '\0' to help when interfacing with C functions) than indicated
@@
-825,7
+825,7
@@
size_base_string(lispobj *where)
return nwords;
}
return nwords;
}
-static long
+static sword_t
scav_character_string(lispobj *where, lispobj object)
{
struct vector *vector;
scav_character_string(lispobj *where, lispobj object)
{
struct vector *vector;
@@
-859,7
+859,7
@@
trans_character_string(lispobj object)
return copy_large_unboxed_object(object, nwords);
}
return copy_large_unboxed_object(object, nwords);
}
-static long
+static sword_t
size_character_string(lispobj *where)
{
struct vector *vector;
size_character_string(lispobj *where)
{
struct vector *vector;
@@
-880,7
+880,7
@@
static lispobj
trans_vector(lispobj object)
{
struct vector *vector;
trans_vector(lispobj object)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
gc_assert(is_lisp_pointer(object));
gc_assert(is_lisp_pointer(object));
@@
-892,11
+892,11
@@
trans_vector(lispobj object)
return copy_large_object(object, nwords);
}
return copy_large_object(object, nwords);
}
-static long
+static sword_t
size_vector(lispobj *where)
{
struct vector *vector;
size_vector(lispobj *where)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
vector = (struct vector *) where;
length = fixnum_value(vector->length);
vector = (struct vector *) where;
length = fixnum_value(vector->length);
@@
-905,7
+905,7
@@
size_vector(lispobj *where)
return nwords;
}
return nwords;
}
-static long
+static sword_t
scav_vector_nil(lispobj *where, lispobj object)
{
return 2;
scav_vector_nil(lispobj *where, lispobj object)
{
return 2;
@@
-918,18
+918,18
@@
trans_vector_nil(lispobj object)
return copy_unboxed_object(object, 2);
}
return copy_unboxed_object(object, 2);
}
-static long
+static sword_t
size_vector_nil(lispobj *where)
{
/* Just the header word and the length word */
return 2;
}
size_vector_nil(lispobj *where)
{
/* Just the header word and the length word */
return 2;
}
-static long
+static sword_t
scav_vector_bit(lispobj *where, lispobj object)
{
struct vector *vector;
scav_vector_bit(lispobj *where, lispobj object)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
vector = (struct vector *) where;
length = fixnum_value(vector->length);
vector = (struct vector *) where;
length = fixnum_value(vector->length);
@@
-942,7
+942,7
@@
static lispobj
trans_vector_bit(lispobj object)
{
struct vector *vector;
trans_vector_bit(lispobj object)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
gc_assert(is_lisp_pointer(object));
gc_assert(is_lisp_pointer(object));
@@
-953,11
+953,11
@@
trans_vector_bit(lispobj object)
return copy_large_unboxed_object(object, nwords);
}
return copy_large_unboxed_object(object, nwords);
}
-static long
+static sword_t
size_vector_bit(lispobj *where)
{
struct vector *vector;
size_vector_bit(lispobj *where)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
vector = (struct vector *) where;
length = fixnum_value(vector->length);
vector = (struct vector *) where;
length = fixnum_value(vector->length);
@@
-966,11
+966,11
@@
size_vector_bit(lispobj *where)
return nwords;
}
return nwords;
}
-static long
+static sword_t
scav_vector_unsigned_byte_2(lispobj *where, lispobj object)
{
struct vector *vector;
scav_vector_unsigned_byte_2(lispobj *where, lispobj object)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
vector = (struct vector *) where;
length = fixnum_value(vector->length);
vector = (struct vector *) where;
length = fixnum_value(vector->length);
@@
-983,7
+983,7
@@
static lispobj
trans_vector_unsigned_byte_2(lispobj object)
{
struct vector *vector;
trans_vector_unsigned_byte_2(lispobj object)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
gc_assert(is_lisp_pointer(object));
gc_assert(is_lisp_pointer(object));
@@
-994,11
+994,11
@@
trans_vector_unsigned_byte_2(lispobj object)
return copy_large_unboxed_object(object, nwords);
}
return copy_large_unboxed_object(object, nwords);
}
-static long
+static sword_t
size_vector_unsigned_byte_2(lispobj *where)
{
struct vector *vector;
size_vector_unsigned_byte_2(lispobj *where)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
vector = (struct vector *) where;
length = fixnum_value(vector->length);
vector = (struct vector *) where;
length = fixnum_value(vector->length);
@@
-1007,11
+1007,11
@@
size_vector_unsigned_byte_2(lispobj *where)
return nwords;
}
return nwords;
}
-static long
+static sword_t
scav_vector_unsigned_byte_4(lispobj *where, lispobj object)
{
struct vector *vector;
scav_vector_unsigned_byte_4(lispobj *where, lispobj object)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
vector = (struct vector *) where;
length = fixnum_value(vector->length);
vector = (struct vector *) where;
length = fixnum_value(vector->length);
@@
-1024,7
+1024,7
@@
static lispobj
trans_vector_unsigned_byte_4(lispobj object)
{
struct vector *vector;
trans_vector_unsigned_byte_4(lispobj object)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
gc_assert(is_lisp_pointer(object));
gc_assert(is_lisp_pointer(object));
@@
-1034,11
+1034,11
@@
trans_vector_unsigned_byte_4(lispobj object)
return copy_large_unboxed_object(object, nwords);
}
return copy_large_unboxed_object(object, nwords);
}
-static long
+static sword_t
size_vector_unsigned_byte_4(lispobj *where)
{
struct vector *vector;
size_vector_unsigned_byte_4(lispobj *where)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
vector = (struct vector *) where;
length = fixnum_value(vector->length);
vector = (struct vector *) where;
length = fixnum_value(vector->length);
@@
-1048,11
+1048,11
@@
size_vector_unsigned_byte_4(lispobj *where)
}
}
-static long
+static sword_t
scav_vector_unsigned_byte_8(lispobj *where, lispobj object)
{
struct vector *vector;
scav_vector_unsigned_byte_8(lispobj *where, lispobj object)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
vector = (struct vector *) where;
length = fixnum_value(vector->length);
vector = (struct vector *) where;
length = fixnum_value(vector->length);
@@
-1069,7
+1069,7
@@
static lispobj
trans_vector_unsigned_byte_8(lispobj object)
{
struct vector *vector;
trans_vector_unsigned_byte_8(lispobj object)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
gc_assert(is_lisp_pointer(object));
gc_assert(is_lisp_pointer(object));
@@
-1080,11
+1080,11
@@
trans_vector_unsigned_byte_8(lispobj object)
return copy_large_unboxed_object(object, nwords);
}
return copy_large_unboxed_object(object, nwords);
}
-static long
+static sword_t
size_vector_unsigned_byte_8(lispobj *where)
{
struct vector *vector;
size_vector_unsigned_byte_8(lispobj *where)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
vector = (struct vector *) where;
length = fixnum_value(vector->length);
vector = (struct vector *) where;
length = fixnum_value(vector->length);
@@
-1094,11
+1094,11
@@
size_vector_unsigned_byte_8(lispobj *where)
}
}
-static long
+static sword_t
scav_vector_unsigned_byte_16(lispobj *where, lispobj object)
{
struct vector *vector;
scav_vector_unsigned_byte_16(lispobj *where, lispobj object)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
vector = (struct vector *) where;
length = fixnum_value(vector->length);
vector = (struct vector *) where;
length = fixnum_value(vector->length);
@@
-1111,7
+1111,7
@@
static lispobj
trans_vector_unsigned_byte_16(lispobj object)
{
struct vector *vector;
trans_vector_unsigned_byte_16(lispobj object)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
gc_assert(is_lisp_pointer(object));
gc_assert(is_lisp_pointer(object));
@@
-1122,11
+1122,11
@@
trans_vector_unsigned_byte_16(lispobj object)
return copy_large_unboxed_object(object, nwords);
}
return copy_large_unboxed_object(object, nwords);
}
-static long
+static sword_t
size_vector_unsigned_byte_16(lispobj *where)
{
struct vector *vector;
size_vector_unsigned_byte_16(lispobj *where)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
vector = (struct vector *) where;
length = fixnum_value(vector->length);
vector = (struct vector *) where;
length = fixnum_value(vector->length);
@@
-1135,11
+1135,11
@@
size_vector_unsigned_byte_16(lispobj *where)
return nwords;
}
return nwords;
}
-static long
+static sword_t
scav_vector_unsigned_byte_32(lispobj *where, lispobj object)
{
struct vector *vector;
scav_vector_unsigned_byte_32(lispobj *where, lispobj object)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
vector = (struct vector *) where;
length = fixnum_value(vector->length);
vector = (struct vector *) where;
length = fixnum_value(vector->length);
@@
-1152,7
+1152,7
@@
static lispobj
trans_vector_unsigned_byte_32(lispobj object)
{
struct vector *vector;
trans_vector_unsigned_byte_32(lispobj object)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
gc_assert(is_lisp_pointer(object));
gc_assert(is_lisp_pointer(object));
@@
-1163,11
+1163,11
@@
trans_vector_unsigned_byte_32(lispobj object)
return copy_large_unboxed_object(object, nwords);
}
return copy_large_unboxed_object(object, nwords);
}
-static long
+static sword_t
size_vector_unsigned_byte_32(lispobj *where)
{
struct vector *vector;
size_vector_unsigned_byte_32(lispobj *where)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
vector = (struct vector *) where;
length = fixnum_value(vector->length);
vector = (struct vector *) where;
length = fixnum_value(vector->length);
@@
-1177,11
+1177,11
@@
size_vector_unsigned_byte_32(lispobj *where)
}
#if N_WORD_BITS == 64
}
#if N_WORD_BITS == 64
-static long
+static sword_t
scav_vector_unsigned_byte_64(lispobj *where, lispobj object)
{
struct vector *vector;
scav_vector_unsigned_byte_64(lispobj *where, lispobj object)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
vector = (struct vector *) where;
length = fixnum_value(vector->length);
vector = (struct vector *) where;
length = fixnum_value(vector->length);
@@
-1194,7
+1194,7
@@
static lispobj
trans_vector_unsigned_byte_64(lispobj object)
{
struct vector *vector;
trans_vector_unsigned_byte_64(lispobj object)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
gc_assert(is_lisp_pointer(object));
gc_assert(is_lisp_pointer(object));
@@
-1205,11
+1205,11
@@
trans_vector_unsigned_byte_64(lispobj object)
return copy_large_unboxed_object(object, nwords);
}
return copy_large_unboxed_object(object, nwords);
}
-static long
+static sword_t
size_vector_unsigned_byte_64(lispobj *where)
{
struct vector *vector;
size_vector_unsigned_byte_64(lispobj *where)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
vector = (struct vector *) where;
length = fixnum_value(vector->length);
vector = (struct vector *) where;
length = fixnum_value(vector->length);
@@
-1219,11
+1219,11
@@
size_vector_unsigned_byte_64(lispobj *where)
}
#endif
}
#endif
-static long
+static sword_t
scav_vector_single_float(lispobj *where, lispobj object)
{
struct vector *vector;
scav_vector_single_float(lispobj *where, lispobj object)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
vector = (struct vector *) where;
length = fixnum_value(vector->length);
vector = (struct vector *) where;
length = fixnum_value(vector->length);
@@
-1236,7
+1236,7
@@
static lispobj
trans_vector_single_float(lispobj object)
{
struct vector *vector;
trans_vector_single_float(lispobj object)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
gc_assert(is_lisp_pointer(object));
gc_assert(is_lisp_pointer(object));
@@
-1247,11
+1247,11
@@
trans_vector_single_float(lispobj object)
return copy_large_unboxed_object(object, nwords);
}
return copy_large_unboxed_object(object, nwords);
}
-static long
+static sword_t
size_vector_single_float(lispobj *where)
{
struct vector *vector;
size_vector_single_float(lispobj *where)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
vector = (struct vector *) where;
length = fixnum_value(vector->length);
vector = (struct vector *) where;
length = fixnum_value(vector->length);
@@
-1260,11
+1260,11
@@
size_vector_single_float(lispobj *where)
return nwords;
}
return nwords;
}
-static long
+static sword_t
scav_vector_double_float(lispobj *where, lispobj object)
{
struct vector *vector;
scav_vector_double_float(lispobj *where, lispobj object)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
vector = (struct vector *) where;
length = fixnum_value(vector->length);
vector = (struct vector *) where;
length = fixnum_value(vector->length);
@@
-1277,7
+1277,7
@@
static lispobj
trans_vector_double_float(lispobj object)
{
struct vector *vector;
trans_vector_double_float(lispobj object)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
gc_assert(is_lisp_pointer(object));
gc_assert(is_lisp_pointer(object));
@@
-1288,11
+1288,11
@@
trans_vector_double_float(lispobj object)
return copy_large_unboxed_object(object, nwords);
}
return copy_large_unboxed_object(object, nwords);
}
-static long
+static sword_t
size_vector_double_float(lispobj *where)
{
struct vector *vector;
size_vector_double_float(lispobj *where)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
vector = (struct vector *) where;
length = fixnum_value(vector->length);
vector = (struct vector *) where;
length = fixnum_value(vector->length);
@@
-1335,7
+1335,7
@@
static long
size_vector_long_float(lispobj *where)
{
struct vector *vector;
size_vector_long_float(lispobj *where)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
vector = (struct vector *) where;
length = fixnum_value(vector->length);
vector = (struct vector *) where;
length = fixnum_value(vector->length);
@@
-1347,11
+1347,11
@@
size_vector_long_float(lispobj *where)
#ifdef SIMPLE_ARRAY_COMPLEX_SINGLE_FLOAT_WIDETAG
#ifdef SIMPLE_ARRAY_COMPLEX_SINGLE_FLOAT_WIDETAG
-static long
+static sword_t
scav_vector_complex_single_float(lispobj *where, lispobj object)
{
struct vector *vector;
scav_vector_complex_single_float(lispobj *where, lispobj object)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
vector = (struct vector *) where;
length = fixnum_value(vector->length);
vector = (struct vector *) where;
length = fixnum_value(vector->length);
@@
-1364,7
+1364,7
@@
static lispobj
trans_vector_complex_single_float(lispobj object)
{
struct vector *vector;
trans_vector_complex_single_float(lispobj object)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
gc_assert(is_lisp_pointer(object));
gc_assert(is_lisp_pointer(object));
@@
-1375,11
+1375,11
@@
trans_vector_complex_single_float(lispobj object)
return copy_large_unboxed_object(object, nwords);
}
return copy_large_unboxed_object(object, nwords);
}
-static long
+static sword_t
size_vector_complex_single_float(lispobj *where)
{
struct vector *vector;
size_vector_complex_single_float(lispobj *where)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
vector = (struct vector *) where;
length = fixnum_value(vector->length);
vector = (struct vector *) where;
length = fixnum_value(vector->length);
@@
-1390,11
+1390,11
@@
size_vector_complex_single_float(lispobj *where)
#endif
#ifdef SIMPLE_ARRAY_COMPLEX_DOUBLE_FLOAT_WIDETAG
#endif
#ifdef SIMPLE_ARRAY_COMPLEX_DOUBLE_FLOAT_WIDETAG
-static long
+static sword_t
scav_vector_complex_double_float(lispobj *where, lispobj object)
{
struct vector *vector;
scav_vector_complex_double_float(lispobj *where, lispobj object)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
vector = (struct vector *) where;
length = fixnum_value(vector->length);
vector = (struct vector *) where;
length = fixnum_value(vector->length);
@@
-1407,7
+1407,7
@@
static lispobj
trans_vector_complex_double_float(lispobj object)
{
struct vector *vector;
trans_vector_complex_double_float(lispobj object)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
gc_assert(is_lisp_pointer(object));
gc_assert(is_lisp_pointer(object));
@@
-1418,11
+1418,11
@@
trans_vector_complex_double_float(lispobj object)
return copy_large_unboxed_object(object, nwords);
}
return copy_large_unboxed_object(object, nwords);
}
-static long
+static sword_t
size_vector_complex_double_float(lispobj *where)
{
struct vector *vector;
size_vector_complex_double_float(lispobj *where)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
vector = (struct vector *) where;
length = fixnum_value(vector->length);
vector = (struct vector *) where;
length = fixnum_value(vector->length);
@@
-1438,7
+1438,7
@@
static long
scav_vector_complex_long_float(lispobj *where, lispobj object)
{
struct vector *vector;
scav_vector_complex_long_float(lispobj *where, lispobj object)
{
struct vector *vector;
- long length, nwords;
+ sword_t length, nwords;
vector = (struct vector *) where;
length = fixnum_value(vector->length);
vector = (struct vector *) where;
length = fixnum_value(vector->length);
@@
-1507,7
+1507,7
@@
trans_weak_pointer(lispobj object)
return copy;
}
return copy;
}
-static long
+static sword_t
size_weak_pointer(lispobj *where)
{
return WEAK_POINTER_NWORDS;
size_weak_pointer(lispobj *where)
{
return WEAK_POINTER_NWORDS;
@@
-1601,7
+1601,7
@@
weak_hash_entry_alivep (lispobj weakness, lispobj key, lispobj value)
* length) or NULL if it isn't an array of the specified widetag after
* all. */
static inline lispobj *
* length) or NULL if it isn't an array of the specified widetag after
* all. */
static inline lispobj *
-get_array_data (lispobj array, int widetag, unsigned long *length)
+get_array_data (lispobj array, int widetag, uword_t *length)
{
if (is_lisp_pointer(array) &&
(widetag_of(*(lispobj *)native_pointer(array)) == widetag)) {
{
if (is_lisp_pointer(array) &&
(widetag_of(*(lispobj *)native_pointer(array)) == widetag)) {
@@
-1622,16
+1622,16
@@
static void
scav_hash_table_entries (struct hash_table *hash_table)
{
lispobj *kv_vector;
scav_hash_table_entries (struct hash_table *hash_table)
{
lispobj *kv_vector;
- unsigned long kv_length;
+ uword_t kv_length;
lispobj *index_vector;
lispobj *index_vector;
- unsigned long length;
+ uword_t length;
lispobj *next_vector;
lispobj *next_vector;
- unsigned long next_vector_length;
+ uword_t next_vector_length;
lispobj *hash_vector;
lispobj *hash_vector;
- unsigned long hash_vector_length;
+ uword_t hash_vector_length;
lispobj empty_symbol;
lispobj weakness = hash_table->weakness;
lispobj empty_symbol;
lispobj weakness = hash_table->weakness;
- unsigned long i;
+ uword_t i;
kv_vector = get_array_data(hash_table->table,
SIMPLE_VECTOR_WIDETAG, &kv_length);
kv_vector = get_array_data(hash_table->table,
SIMPLE_VECTOR_WIDETAG, &kv_length);
@@
-1691,10
+1691,10
@@
scav_hash_table_entries (struct hash_table *hash_table)
}
}
}
}
-long
+sword_t
scav_vector (lispobj *where, lispobj object)
{
scav_vector (lispobj *where, lispobj object)
{
- unsigned long kv_length;
+ uword_t kv_length;
lispobj *kv_vector;
struct hash_table *hash_table;
lispobj *kv_vector;
struct hash_table *hash_table;
@@
-1716,11
+1716,11
@@
scav_vector (lispobj *where, lispobj object)
* sets the header in %%PUTHASH.
*/
fprintf(stderr,
* sets the header in %%PUTHASH.
*/
fprintf(stderr,
- "Warning: no pointer at %lx in hash table: this indicates "
+ "Warning: no pointer at %p in hash table: this indicates "
"non-fatal corruption caused by concurrent access to a "
"hash-table from multiple threads. Any accesses to "
"hash-tables shared between threads should be protected "
"non-fatal corruption caused by concurrent access to a "
"hash-table from multiple threads. Any accesses to "
"hash-tables shared between threads should be protected "
- "by locks.\n", (unsigned long)&where[2]);
+ "by locks.\n", (uword_t)&where[2]);
// We've scavenged three words.
return 3;
}
// We've scavenged three words.
return 3;
}
@@
-1814,13
+1814,13
@@
scan_weak_hash_table (struct hash_table *hash_table)
{
lispobj *kv_vector;
lispobj *index_vector;
{
lispobj *kv_vector;
lispobj *index_vector;
- unsigned long length = 0; /* prevent warning */
+ uword_t length = 0; /* prevent warning */
lispobj *next_vector;
lispobj *next_vector;
- unsigned long next_vector_length = 0; /* prevent warning */
+ uword_t next_vector_length = 0; /* prevent warning */
lispobj *hash_vector;
lispobj empty_symbol;
lispobj weakness = hash_table->weakness;
lispobj *hash_vector;
lispobj empty_symbol;
lispobj weakness = hash_table->weakness;
- unsigned long i;
+ uword_t i;
kv_vector = get_array_data(hash_table->table,
SIMPLE_VECTOR_WIDETAG, NULL);
kv_vector = get_array_data(hash_table->table,
SIMPLE_VECTOR_WIDETAG, NULL);
@@
-1860,11
+1860,11
@@
scan_weak_hash_tables (void)
* initialization
*/
* initialization
*/
-static long
+static sword_t
scav_lose(lispobj *where, lispobj object)
{
lose("no scavenge function for object 0x%08x (widetag 0x%x)\n",
scav_lose(lispobj *where, lispobj object)
{
lose("no scavenge function for object 0x%08x (widetag 0x%x)\n",
- (unsigned long)object,
+ (uword_t)object,
widetag_of(*where));
return 0; /* bogus return value to satisfy static type checking */
widetag_of(*where));
return 0; /* bogus return value to satisfy static type checking */
@@
-1874,16
+1874,16
@@
static lispobj
trans_lose(lispobj object)
{
lose("no transport function for object 0x%08x (widetag 0x%x)\n",
trans_lose(lispobj object)
{
lose("no transport function for object 0x%08x (widetag 0x%x)\n",
- (unsigned long)object,
+ (uword_t)object,
widetag_of(*(lispobj*)native_pointer(object)));
return NIL; /* bogus return value to satisfy static type checking */
}
widetag_of(*(lispobj*)native_pointer(object)));
return NIL; /* bogus return value to satisfy static type checking */
}
-static long
+static sword_t
size_lose(lispobj *where)
{
lose("no size function for object at 0x%08x (widetag 0x%x)\n",
size_lose(lispobj *where)
{
lose("no size function for object at 0x%08x (widetag 0x%x)\n",
- (unsigned long)where,
+ (uword_t)where,
widetag_of(*where));
return 1; /* bogus return value to satisfy static type checking */
}
widetag_of(*where));
return 1; /* bogus return value to satisfy static type checking */
}
@@
-1896,7
+1896,7
@@
size_lose(lispobj *where)
void
gc_init_tables(void)
{
void
gc_init_tables(void)
{
- unsigned long i, j;
+ uword_t i, j;
/* Set default value in all slots of scavenge table. FIXME
* replace this gnarly sizeof with something based on
/* Set default value in all slots of scavenge table. FIXME
* replace this gnarly sizeof with something based on
@@
-1948,6
+1948,9
@@
gc_init_tables(void)
#ifdef COMPLEX_LONG_FLOAT_WIDETAG
scavtab[COMPLEX_LONG_FLOAT_WIDETAG] = scav_unboxed;
#endif
#ifdef COMPLEX_LONG_FLOAT_WIDETAG
scavtab[COMPLEX_LONG_FLOAT_WIDETAG] = scav_unboxed;
#endif
+#ifdef SIMD_PACK_WIDETAG
+ scavtab[SIMD_PACK_WIDETAG] = scav_unboxed;
+#endif
scavtab[SIMPLE_ARRAY_WIDETAG] = scav_boxed;
scavtab[SIMPLE_BASE_STRING_WIDETAG] = scav_base_string;
#ifdef SIMPLE_CHARACTER_STRING_WIDETAG
scavtab[SIMPLE_ARRAY_WIDETAG] = scav_boxed;
scavtab[SIMPLE_BASE_STRING_WIDETAG] = scav_base_string;
#ifdef SIMPLE_CHARACTER_STRING_WIDETAG
@@
-2186,6
+2189,9
@@
gc_init_tables(void)
transother[SYMBOL_HEADER_WIDETAG] = trans_boxed;
transother[CHARACTER_WIDETAG] = trans_immediate;
transother[SAP_WIDETAG] = trans_unboxed;
transother[SYMBOL_HEADER_WIDETAG] = trans_boxed;
transother[CHARACTER_WIDETAG] = trans_immediate;
transother[SAP_WIDETAG] = trans_unboxed;
+#ifdef SIMD_PACK_WIDETAG
+ transother[SIMD_PACK_WIDETAG] = trans_unboxed;
+#endif
transother[UNBOUND_MARKER_WIDETAG] = trans_immediate;
transother[NO_TLS_VALUE_MARKER_WIDETAG] = trans_immediate;
transother[WEAK_POINTER_WIDETAG] = trans_weak_pointer;
transother[UNBOUND_MARKER_WIDETAG] = trans_immediate;
transother[NO_TLS_VALUE_MARKER_WIDETAG] = trans_immediate;
transother[WEAK_POINTER_WIDETAG] = trans_weak_pointer;
@@
-2329,6
+2335,9
@@
gc_init_tables(void)
sizetab[SYMBOL_HEADER_WIDETAG] = size_boxed;
sizetab[CHARACTER_WIDETAG] = size_immediate;
sizetab[SAP_WIDETAG] = size_unboxed;
sizetab[SYMBOL_HEADER_WIDETAG] = size_boxed;
sizetab[CHARACTER_WIDETAG] = size_immediate;
sizetab[SAP_WIDETAG] = size_unboxed;
+#ifdef SIMD_PACK_WIDETAG
+ sizetab[SIMD_PACK_WIDETAG] = size_unboxed;
+#endif
sizetab[UNBOUND_MARKER_WIDETAG] = size_immediate;
sizetab[NO_TLS_VALUE_MARKER_WIDETAG] = size_immediate;
sizetab[WEAK_POINTER_WIDETAG] = size_weak_pointer;
sizetab[UNBOUND_MARKER_WIDETAG] = size_immediate;
sizetab[NO_TLS_VALUE_MARKER_WIDETAG] = size_immediate;
sizetab[WEAK_POINTER_WIDETAG] = size_weak_pointer;
@@
-2501,6
+2510,9
@@
looks_like_valid_lisp_pointer_p(lispobj pointer, lispobj *start_addr)
#ifdef COMPLEX_LONG_FLOAT_WIDETAG
case COMPLEX_LONG_FLOAT_WIDETAG:
#endif
#ifdef COMPLEX_LONG_FLOAT_WIDETAG
case COMPLEX_LONG_FLOAT_WIDETAG:
#endif
+#ifdef SIMD_PACK_WIDETAG
+ case SIMD_PACK_WIDETAG:
+#endif
case SIMPLE_ARRAY_WIDETAG:
case COMPLEX_BASE_STRING_WIDETAG:
#ifdef COMPLEX_CHARACTER_STRING_WIDETAG
case SIMPLE_ARRAY_WIDETAG:
case COMPLEX_BASE_STRING_WIDETAG:
#ifdef COMPLEX_CHARACTER_STRING_WIDETAG
@@
-2745,23
+2757,23
@@
scrub_thread_control_stack(struct thread *th)
#ifdef LISP_FEATURE_STACK_GROWS_DOWNWARD_NOT_UPWARD
do {
*sp = 0;
#ifdef LISP_FEATURE_STACK_GROWS_DOWNWARD_NOT_UPWARD
do {
*sp = 0;
- } while (((unsigned long)sp--) & (BYTES_ZERO_BEFORE_END - 1));
+ } while (((uword_t)sp--) & (BYTES_ZERO_BEFORE_END - 1));
if ((os_vm_address_t)sp < (hard_guard_page_address + os_vm_page_size))
return;
do {
if (*sp)
goto scrub;
if ((os_vm_address_t)sp < (hard_guard_page_address + os_vm_page_size))
return;
do {
if (*sp)
goto scrub;
- } while (((unsigned long)sp--) & (BYTES_ZERO_BEFORE_END - 1));
+ } while (((uword_t)sp--) & (BYTES_ZERO_BEFORE_END - 1));
#else
do {
*sp = 0;
#else
do {
*sp = 0;
- } while (((unsigned long)++sp) & (BYTES_ZERO_BEFORE_END - 1));
+ } while (((uword_t)++sp) & (BYTES_ZERO_BEFORE_END - 1));
if ((os_vm_address_t)sp >= hard_guard_page_address)
return;
do {
if (*sp)
goto scrub;
if ((os_vm_address_t)sp >= hard_guard_page_address)
return;
do {
if (*sp)
goto scrub;
- } while (((unsigned long)++sp) & (BYTES_ZERO_BEFORE_END - 1));
+ } while (((uword_t)++sp) & (BYTES_ZERO_BEFORE_END - 1));
#endif
#endif /* LISP_FEATURE_C_STACK_IS_CONTROL_STACK */
}
#endif
#endif /* LISP_FEATURE_C_STACK_IS_CONTROL_STACK */
}
@@
-2846,7
+2858,7
@@
static int boxed_registers[] = BOXED_REGISTERS;
*os_context_ctr_addr(context)
#define INTERIOR_POINTER_VARS(name) \
*os_context_ctr_addr(context)
#define INTERIOR_POINTER_VARS(name) \
- unsigned long name##_offset; \
+ uword_t name##_offset; \
int name##_register_pair
#define PAIR_INTERIOR_POINTER(name) \
int name##_register_pair
#define PAIR_INTERIOR_POINTER(name) \
@@
-2875,8
+2887,8
@@
static int boxed_registers[] = BOXED_REGISTERS;
static void
static void
-pair_interior_pointer(os_context_t *context, unsigned long pointer,
- unsigned long *saved_offset, int *register_pair)
+pair_interior_pointer(os_context_t *context, uword_t pointer,
+ uword_t *saved_offset, int *register_pair)
{
int i;
{
int i;
@@
-2887,11
+2899,11
@@
pair_interior_pointer(os_context_t *context, unsigned long pointer,
*/
/* 0x7FFFFFFF on 32-bit platforms;
0x7FFFFFFFFFFFFFFF on 64-bit platforms */
*/
/* 0x7FFFFFFF on 32-bit platforms;
0x7FFFFFFFFFFFFFFF on 64-bit platforms */
- *saved_offset = (((unsigned long)1) << (N_WORD_BITS - 1)) - 1;
+ *saved_offset = (((uword_t)1) << (N_WORD_BITS - 1)) - 1;
*register_pair = -1;
for (i = 0; i < (sizeof(boxed_registers) / sizeof(int)); i++) {
*register_pair = -1;
for (i = 0; i < (sizeof(boxed_registers) / sizeof(int)); i++) {
- unsigned long reg;
- long offset;
+ uword_t reg;
+ sword_t offset;
int index;
index = boxed_registers[i];
int index;
index = boxed_registers[i];