aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Laeufer2020-07-28 09:31:55 -0700
committerKevin Laeufer2020-07-29 15:26:30 -0700
commitff509e6a917269f995e28f228a23a7fb6e947363 (patch)
tree389d080c53e30cb49b407508c2ab860935a32354
parent6b71172e94e9fc786d33a34b75395c4f08817b6a (diff)
[2.13] explicitly use a parallel vector
-rw-r--r--build.sbt7
-rw-r--r--src/main/scala/firrtl/stage/phases/Compiler.scala5
2 files changed, 10 insertions, 2 deletions
diff --git a/build.sbt b/build.sbt
index 616bcbd2..b2874ae6 100644
--- a/build.sbt
+++ b/build.sbt
@@ -52,6 +52,13 @@ lazy val commonSettings = Seq(
"org.json4s" %% "json4s-native" % "3.6.8",
"org.apache.commons" % "commons-text" % "1.8"
),
+ // starting with scala 2.13 the parallel collections are separate from the standard library
+ libraryDependencies ++= {
+ CrossVersion.partialVersion(scalaVersion.value) match {
+ case Some((2, major)) if major <= 12 => Seq()
+ case _ => Seq("org.scala-lang.modules" %% "scala-parallel-collections" % "0.2.0")
+ }
+ },
resolvers ++= Seq(
Resolver.sonatypeRepo("snapshots"),
Resolver.sonatypeRepo("releases")
diff --git a/src/main/scala/firrtl/stage/phases/Compiler.scala b/src/main/scala/firrtl/stage/phases/Compiler.scala
index d5c45dba..66dad55e 100644
--- a/src/main/scala/firrtl/stage/phases/Compiler.scala
+++ b/src/main/scala/firrtl/stage/phases/Compiler.scala
@@ -111,8 +111,9 @@ class Compiler extends Phase with Translator[AnnotationSeq, Seq[CompilerRun]] {
c.copy(stateOut = Some(annotationsOut))
}
- if (b.size <= 1) { b.map(f) }
- else { b.par.map(f).seq }
+ if (b.size <= 1) { b.map(f) } else {
+ collection.parallel.immutable.ParVector(b :_*).par.map(f).seq
+ }
}
private def compilerToTransforms(a: FirrtlCompiler): Seq[TransformDependency] = a match {