summaryrefslogtreecommitdiff
path: root/src/main/scala/Chisel
diff options
context:
space:
mode:
authorAndrew Waterman2015-08-01 21:34:08 -0700
committerAndrew Waterman2015-08-01 21:34:08 -0700
commita4511d3904356cfd61706b8220b9533637c244f1 (patch)
tree4f5e8d2d7a18c37206d0b1bfc12edecca092c40d /src/main/scala/Chisel
parent00c0e127dc795b69c4b4ae7565e807f880823bb9 (diff)
When reflecting, sort fields for determinism
The damn JVM isn't deterministic.
Diffstat (limited to 'src/main/scala/Chisel')
-rw-r--r--src/main/scala/Chisel/Core.scala3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/main/scala/Chisel/Core.scala b/src/main/scala/Chisel/Core.scala
index 13b35aa1..161c2842 100644
--- a/src/main/scala/Chisel/Core.scala
+++ b/src/main/scala/Chisel/Core.scala
@@ -1071,7 +1071,8 @@ abstract class Module(_clock: Clock = null, _reset: Bool = null) extends Id {
for ((name, field) <- io.namedElts)
_namespace.name(name)
- for (m <- getClass.getMethods; if isPublicVal(m)) {
+ val methods = getClass.getMethods.sortWith(_.getName > _.getName)
+ for (m <- methods; if isPublicVal(m)) {
m.invoke(this) match {
case module: Module =>
setRefForId(module, m.getName)