summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2014-02-01 03:20:21 +0100
committerEugene Burmako <xeno.by@gmail.com>2014-02-01 09:52:59 +0100
commitdc3fccb59d9ac848550b3264608ce9b7bdbfe624 (patch)
tree8ef920f64d4e555a60e2a4e5953f759f32d1bc9e
parent2bd304404ac00939a18a678aa982da9cbb3471a2 (diff)
downloadscala-dc3fccb59d9ac848550b3264608ce9b7bdbfe624.tar.gz
scala-dc3fccb59d9ac848550b3264608ce9b7bdbfe624.tar.bz2
scala-dc3fccb59d9ac848550b3264608ce9b7bdbfe624.zip
turns off the gilSynchronizedIfNotInited optimization
According to Jason (https://github.com/scala/scala/pull/3391#issuecomment-32904460), this one is still causing trouble, so we have to turn it off until we have time to debug it.
-rw-r--r--src/reflect/scala/reflect/runtime/SynchronizedSymbols.scala6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/reflect/scala/reflect/runtime/SynchronizedSymbols.scala b/src/reflect/scala/reflect/runtime/SynchronizedSymbols.scala
index fe1de77cd2..f5e16c6640 100644
--- a/src/reflect/scala/reflect/runtime/SynchronizedSymbols.scala
+++ b/src/reflect/scala/reflect/runtime/SynchronizedSymbols.scala
@@ -118,8 +118,10 @@ private[reflect] trait SynchronizedSymbols extends internal.Symbols { self: Symb
override def markAllCompleted(): this.type = { _initializationMask = 0L; _initialized = true; this }
def gilSynchronizedIfNotThreadsafe[T](body: => T): T = {
- if (isCompilerUniverse || isThreadsafe(purpose = AllOps)) body
- else gilSynchronized { body }
+ // TODO: debug and fix the race that doesn't allow us uncomment this optimization
+ // if (isCompilerUniverse || isThreadsafe(purpose = AllOps)) body
+ // else gilSynchronized { body }
+ gilSynchronized { body }
}
override def validTo = gilSynchronizedIfNotThreadsafe { super.validTo }