diff options
| author | Andrew Waterman | 2016-04-14 22:23:52 -0700 |
|---|---|---|
| committer | Andrew Waterman | 2016-04-14 22:58:54 -0700 |
| commit | 4d9e3007aedffd41fd397e70f151883a967fc3a7 (patch) | |
| tree | 15e496a0a827c9e8c4681de5b448bf70a327b1aa /src | |
| parent | 3506c54b87abfd6e0269effb4685a58c881a890e (diff) | |
Improve performance of hashing HasId (e.g. Data)
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/scala/Chisel/internal/Builder.scala | 5 |
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) |
