From f33bd6d03bdfd58e6608b01766c55985e9277f69 Mon Sep 17 00:00:00 2001 From: slava Date: Tue, 28 Feb 2006 05:26:45 +0000 Subject: [PATCH] Disable branch splitting --- TODO.FACTOR.txt | 2 ++ library/compiler/linearizer.factor | 20 +++++++++++--------- library/compiler/ppc/generator.factor | 3 +++ library/compiler/vops.factor | 4 ++++ library/compiler/x86/generator.factor | 3 +++ library/inference/call-optimizers.factor | 20 ++++++++++---------- library/inference/inline-methods.factor | 8 +++++--- library/inference/kill-literals.factor | 20 +++----------------- library/inference/optimizer.factor | 6 +++--- library/inference/split-nodes.factor | 4 ++-- library/test/compiler/generic.factor | 14 ++++++++------ library/test/compiler/simple.factor | 4 ++++ 12 files changed, 58 insertions(+), 50 deletions(-) diff --git a/TODO.FACTOR.txt b/TODO.FACTOR.txt index 2fcbfd791c..ffe9412ef4 100644 --- a/TODO.FACTOR.txt +++ b/TODO.FACTOR.txt @@ -53,6 +53,8 @@ - the invalid recursion form case needs to be fixed, for inlines too - code gc - compiled gc check slows things down +- fix branch folding +- remove branch splitting + misc: diff --git a/library/compiler/linearizer.factor b/library/compiler/linearizer.factor index 86863e0629..2183e9b5d1 100644 --- a/library/compiler/linearizer.factor +++ b/library/compiler/linearizer.factor @@ -2,7 +2,7 @@ ! See http://factor.sf.net/license.txt for BSD license. IN: compiler-frontend USING: arrays compiler-backend errors generic hashtables -inference kernel lists math namespaces prettyprint sequences +inference kernel math namespaces prettyprint sequences strings words ; : in-1 0 0 %peek-d , ; @@ -68,10 +68,9 @@ M: #label linearize* ( node -- ) [ node-param "if-intrinsic" word-prop ] [ drop f ] if ; : linearize-if ( node label -- ) - #! Assume the quotation emits a VOP that jumps to the label - #! if some condition holds; we linearize the false branch, - #! then the label, then the true branch. - >r node-children first2 linearize* r> %label , linearize* ; +