JL_DLLEXPORT jl_methtable_t *jl_new_method_table(jl_sym_t *name, jl_module_t *module) { jl_methtable_t *mt = (jl_methtable_t*)jl_gc_allocobj(sizeof(jl_methtable_t)); jl_set_typeof(mt, jl_methtable_type); mt->name = jl_demangle_typename(name); mt->module = module; mt->defs.unknown = jl_nothing; mt->cache.unknown = jl_nothing; mt->max_args = 0; mt->kwsorter = NULL; #ifdef JL_GF_PROFILE mt->ncalls = 0; #endif return mt; }
JL_DLLEXPORT jl_methtable_t *jl_new_method_table(jl_sym_t *name, jl_module_t *module) { jl_ptls_t ptls = jl_get_ptls_states(); jl_methtable_t *mt = (jl_methtable_t*)jl_gc_alloc(ptls, sizeof(jl_methtable_t), jl_methtable_type); mt->name = jl_demangle_typename(name); mt->module = module; mt->defs.unknown = jl_nothing; mt->cache.unknown = jl_nothing; mt->max_args = 0; mt->kwsorter = NULL; JL_MUTEX_INIT(&mt->writelock); return mt; }