jl_tuple_t *jl_tuple2(void *a, void *b) { jl_tuple_t *t = (jl_tuple_t*)alloc_4w(); t->type = (jl_type_t*)jl_tuple_type; jl_tuple_set_len_unsafe(t, 2); jl_tupleset(t, 0, a); jl_tupleset(t, 1, b); return t; }
jl_tuple_t *jl_tuple2(void *a, void *b) { jl_tuple_t *t = (jl_tuple_t*)alloc_4w(); t->type = (jl_type_t*)jl_tuple_type; t->length = 2; jl_tupleset(t, 0, a); jl_tupleset(t, 1, b); return t; }
DLLEXPORT jl_function_t *jl_new_closure(jl_fptr_t fptr, jl_value_t *env, jl_lambda_info_t *linfo) { jl_function_t *f = (jl_function_t*)alloc_4w(); f->type = (jl_value_t*)jl_function_type; f->fptr = (fptr!=NULL ? fptr : linfo->fptr); f->env = env; f->linfo = linfo; return f; }
jl_expr_t *jl_exprn(jl_sym_t *head, size_t n) { jl_array_t *ar = n==0 ? (jl_array_t*)jl_an_empty_cell : jl_alloc_cell_1d(n); JL_GC_PUSH1(&ar); jl_expr_t *ex = (jl_expr_t*)alloc_4w(); ex->type = (jl_value_t*)jl_expr_type; ex->head = head; ex->args = ar; ex->etype = (jl_value_t*)jl_any_type; JL_GC_POP(); return ex; }
jl_tuple_t *jl_tuple2(void *a, void *b) { #ifdef OVERLAP_TUPLE_LEN jl_tuple_t *t = (jl_tuple_t*)alloc_3w(); #else jl_tuple_t *t = (jl_tuple_t*)alloc_4w(); #endif t->type = (jl_value_t*)jl_tuple_type; jl_tuple_set_len_unsafe(t, 2); jl_tupleset(t, 0, a); jl_tupleset(t, 1, b); return t; }