From 4d9e3007aedffd41fd397e70f151883a967fc3a7 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Thu, 14 Apr 2016 22:23:52 -0700 Subject: Improve performance of hashing HasId (e.g. Data) --- src/main/scala/Chisel/internal/Builder.scala | 5 +++++ 1 file changed, 5 insertions(+) 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) -- cgit v1.2.3