Details

      Description

      This used to compile in 2.10.3:

      class A {
        def f: Boolean = {
        	try {
            val x = 12
            ()
      	} catch {
      		case ex: Exception => null
      	}
          true
        }
      }
      

      but doesn't with current master:

      RUNNER=scalac scala-hash scala/master ../OptimizerCrash.scala
      RUNNER=scalac scala-hash scala/master ../OptimizerCrash.scala
      error: java.lang.ArrayIndexOutOfBoundsException: 0
      	at scala.tools.asm.Frame.merge(Frame.java:1397)
      	at scala.tools.asm.Frame.merge(Frame.java:1374)
      	at scala.tools.asm.MethodWriter.visitMaxs(MethodWriter.java:1303)
      	at scala.tools.nsc.backend.jvm.GenASM$JPlainBuilder.genMethod(GenASM.scala:1450)
      	at scala.tools.nsc.backend.jvm.GenASM$JPlainBuilder.genClass(GenASM.scala:1279)
      	at scala.tools.nsc.backend.jvm.GenASM$AsmPhase.emitFor$1(GenASM.scala:135)
      	at scala.tools.nsc.backend.jvm.GenASM$AsmPhase.run(GenASM.scala:141)
      

      We regressed in 9506d5273b4b10037c202f01e8556076998bd064.

        Attachments

          Activity

            People

            • Assignee:
              grek Grzegorz Kossakowski
              Reporter:
              grek Grzegorz Kossakowski
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: