From 08b277e892827200d908b974ea7c273c8212321f Mon Sep 17 00:00:00 2001
From: Slava Pestov <slava@slava-pestovs-macbook-pro.local>
Date: Mon, 3 Nov 2008 01:52:55 -0600
Subject: [PATCH] Fix alias anlaysis bug: result of ##box-alien and ##box-float
 did not get an AC, so calling hi-tag would not compile

---
 .../cfg/alias-analysis/alias-analysis-tests.factor     |  8 ++++++++
 .../compiler/cfg/alias-analysis/alias-analysis.factor  | 10 ++++++++++
 2 files changed, 18 insertions(+)

diff --git a/basis/compiler/cfg/alias-analysis/alias-analysis-tests.factor b/basis/compiler/cfg/alias-analysis/alias-analysis-tests.factor
index 2f0649ed40..c7094c8c36 100644
--- a/basis/compiler/cfg/alias-analysis/alias-analysis-tests.factor
+++ b/basis/compiler/cfg/alias-analysis/alias-analysis-tests.factor
@@ -3,6 +3,14 @@ compiler.cfg.alias-analysis cpu.architecture tools.test
 kernel ;
 IN: compiler.cfg.alias-analysis.tests
 
+[ ] [
+    {
+        T{ ##peek f V int-regs 2 D 1 f }
+        T{ ##box-alien f V int-regs 1 V int-regs 2 }
+        T{ ##slot-imm f V int-regs 3 V int-regs 1 0 3 }
+    } alias-analysis drop
+] unit-test
+
 [ ] [
     {
         T{ ##load-indirect f V int-regs 1 "hello" }
diff --git a/basis/compiler/cfg/alias-analysis/alias-analysis.factor b/basis/compiler/cfg/alias-analysis/alias-analysis.factor
index e68d304047..98569d868c 100644
--- a/basis/compiler/cfg/alias-analysis/alias-analysis.factor
+++ b/basis/compiler/cfg/alias-analysis/alias-analysis.factor
@@ -229,6 +229,16 @@ M: ##allot analyze-aliases*
     #! object.
     dup dst>> set-new-ac ;
 
+M: ##box-float analyze-aliases*
+    #! A freshly allocated object is distinct from any other
+    #! object.
+    dup dst>> set-new-ac ;
+
+M: ##box-alien analyze-aliases*
+    #! A freshly allocated object is distinct from any other
+    #! object.
+    dup dst>> set-new-ac ;
+
 M: ##read analyze-aliases*
     dup dst>> set-heap-ac
     dup [ dst>> ] [ insn-slot# ] [ insn-object ] tri