diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2016-08-22 11:43:49 -0700 |
---|---|---|
committer | Adriaan Moors <adriaan@lightbend.com> | 2016-08-29 09:54:09 +0200 |
commit | d9974be376e23f2a41373cd85977732aee6761a1 (patch) | |
tree | 9710c040412319d5217408bbef35ec797a6b3ceb /test | |
parent | 6f7bd990ae69d6796c68894133c1975bef354e12 (diff) | |
download | scala-d9974be376e23f2a41373cd85977732aee6761a1.tar.gz scala-d9974be376e23f2a41373cd85977732aee6761a1.tar.bz2 scala-d9974be376e23f2a41373cd85977732aee6761a1.zip |
Double-checked locking for modules.
Inline `mkSynchronizedCheck`, whose abstraction obscured rather than clarified.
Diffstat (limited to 'test')
-rw-r--r-- | test/files/run/delambdafy_t6028.check | 14 | ||||
-rw-r--r-- | test/files/run/t6028.check | 14 |
2 files changed, 18 insertions, 10 deletions
diff --git a/test/files/run/delambdafy_t6028.check b/test/files/run/delambdafy_t6028.check index b188928c09..7bd68c78e9 100644 --- a/test/files/run/delambdafy_t6028.check +++ b/test/files/run/delambdafy_t6028.check @@ -43,11 +43,15 @@ package <empty> { <synthetic> <stable> <artifact> def $outer(): T = MethodLocalObject$2.this.$outer }; final <stable> private[this] def MethodLocalObject$1(barParam$1: String, MethodLocalObject$module$1: runtime.VolatileObjectRef): T#MethodLocalObject$2.type = { - T.this.synchronized({ - if (MethodLocalObject$module$1.elem.$asInstanceOf[T#MethodLocalObject$2.type]().eq(null)) - MethodLocalObject$module$1.elem = new T#MethodLocalObject$2.type(T.this, barParam$1); - scala.runtime.BoxedUnit.UNIT - }); + if (MethodLocalObject$module$1.elem.$asInstanceOf[T#MethodLocalObject$2.type]().eq(null)) + { + T.this.synchronized({ + if (MethodLocalObject$module$1.elem.$asInstanceOf[T#MethodLocalObject$2.type]().eq(null)) + MethodLocalObject$module$1.elem = new T#MethodLocalObject$2.type(T.this, barParam$1); + scala.runtime.BoxedUnit.UNIT + }); + () + }; MethodLocalObject$module$1.elem.$asInstanceOf[T#MethodLocalObject$2.type]() }; final <artifact> private[this] def $anonfun$tryy$1(tryyParam$1: String, tryyLocal$1: runtime.ObjectRef): Unit = try { diff --git a/test/files/run/t6028.check b/test/files/run/t6028.check index c2e3ca58d8..f757bc93ff 100644 --- a/test/files/run/t6028.check +++ b/test/files/run/t6028.check @@ -55,11 +55,15 @@ package <empty> { <synthetic> <stable> <artifact> def $outer(): T = MethodLocalObject$2.this.$outer }; final <stable> private[this] def MethodLocalObject$1(barParam$1: Int, MethodLocalObject$module$1: runtime.VolatileObjectRef): T#MethodLocalObject$2.type = { - T.this.synchronized({ - if (MethodLocalObject$module$1.elem.$asInstanceOf[T#MethodLocalObject$2.type]().eq(null)) - MethodLocalObject$module$1.elem = new T#MethodLocalObject$2.type(T.this, barParam$1); - scala.runtime.BoxedUnit.UNIT - }); + if (MethodLocalObject$module$1.elem.$asInstanceOf[T#MethodLocalObject$2.type]().eq(null)) + { + T.this.synchronized({ + if (MethodLocalObject$module$1.elem.$asInstanceOf[T#MethodLocalObject$2.type]().eq(null)) + MethodLocalObject$module$1.elem = new T#MethodLocalObject$2.type(T.this, barParam$1); + scala.runtime.BoxedUnit.UNIT + }); + () + }; MethodLocalObject$module$1.elem.$asInstanceOf[T#MethodLocalObject$2.type]() }; @SerialVersionUID(value = 0) final <synthetic> class $anonfun$tryy$1 extends scala.runtime.AbstractFunction0$mcV$sp with Serializable { |