From f7b3d3f4b4ee4a8153fdaf8d80f48d50f019e287 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 25 Oct 2017 17:18:32 -0600 Subject: [PATCH] Revert "JIT: fix inline allocation for large vectors" This reverts commit ce9894c8bfda0e999d5fdcec33a96ba098976e43. I don't immediately see what has gone wrong, so reverting for now. --- pkgs/racket-test-core/tests/racket/jitinline.rktl | 12 ------------ racket/src/racket/src/jitinline.c | 5 +---- 2 files changed, 1 insertion(+), 16 deletions(-) diff --git a/pkgs/racket-test-core/tests/racket/jitinline.rktl b/pkgs/racket-test-core/tests/racket/jitinline.rktl index ed450aa203..c0d8f967e5 100644 --- a/pkgs/racket-test-core/tests/racket/jitinline.rktl +++ b/pkgs/racket-test-core/tests/racket/jitinline.rktl @@ -914,18 +914,6 @@ )) -;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Make sure that the JIT doesn't try to inline -;; a vector allocation that is too large - -(parameterize ([current-namespace (make-base-namespace)]) - (let loop ([i 10]) - ((eval `(lambda (x) (vector x ,@(for/list ([j (in-range i)]) - j)))) - i) - (when (i . < . 100000) - (loop (floor (* i #e1.25)))))) - ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Check JIT handling of structure-reference sequences diff --git a/racket/src/racket/src/jitinline.c b/racket/src/racket/src/jitinline.c index d1d8ccc3ef..da8899e112 100644 --- a/racket/src/racket/src/jitinline.c +++ b/racket/src/racket/src/jitinline.c @@ -5250,10 +5250,7 @@ static int generate_vector_alloc(mz_jit_state *jitter, Scheme_Object *rator, c = 2; } else { c = app->num_args; - if (c > 256) { - /* Too big for inline alloc */ - return scheme_generate_app(app, NULL, c, c, jitter, 0, 0, 0, 0); - } else if (c) + if (c) scheme_generate_app(app, NULL, c, c, jitter, 0, 0, 0, 2); /* sync'd below */ } CHECK_LIMIT();