Revert "Add real->double-flonum to the JIT."

This reverts commit 2afff3d210.

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 7dfe1f636f)
This commit is contained in:
Vincent St-Amour 2011-07-11 13:54:06 -04:00 committed by Eli Barzilay
parent 036f7bec06
commit cef91e1527
2 changed files with 1 additions and 6 deletions

View File

@ -1108,8 +1108,7 @@ int scheme_generate_inlined_unary(mz_jit_state *jitter, Scheme_App2_Rec *app, in
|| IS_NAMED_PRIM(rator, "fllog")) { || IS_NAMED_PRIM(rator, "fllog")) {
scheme_generate_arith(jitter, rator, app->rand, NULL, 1, ARITH_FLUNOP, 0, 0, NULL, 1, 0, -1, NULL); scheme_generate_arith(jitter, rator, app->rand, NULL, 1, ARITH_FLUNOP, 0, 0, NULL, 1, 0, -1, NULL);
return 1; return 1;
} else if (IS_NAMED_PRIM(rator, "exact->inexact") } else if (IS_NAMED_PRIM(rator, "exact->inexact")) {
|| IS_NAMED_PRIM(rator, "real->double-flonum")) {
scheme_generate_arith(jitter, rator, app->rand, NULL, 1, ARITH_EX_INEX, 0, 0, NULL, 1, 0, 0, NULL); scheme_generate_arith(jitter, rator, app->rand, NULL, 1, ARITH_EX_INEX, 0, 0, NULL, 1, 0, 0, NULL);
return 1; return 1;
} else if (IS_NAMED_PRIM(rator, "unsafe-fx->fl")) { } else if (IS_NAMED_PRIM(rator, "unsafe-fx->fl")) {

View File

@ -374,10 +374,6 @@ scheme_init_number (Scheme_Env *env)
scheme_add_global_constant("single-flonum?", p, env); scheme_add_global_constant("single-flonum?", p, env);
p = scheme_make_folding_prim(real_to_single_flonum, "real->single-flonum", 1, 1, 1); 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); scheme_add_global_constant("real->single-flonum", p, env);
p = scheme_make_folding_prim(real_to_double_flonum, "real->double-flonum", 1, 1, 1); p = scheme_make_folding_prim(real_to_double_flonum, "real->double-flonum", 1, 1, 1);