From 9d43e2156325c79759a854f9d288b71a8f78ea30 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Fri, 8 Mar 2013 12:30:37 -0800 Subject: [PATCH] compiler.cfg.write-barrier: more use of hash-sets. --- .../cfg/write-barrier/write-barrier.factor | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/basis/compiler/cfg/write-barrier/write-barrier.factor b/basis/compiler/cfg/write-barrier/write-barrier.factor index 6f8e437aa9..eaf8658e94 100644 --- a/basis/compiler/cfg/write-barrier/write-barrier.factor +++ b/basis/compiler/cfg/write-barrier/write-barrier.factor @@ -20,13 +20,13 @@ SYMBOL: copies GENERIC: eliminate-write-barrier ( insn -- ? ) : fresh-allocation ( vreg -- ) - fresh-allocations get conjoin ; + fresh-allocations get adjoin ; M: ##allot eliminate-write-barrier dst>> fresh-allocation t ; : mutated-object ( vreg -- ) - resolve-copy mutated-objects get conjoin ; + resolve-copy mutated-objects get adjoin ; M: ##set-slot eliminate-write-barrier obj>> mutated-object t ; @@ -36,8 +36,8 @@ M: ##set-slot-imm eliminate-write-barrier : needs-write-barrier? ( insn -- ? ) resolve-copy { - [ fresh-allocations get key? not ] - [ mutated-objects get key? ] + [ fresh-allocations get in? not ] + [ mutated-objects get in? ] } 1&& ; M: ##write-barrier eliminate-write-barrier @@ -47,7 +47,7 @@ M: ##write-barrier-imm eliminate-write-barrier src>> needs-write-barrier? ; M: gc-map-insn eliminate-write-barrier - fresh-allocations get clear-assoc ; + fresh-allocations get clear-set ; M: ##copy eliminate-write-barrier [ src>> resolve-copy ] [ dst>> ] bi copies get set-at t ; @@ -55,8 +55,8 @@ M: ##copy eliminate-write-barrier M: insn eliminate-write-barrier drop t ; : write-barriers-step ( insns -- insns' ) - H{ } clone fresh-allocations set - H{ } clone mutated-objects set + HS{ } clone fresh-allocations set + HS{ } clone mutated-objects set H{ } clone copies set [ eliminate-write-barrier ] filter! ;