We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 470cacb commit f769e41Copy full SHA for f769e41
src/builtins.c
@@ -432,15 +432,14 @@ JL_CALLABLE(jl_f_apply)
432
}
433
434
jl_value_t **newargs;
435
- if (n > jl_page_size/sizeof(jl_value_t*)) {
+ int onstack = (n < jl_page_size/sizeof(jl_value_t*));
436
+ JL_GC_PUSHARGS(newargs, onstack ? n : 1);
437
+ if (!onstack) {
438
// put arguments on the heap if there are too many
439
jl_value_t *argarr = (jl_value_t*)jl_alloc_cell_1d(n);
- JL_GC_PUSH1(&argarr);
440
+ newargs[0] = argarr;
441
newargs = jl_cell_data(argarr);
442
- else {
- JL_GC_PUSHARGS(newargs, n);
443
- }
444
n = 0;
445
for(i=1; i < nargs; i++) {
446
if (jl_is_tuple(args[i])) {
0 commit comments