count future allocation toward GC trigger
svn: r16919
This commit is contained in:
parent
684debc749
commit
314faa6690
|
@ -726,6 +726,12 @@ void *GC_make_jit_nursery_page() {
|
|||
NewGC *gc = GC_get_GC();
|
||||
mpage *new_mpage;
|
||||
|
||||
if((gc->gen0.current_size + THREAD_LOCAL_PAGE_SIZE) >= gc->gen0.max_size) {
|
||||
if (!gc->dumping_avoid_collection)
|
||||
garbage_collect(gc, 0);
|
||||
}
|
||||
gc->gen0.current_size += THREAD_LOCAL_PAGE_SIZE;
|
||||
|
||||
{
|
||||
new_mpage = gen0_create_new_nursery_mpage(gc, THREAD_LOCAL_PAGE_SIZE);
|
||||
|
||||
|
|
|
@ -177,6 +177,7 @@ Scheme_Config *scheme_init_error_escape_proc(Scheme_Config *config)
|
|||
%c = unicode char
|
||||
%d = int
|
||||
%ld = long int
|
||||
%lx = long int
|
||||
%o = int, octal
|
||||
%f = double
|
||||
%% = percent
|
||||
|
@ -333,9 +334,14 @@ static long sch_vsprintf(char *s, long maxlen, const char *msg, va_list args, ch
|
|||
case 'l':
|
||||
{
|
||||
long d;
|
||||
int as_hex;
|
||||
as_hex = (msg[j] == 'x');
|
||||
j++;
|
||||
d = ints[ip++];
|
||||
sprintf(buf, "%ld", d);
|
||||
if (as_hex)
|
||||
sprintf(buf, "%lx", d);
|
||||
else
|
||||
sprintf(buf, "%ld", d);
|
||||
t = buf;
|
||||
tlen = strlen(t);
|
||||
}
|
||||
|
|
|
@ -721,6 +721,7 @@ void *worker_thread_future_loop(void *arg)
|
|||
pthread_mutex_unlock(&g_future_queue_mutex);
|
||||
|
||||
ft->threadid = pthread_self();
|
||||
ft->thread_short_id = id;
|
||||
|
||||
//Decrement the number of available pool threads
|
||||
g_num_avail_threads--;
|
||||
|
@ -992,7 +993,8 @@ static void do_invoke_rtcall(future_t *future)
|
|||
}
|
||||
|
||||
scheme_log(scheme_main_logger, SCHEME_LOG_DEBUG, 0,
|
||||
"future: waiting for runtime at %f: %s",
|
||||
"future: %d waiting for runtime at %f: %s",
|
||||
(long)future->thread_short_id,
|
||||
future->time_of_request,
|
||||
src);
|
||||
}
|
||||
|
|
|
@ -52,6 +52,7 @@ typedef struct future_t {
|
|||
|
||||
int id;
|
||||
pthread_t threadid;
|
||||
int thread_short_id;
|
||||
int status;
|
||||
int work_completed;
|
||||
pthread_cond_t *can_continue_cv;
|
||||
|
|
Loading…
Reference in New Issue
Block a user