From 87e9fbb34c274969e003626bbd8163e3c7ad3118 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Tue, 21 Oct 2008 03:21:29 -0500 Subject: [PATCH] Comparison operations --- basis/compiler/codegen/codegen.factor | 45 +++++++++++------ basis/cpu/architecture/architecture.factor | 8 ++- basis/cpu/x86/32/32.factor | 8 ++- basis/cpu/x86/64/64.factor | 13 +++-- .../cpu/x86/architecture/architecture.factor | 50 +++++++++++++++---- 5 files changed, 91 insertions(+), 33 deletions(-) diff --git a/basis/compiler/codegen/codegen.factor b/basis/compiler/codegen/codegen.factor index 1bc3f4339f..eca909baf7 100644 --- a/basis/compiler/codegen/codegen.factor +++ b/basis/compiler/codegen/codegen.factor @@ -21,6 +21,9 @@ SYMBOL: registers : register ( vreg -- operand ) registers get at [ "Bad value" throw ] unless* ; +: ?register ( obj -- operand ) + dup vreg? [ register ] when ; + : generate-insns ( insns -- code ) [ [ @@ -64,7 +67,7 @@ SYMBOL: labels labels get [ drop