Jit places support
svn: r16401
This commit is contained in:
parent
38fe4782b7
commit
8a45f34acd
|
@ -20,10 +20,10 @@ extern MZ_DLLIMPORT int GC_is_marked(void *);
|
|||
#define NODE_STARTS_OFFSET 1
|
||||
#define NODE_GCABLE_OFFSET 2
|
||||
|
||||
static void **tree;
|
||||
static THREAD_LOCAL void **tree;
|
||||
static THREAD_LOCAL int during_set;
|
||||
|
||||
static int do_clear_symbols(void **t, unsigned long start, int offset, unsigned long addr, int clearing);
|
||||
static int during_set;
|
||||
|
||||
static void *find_symbol(unsigned long v)
|
||||
{
|
||||
|
|
|
@ -462,6 +462,9 @@ static Scheme_Env *place_instance_init_post_kernel() {
|
|||
scheme_init_parameterization(env);
|
||||
scheme_init_expand_observe(env);
|
||||
scheme_init_place(env);
|
||||
#if defined(MZ_USE_PLACES)
|
||||
scheme_jit_fill_threadlocal_table();
|
||||
#endif
|
||||
|
||||
#ifndef DONT_USE_FOREIGN
|
||||
scheme_init_foreign(env);
|
||||
|
|
|
@ -268,6 +268,9 @@ void scheme_jit_fill_threadlocal_table();
|
|||
On x86, the thread-local table pointer is loaded on entry to the
|
||||
JIT world into a C stack slot. On x86_64, it is loaded into the
|
||||
callee-saved R14 (and the old value is saved on the C stack). */
|
||||
#ifdef MZ_USE_PLACES
|
||||
#define JIT_THREAD_LOCAL
|
||||
#endif
|
||||
|
||||
#ifdef JIT_THREAD_LOCAL
|
||||
# define tl_MZ_RUNSTACK 0
|
||||
|
|
|
@ -2356,6 +2356,7 @@ void scheme_finish_application(Scheme_App_Rec *app);
|
|||
|
||||
Scheme_Object *scheme_jit_expr(Scheme_Object *);
|
||||
Scheme_Object *scheme_jit_closure(Scheme_Object *, Scheme_Object *context);
|
||||
void scheme_jit_fill_threadlocal_table();
|
||||
|
||||
struct Start_Module_Args;
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user