| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
Found a better elidable implementation which is robust against other
parts of the compiler doing their things. Calls to elidable methods are
replaced with zero of the same type. Elidable methods themselves remain
in place, but with their body replaced with a zero of the method return
type.
Thus is everything to be found where it is expected to be found, but
nothing will be found where nothing ought to be found. Nothing of course
will never be found.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On epfl jenkins, elidable.scala fails with:
[partest] java.lang.VerifyError: (class: Test$, method: main signature: ([Ljava/lang/String;)V) Unable to pop operand off an empty stack
[partest]
[partest] at Test.main(elidable.scala)
Strangely it is fine for me on OSX with either apple's jvm or openjdk.
Since tests were not running for a while I don't know which of the recent
elidable commits is responsible, so given present time demands all I
can do is revert them all.
Revert "Fix for SI-5215: scalac crash when @elidable used in trait"
This reverts commit 5e52ce9a13f12ef159e25ac80c6be2803ec48950.
Revert "Fix for SI-5215 part 2: generate return value when eliding method calls"
This reverts commit 61c9b4f01d99a81e15391b270bd1b5a895f65ffd.
Revert "Eliminating duplication in zero creation."
This reverts commit fbb7865e137e83660257fdc79d19d29ff39c775b.
Revert "Disallow eliding when Nothing is expected"
This reverts commit f26a47c4e8bda2f6c689b4e9b0bb5c64ccf4c699.
|
| |
|
| |
|
|
|
|
| |
The elision is now done by not emitting method calls (it was done by removing the elidable methods).
|
|
Although it was working fine, a test case for @elidable to make sure
that state of affairs continues. No review.
|