summaryrefslogtreecommitdiff
path: root/src/partest-extras/scala/tools/partest/ASMConverters.scala
Commit message (Collapse)AuthorAgeFilesLines
* Upgrade asm to 5.1Lukas Rytz2016-07-201-3/+3
| | | | | The constructor of scala.tools.asm.Handle now takes an additional boolean parameter to denote whether the owner is an interface.
* Tests for optimizing val patternsLukas Rytz2016-02-161-4/+18
| | | | Fixes https://github.com/scala/scala-dev/issues/28
* Eliminate non-escaping boxes, tuples and refsLukas Rytz2015-12-151-0/+5
| | | | | | | | | Eliminate boxes, tuples and refs that are created and used within a single method without escaping. For details on the implementation see the doc comment in class BoxUnbox. This commit also cleans up the logic of inter-dependent method-level optimizations that run until reaching a fixpoint.
* Merge pull request #4622 from retronym/merge/2.11.x-to-2.12.x-20150713Adriaan Moors2015-07-131-1/+1
|\ | | | | Merge 2.11.x to 2.12.x [ci: last-only]
| * Fix 23 typos (m-o)Janek Bogucki2015-06-281-1/+1
| |
* | Accessibility checks for methods with an InvokeDynamic instructionLukas Rytz2015-07-071-30/+48
|/ | | | | | | | | | | | | | Implements the necessary tests to check if a method with an InvokeDynamic instruction can be inlined into a destination class. Only InvokeDynamic instructions with LambdaMetaFactory as bootstrap methods can be inlined. The accessibility checks cannot be implemented generically, because it depends on what the bootstrap method is doing. In particular, the bootstrap method receives a Lookup object as argument which can be used to access private methods of the class where the InvokeDynamic method is located. A comment in the inliner explains the details.
* Fix many typosMichaƂ Pociecha2015-04-211-1/+1
| | | | | This commit corrects many typos found in scaladocs and comments. There's also fixed the name of a private method in ICodeCheckers.
* Address review feedback.Lukas Rytz2014-09-111-2/+2
|
* Remove stale local variables and exception handlers after DCELukas Rytz2014-09-101-19/+35
| | | | | | This is required for correctness of the generated bytecode. Exception handlers and local variable descriptors specify code offset ranges. These offsets have to exist, not be eliminated.
* Tools to run the compiler in JUnit testsLukas Rytz2014-09-101-2/+21
|
* JUnit tests for dead code elimination.Lukas Rytz2014-09-101-49/+160
| | | | JUnit tests may use tools from partest-extras (ASMConverters)
* Move partest to https://github.com/scala/scala-partestAdriaan Moors2013-08-201-0/+71
As partest is now resolved from maven, `test/partest` uses `ant test.suite.init` to determine the classpath (serialized to build/pack/partest.properties) that's necessary to run `scala.tools.partest.nest.ConsoleRunner`. Thus, partest gets exactly the same classpath, whether run from the command line through `test/partest` or via `ant test`. The version of partest we're using is specified by properties defined in versions.properties (formerly `starr.number`). Currently, we're using: ``` scala.binary.version=2.11.0-M4 partest.version.number=1.0-RC3 ``` NOTES: - The version of Scala being tested must be backwards binary compatible with the version of Scala that was used to compile partest. - Once 2.11 goes final, `scala.binary.version=2.11`, and `starr.version=2.11.0`. - Need scalacheck on classpath for test/partest scalacheck tests. - Removed atrophied ant tests (haven't been run/changed for at least two years I checked 81d659141a as a "random" sample). - Removed scalacheck. It's resolved as a partest dependency. - For now, use a locally built scalap - Kept the trace macro in the main repo (partest-extras) - New targets for faster pr validation: test-core-opt, test-stab-opt - Reused partest eclipse/intellij project to partest-extras (note: the partest dependency is hard-coded)