summaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorAndrew Waterman2016-04-14 22:23:52 -0700
committerAndrew Waterman2016-04-14 22:58:54 -0700
commit4d9e3007aedffd41fd397e70f151883a967fc3a7 (patch)
tree15e496a0a827c9e8c4681de5b448bf70a327b1aa /src/main
parent3506c54b87abfd6e0269effb4685a58c881a890e (diff)
Improve performance of hashing HasId (e.g. Data)
Diffstat (limited to 'src/main')
-rw-r--r--src/main/scala/Chisel/internal/Builder.scala5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/main/scala/Chisel/internal/Builder.scala b/src/main/scala/Chisel/internal/Builder.scala
index e040b375..73dd5906 100644
--- a/src/main/scala/Chisel/internal/Builder.scala
+++ b/src/main/scala/Chisel/internal/Builder.scala
@@ -46,6 +46,11 @@ private[Chisel] trait HasId {
_parent.foreach(_.addId(this))
private[Chisel] val _id = Builder.idGen.next
+ override def hashCode = _id.toInt
+ override def equals(that: Any) = that match {
+ case x: HasId => _id == x._id
+ case _ => false
+ }
private var _ref: Option[Arg] = None
private[Chisel] def setRef(imm: Arg): Unit = _ref = Some(imm)