From cef91e1527c4ab37756149b54822258878c20eec Mon Sep 17 00:00:00 2001 From: Vincent St-Amour Date: Mon, 11 Jul 2011 13:54:06 -0400 Subject: [PATCH] Revert "Add real->double-flonum to the JIT." This reverts commit 2afff3d2102761815872f67d11dec0688effca48. This commit caused real->double-flonum to have a different behavior when jitted as opposed to interpreted, and caused real->single-flonum to break in some cases. Merge to 5.1.2. (cherry picked from commit 7dfe1f636f94b0eff4bab90db9d9d13d620bae43) --- src/racket/src/jitinline.c | 3 +-- src/racket/src/number.c | 4 ---- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/src/racket/src/jitinline.c b/src/racket/src/jitinline.c index 58ef3ac8a5..06e7d32dcd 100644 --- a/src/racket/src/jitinline.c +++ b/src/racket/src/jitinline.c @@ -1108,8 +1108,7 @@ int scheme_generate_inlined_unary(mz_jit_state *jitter, Scheme_App2_Rec *app, in || IS_NAMED_PRIM(rator, "fllog")) { scheme_generate_arith(jitter, rator, app->rand, NULL, 1, ARITH_FLUNOP, 0, 0, NULL, 1, 0, -1, NULL); return 1; - } else if (IS_NAMED_PRIM(rator, "exact->inexact") - || IS_NAMED_PRIM(rator, "real->double-flonum")) { + } else if (IS_NAMED_PRIM(rator, "exact->inexact")) { scheme_generate_arith(jitter, rator, app->rand, NULL, 1, ARITH_EX_INEX, 0, 0, NULL, 1, 0, 0, NULL); return 1; } else if (IS_NAMED_PRIM(rator, "unsafe-fx->fl")) { diff --git a/src/racket/src/number.c b/src/racket/src/number.c index cd0081bda5..02b9751214 100644 --- a/src/racket/src/number.c +++ b/src/racket/src/number.c @@ -374,10 +374,6 @@ scheme_init_number (Scheme_Env *env) scheme_add_global_constant("single-flonum?", p, env); p = scheme_make_folding_prim(real_to_single_flonum, "real->single-flonum", 1, 1, 1); - if (scheme_can_inline_fp_op()) - SCHEME_PRIM_PROC_FLAGS(p) |= SCHEME_PRIM_IS_UNARY_INLINED; - else - SCHEME_PRIM_PROC_FLAGS(p) |= SCHEME_PRIM_SOMETIMES_INLINED; scheme_add_global_constant("real->single-flonum", p, env); p = scheme_make_folding_prim(real_to_double_flonum, "real->double-flonum", 1, 1, 1);