summaryrefslogtreecommitdiff
path: root/test/files/run/inlineHandlers.scala
Commit message (Collapse)AuthorAgeFilesLines
* Emit exception handlers for inlined methods in the correct orderLukas Rytz2015-09-181-0/+7
Handler tables are lists of tuples (try-start, try-end, handler-start, exception-type). When an instruction throws, the first handler in the list that covers the instruction and matches the type is executed. For nested handlers, it is the job of the compiler to add them to the handler table in the correct order. When inlining a method, the handlers of the callee are prepended to the list of handlers in the callsite method. This ensures that the callee's handlers are tested first if an exception is thrown in the inlined code.