version 1.68, 2002/10/25 15:57:03
|
version 1.69, 2002/11/10 11:24:08
|
Line 441 void print_sizes(Cell sizebyte)
|
Line 441 void print_sizes(Cell sizebyte)
|
1 << ((sizebyte >> 5) & 3)); |
1 << ((sizebyte >> 5) & 3)); |
} |
} |
|
|
|
#ifndef NO_DYNAMIC |
typedef struct { |
typedef struct { |
Label start; |
Label start; |
Cell length; /* excluding the jump */ |
Cell length; /* excluding the jump */ |
Line 449 typedef struct {
|
Line 450 typedef struct {
|
} PrimInfo; |
} PrimInfo; |
|
|
PrimInfo *priminfos; |
PrimInfo *priminfos; |
|
#endif /* defined(NO_DYNAMIC) */ |
Cell npriminfos=0; |
Cell npriminfos=0; |
|
|
|
|
void check_prims(Label symbols1[]) |
void check_prims(Label symbols1[]) |
{ |
{ |
int i; |
int i; |
Line 471 void check_prims(Label symbols1[])
|
Line 474 void check_prims(Label symbols1[])
|
; |
; |
npriminfos = i; |
npriminfos = i; |
|
|
#if defined(IS_NEXT_JUMP) && !defined(DOUBLY_INDIRECT) |
#if defined(IS_NEXT_JUMP) && !defined(NO_DYNAMIC) |
if (no_dynamic) |
if (no_dynamic) |
return; |
return; |
symbols2=engine2(0,0,0,0,0); |
symbols2=engine2(0,0,0,0,0); |
Line 520 Label compile_prim(Label prim)
|
Line 523 Label compile_prim(Label prim)
|
return prim; |
return prim; |
} else |
} else |
return prim-((Label)xts)+((Label)vm_prims); |
return prim-((Label)xts)+((Label)vm_prims); |
#elif defined(IND_JUMP_LENGTH) && !defined(VM_PROFILING) && !defined(INDIRECT_THREADED) |
#elif defined(IND_JUMP_LENGTH) && !defined(NO_DYNAMIC) |
unsigned i; |
unsigned i; |
Address old_code_here=code_here; |
Address old_code_here=code_here; |
static Address last_jump=0; |
static Address last_jump=0; |
Line 559 Label compile_prim(Label prim)
|
Line 562 Label compile_prim(Label prim)
|
#endif /* !defined(DOUBLY_INDIRECT) */ |
#endif /* !defined(DOUBLY_INDIRECT) */ |
} |
} |
|
|
#ifdef PRINT_SUPER_LENGTHS |
#if defined(PRINT_SUPER_LENGTHS) && !defined(NO_DYNAMIC) |
Cell prim_length(Cell prim) |
Cell prim_length(Cell prim) |
{ |
{ |
return priminfos[prim+DOESJUMP+1].length; |
return priminfos[prim+DOESJUMP+1].length; |