93 |
#endif |
#endif |
94 |
|
|
95 |
|
|
96 |
bool saving_system; |
static int gc_time = -1; |
97 |
static int gc_time = -1; |
static int gc_start = 0; |
98 |
static int gc_start = 0; |
int sgc_enabled = 0; |
99 |
int runtime(void); |
int first_protectable_page = 0; |
|
int sgc_enabled=0; |
|
|
int first_protectable_page =0; |
|
100 |
|
|
101 |
|
int runtime(void); |
102 |
|
|
103 |
|
|
104 |
static char *copy_relblock(char *p, int s); |
static char *copy_relblock(char *p, int s); |
105 |
|
|
106 |
#include "page.h" |
#include "page.h" |
107 |
|
|
108 |
|
extern bool saving_system; |
109 |
#ifdef MV |
extern long real_maxpage; |
110 |
|
extern long new_holepage; |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
long real_maxpage; |
|
|
long new_holepage; |
|
111 |
|
|
112 |
#define available_pages \ |
#define available_pages \ |
113 |
(real_maxpage-page(heap_end)-new_holepage-2*nrbpage-real_maxpage/32) |
(real_maxpage-page(heap_end)-new_holepage-2*nrbpage-real_maxpage/32) |
659 |
object x; |
object x; |
660 |
struct typemanager *tm; |
struct typemanager *tm; |
661 |
register long *j; |
register long *j; |
662 |
long *top=topv,*bottom=bottomv; |
long *top = (long *) topv, *bottom = (long *) bottomv; |
663 |
|
|
664 |
/* if either of these happens we are marking the C stack |
/* if either of these happens we are marking the C stack |
665 |
and need to use a local */ |
and need to use a local */ |
672 |
*/ |
*/ |
673 |
|
|
674 |
if (offset) |
if (offset) |
675 |
mark_stack_carefully((((char *) top) +offset),bottom,0); |
mark_stack_carefully ( (((char *) top) +offset), bottom, 0 ); |
676 |
|
|
677 |
for (j=top ; j >= bottom ; j--) { |
for (j=top ; j >= bottom ; j--) { |
678 |
if (VALID_DATA_ADDRESS_P(*j) |
if (VALID_DATA_ADDRESS_P(*j) |