X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fbacktrace.c;h=18f93a021c4a2fce6a2c98e68b8fa28a5651b9eb;hb=94ac5b7c3ff37850210b6fc9a7593cf1c5752993;hp=c0c615b34f7f5df1bb1d6cb45957511affbe94c8;hpb=6fb6e66f531dfb6140ec3e0cc8f84f6ecd1927ca;p=sbcl.git diff --git a/src/runtime/backtrace.c b/src/runtime/backtrace.c index c0c615b..18f93a0 100644 --- a/src/runtime/backtrace.c +++ b/src/runtime/backtrace.c @@ -66,14 +66,14 @@ code_pointer(lispobj object) headerp = (lispobj *) native_pointer(object); header = *headerp; - type = TypeOf(header); + type = widetag_of(header); switch (type) { - case type_CodeHeader: + case CODE_HEADER_WIDETAG: break; - case type_ReturnPcHeader: - case type_SimpleFunHeader: - case type_ClosureFunHeader: + case RETURN_PC_HEADER_WIDETAG: + case SIMPLE_FUN_HEADER_WIDETAG: + case CLOSURE_FUN_HEADER_WIDETAG: len = HEADER_LENGTH(header); if (len == 0) headerp = NULL; @@ -90,7 +90,6 @@ code_pointer(lispobj object) static boolean cs_valid_pointer_p(struct call_frame *pointer) { - /* lose("stub: hasn't been updated for X86"); */ return (((char *) CONTROL_STACK_START <= (char *) pointer) && ((char *) pointer < (char *) current_control_stack_pointer)); } @@ -113,7 +112,7 @@ call_info_from_context(struct call_info *info, os_context_t *context) unsigned long pc; info->interrupted = 1; - if (lowtagof(*os_context_register_addr(context, reg_CODE)) + if (lowtag_of(*os_context_register_addr(context, reg_CODE)) == FUN_POINTER_LOWTAG) { /* We tried to call a function, but crapped out before $CODE could * be fixed up. Probably an undefined function. */ @@ -221,18 +220,18 @@ backtrace(int nframes) header = (struct simple_fun *) native_pointer(function); name = header->name; - if (lowtagof(name) == OTHER_POINTER_LOWTAG) { + if (lowtag_of(name) == OTHER_POINTER_LOWTAG) { lispobj *object; object = (lispobj *) native_pointer(name); - if (TypeOf(*object) == type_SymbolHeader) { + if (widetag_of(*object) == SYMBOL_HEADER_WIDETAG) { struct symbol *symbol; symbol = (struct symbol *) object; object = (lispobj *) native_pointer(symbol->name); } - if (TypeOf(*object) == type_SimpleString) { + if (widetag_of(*object) == SIMPLE_STRING_WIDETAG) { struct vector *string; string = (struct vector *) object;