From dad79768db7a899b071a49a63466003c7d7e80da Mon Sep 17 00:00:00 2001 From: azidar Date: Tue, 14 Jul 2015 11:14:47 -0700 Subject: Fixed performance bug in backend. Added renaming --- src/main/stanza/errors.stanza | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/main/stanza/errors.stanza') diff --git a/src/main/stanza/errors.stanza b/src/main/stanza/errors.stanza index 608b47d2..e36ec06d 100644 --- a/src/main/stanza/errors.stanza +++ b/src/main/stanza/errors.stanza @@ -774,7 +774,7 @@ public defn check-low-form (c:Circuit) -> Circuit : for p in ports(m) do : check-low-form-t(info(p),type(p),name(p)) - val assigned? = Vector() + val assigned? = HashTable(symbol-hash) val insts = Vector() val mems = Vector() defn check-correct-exp (info:FileInfo,e:Expression) -> False : @@ -811,8 +811,8 @@ public defn check-low-form (c:Circuit) -> Circuit : match(loc(s)) : (e:Ref|Subfield) : val n* = to-symbol $ to-string $ e - if contains?(assigned?,n*) : add(errors,SingleAssignment(info(s),n*)) - else : add(assigned?,to-symbol $ to-string $ e) + if key?(assigned?,n*) : add(errors,SingleAssignment(info(s),n*)) + else : assigned?[to-symbol $ to-string $ e] = true (e) : check-correct-exp(info(s),e) (s:EmptyStmt) : false (s:Begin) : do(check-low-form-s,s) -- cgit v1.2.3