Skip to content

Prototype indy+unreflectSpecial for super calls methods in the Java standard library #23

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 254 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
254 commits
Select commit Hold shift + click to select a range
56c5d92
Add JMH to the benchmark framework.
performantdata Mar 21, 2016
303130b
Add a reference to Doug Lea's benchmarks.
performantdata Mar 23, 2016
e1b58cc
Add get() tests to OpenHashMap, reduce timing artifacts.
performantdata Mar 23, 2016
b88933e
Benchmark the OpenHashMap memory usage.
performantdata Mar 26, 2016
2e8fb12
Add a JMH runner class to the library benchmark framework.
performantdata Mar 27, 2016
cd7be12
Improve the OpenHashMapBenchmark run times.
performantdata Mar 28, 2016
00cbba1
Address JMH benchmark reviewer's issues.
performantdata May 3, 2016
486821b
Enable full compiler optimizations in JMH benchmarking.
performantdata May 3, 2016
5faad77
Added pos test with multiple cases; added neg tests.
milessabin May 6, 2016
b58634e
Improves the test cases for the scala-concurrent-tck
viktorklang Apr 5, 2016
a6d5eb5
SI-8667 Improve too-many-args message
som-snytt May 4, 2016
40b42ae
SI-8667 Caret at bad arg
som-snytt May 11, 2016
45e607d
SI-9361 fixed assert allowing display of improved error message.
milessabin May 14, 2016
139f9a0
Make Range.Partial a value class
xuwei-k May 17, 2016
73ca44b
SI-4625 Recognize App in script
som-snytt May 16, 2016
5bcefbe
SI-4625 App is a thing
som-snytt May 17, 2016
ee365cc
SI-4625 Permit arbitrary top-level in script
som-snytt May 17, 2016
e753135
SI-4625 Warn when discarding script object
som-snytt May 17, 2016
c2f67d2
Move t8449 to correct place
lrytz May 17, 2016
443fa04
Remove default value for sourcepath in scalac (ant version). (#5166)
romanowski May 17, 2016
90706b0
Merge pull request #5172 from lrytz/move-test
retronym May 17, 2016
883fdd7
SI-5463 Check .jars before using them
May 10, 2016
7f514bb
SI-4625 Warn on first non-toplevel only
som-snytt May 17, 2016
e483e49
[backport] identical readme in 2.11.x as in 2.12.x
lrytz May 19, 2016
214ea82
SI-9656 Range.toString distinguishes Numeric step
Feb 27, 2016
3cddeaa
SI-7916: ScriptEngine support
som-snytt Sep 14, 2015
80d996b
Include missing web assets in scaladoc
jodersky Apr 11, 2016
6be9fc6
SI-9781 Don't convert erroneous expression to assignment
liff May 19, 2016
481a390
Improvements to scala.concurrent.Future
viktorklang May 13, 2016
f7b575d
Merge pull request #5093 from jodersky/scaladoc-include-assets
szeiger May 20, 2016
72a59d9
Rename nsc.backend.jvm.CodeGenTools to testing.BytecodeTesting
lrytz May 19, 2016
5d5a6aa
Better abstraction for bytecode tests. Also organize some imports.
lrytz May 20, 2016
d9ce4dc
Better abstraction for JUnit run tests
lrytz May 20, 2016
ba510ab
Clean up bytecode testing methods.
lrytz May 20, 2016
0e7964a
Small cleanup in JUnit test
lrytz May 20, 2016
46d523b
Cleanup in BytecodeTest
lrytz May 20, 2016
2537027
Split RunTest and BytecodeTest into parts, put in matching packages.
lrytz May 20, 2016
64fdae8
All JUnit tests pass without bootstrap (when run in intellij, sbt)
lrytz May 20, 2016
e26835c
Adapt naming convention for collection.convert null safety test
lrytz May 20, 2016
1ea1916
Merge pull request #4819 from som-snytt/issue/7916-ScriptEngine-deferred
szeiger May 20, 2016
0d0671a
Merge pull request #5178 from lrytz/readme211
adriaanm May 20, 2016
eeef260
SI-8044 Allow binding backquoted varid in patterns
som-snytt Jan 31, 2016
2eb1cc2
SI-8044 Test for quoted not-a-varid
som-snytt Jan 31, 2016
1e565d8
SI-8044 Allow any id in explicit pattern binding
som-snytt Mar 15, 2016
99dad60
SI-7898 Read user input during REPL warmup
som-snytt Feb 25, 2016
a79b9b7
Merge pull request #4988 from som-snytt/issue/backtick-bar
adriaanm May 21, 2016
c89c365
SI-9766 - allow ++ on empty ConcatIterator
martijnhoekstra May 16, 2016
a412ea0
Use jarlister in build
rjolly Feb 9, 2016
206a657
Jarlist scala-library in build.sbt
rjolly May 20, 2016
2e40aa5
Merge pull request #5180 from lrytz/junit-pass
retronym May 23, 2016
093c934
SI-9776: Fix type of PriorityQueue.newBuilder and improve performance
chrisokasaki May 23, 2016
869df33
SI-7898 Quiet REPL at startup
som-snytt May 21, 2016
95f5760
Merge pull request #5168 from xuwei-k/range-value-class
lrytz May 23, 2016
03d2de2
SI-9121 test case (fixed in new optimizer), SI-9179 test case
lrytz Apr 25, 2016
4196569
SI-9688 Make merge in immutable HashMap1 work with null kv.
May 23, 2016
8e92ba0
Merge pull request #5153 from petermz/ticket/5463
lrytz May 23, 2016
82d9551
Merge pull request #5162 from milessabin/t9361
lrytz May 23, 2016
f640fa0
Merge pull request #5167 from martijnhoekstra/SI-9766
lrytz May 23, 2016
9a703b4
Merge pull request #5169 from som-snytt/issue/4625
lrytz May 23, 2016
7645c7f
Merge pull request #5122 from lrytz/t9121
szeiger May 23, 2016
90ca3fd
Group Console and AnsiColor entities and add usage examples
janekdb May 23, 2016
d169d48
Merge pull request #5173 from janekdb/topic/2.12.x-scaladoc-AnsiColour
lrytz May 23, 2016
095295a
Merge pull request #5164 from viktorklang/wip-future-docs-√
adriaanm May 23, 2016
755fff0
Merge pull request #5181 from chrisokasaki/issue/9776
adriaanm May 23, 2016
0659af2
Merge pull request #5106 from milessabin/topic/hkgadt
adriaanm May 24, 2016
207e32d
Merge pull request #5179 from liff/topic/SI-9781
adriaanm May 24, 2016
5450ae6
SI-7898 Report paste errors improvedly
som-snytt May 23, 2016
892a6d6
SI-2712 Add support for higher order unification
milessabin May 20, 2016
bf47808
-Xexperimental mode now only includes -Ypartial-unification
milessabin May 20, 2016
b462e5a
SI-7898 Label for parsing -i sources
lrytz May 24, 2016
4d28084
Merge pull request #5175 from som-snytt/issue/9656-range-toString
szeiger May 24, 2016
60f28f9
SI-9522 release key reference when deleting from OpenHashMap
performantdata Apr 25, 2016
808f3d0
Merge pull request #4935 from som-snytt/issue/8044-tickvar
adriaanm May 24, 2016
dd3a90e
Fix Scaladoc link syntax on java.util.Formatter references
janekdb May 24, 2016
1db58b5
Debug flag to print a summary of the inliner's work
lrytz May 24, 2016
cba585d
Merge pull request #5061 from performantdata/benchmark-framework
retronym May 25, 2016
c17ef77
Merge pull request #5124 from performantdata/bug/SI-9522
lrytz May 25, 2016
eaefb10
Merge pull request #5185 from janekdb/topic/2.12.x-scaladoc-java-link…
lrytz May 25, 2016
734c5ad
Merge pull request #5052 from kilotaras/topic/map-applyOrElse
lrytz May 25, 2016
450df0e
Use full braces style in AnsiColor example
janekdb May 25, 2016
139f6bf
Merge pull request #4959 from rjolly/scripting15
szeiger May 25, 2016
65642d9
Merge pull request #5188 from janekdb/topic/2.12.x-scaladoc-AnsiColour-2
lrytz May 25, 2016
b85c9a7
Rename -Yopt to -opt, -Yopt-warnings to -opt-warnings
lrytz May 25, 2016
54dff81
SI-9382 Privatize enhanced x in Tuple2Zipped.Ops
som-snytt May 25, 2016
3873fcf
Fully qualify types in REPL generated code
dwijnand May 24, 2016
edbf2c4
Merge pull request #5189 from lrytz/y-not
adriaanm May 26, 2016
0b79f4b
SI-9382 Zippy clean-up in aisle 2 & 3
som-snytt May 26, 2016
100d637
SI-9789 use quadratic probing in OpenHashMap
performantdata May 22, 2016
fd6386a
SI-9794 Error advice uses decoded method name
som-snytt May 27, 2016
a09ed48
Merge pull request #5192 from dwijnand/wip/scala-repl-no-imports
retronym May 27, 2016
79ec0f3
Merge pull request #5186 from lrytz/inlinerM5
retronym May 27, 2016
6b2037a
Merge pull request #5102 from milessabin/2.12.x
retronym May 27, 2016
6e9faf5
Right-bias Either
soc Apr 27, 2016
981e3c5
SI-9483 Add `since` to `@deprecatedName`
soc Apr 2, 2016
673350e
SI-9084 Add `since` (if available) to deprecation warnings
soc Apr 2, 2016
5562e1a
Lower-case spelling of @deprecated messages
soc May 19, 2016
be38ebb
Add since arg to deprecationWarning and use it
soc Apr 2, 2016
85057d5
Add documentation to @deprecated
soc May 19, 2016
a45509c
Don't pass -opt to starr / locker build in the bootstrap script
lrytz May 30, 2016
971f5ab
Merge pull request #5183 from performantdata/bug/SI-9789
lrytz May 30, 2016
6265eb8
Merge pull request #5200 from lrytz/bootstrap-opt-options
lrytz May 30, 2016
7d5a0b3
Merge pull request #5193 from som-snytt/issue/9794
lrytz May 30, 2016
9edbe3d
Merge pull request #5191 from som-snytt/issue/9382
lrytz May 30, 2016
8f567bc
Merge pull request #5076 from soc/topic/deprecations-since
lrytz May 30, 2016
7b132f3
Avoid tree sharing with substituteThis
retronym May 31, 2016
4c2f6f3
Privatize the deprecated members of `immutable.Range`.
sjrd May 28, 2016
ec1e804
Relax the semantics of `Range.lastElement` for internal use.
sjrd May 28, 2016
6083875
SI-9767 document and test behaviour of String->integer/float conversions
May 31, 2016
0533a3d
Lambda impl methods static and more stably named
retronym May 4, 2016
f01d061
Treat self parameter as non-null in the optimizer
lrytz May 13, 2016
e077c24
SI-9390 Emit local defs that don't capture this as static
retronym Apr 14, 2016
90215ce
Merge pull request #4998 from som-snytt/issue/7898-i
lrytz Jun 1, 2016
7f090f1
Merge commit '90706b0' into merge-2.11-to-2.12-june-1
lrytz Jun 1, 2016
8e48655
Merge commit '0d0671a' into merge-2.11-to-2.12-june-1
lrytz Jun 1, 2016
460fa9d
Merge commit '4196569' into merge-2.11-to-2.12-june-1
lrytz Jun 1, 2016
6971584
Merge commit 'f640fa0' into merge-2.11-to-2.12-june-1
lrytz Jun 1, 2016
20dd825
Merge commit 'cba585d' into merge-2.11-to-2.12-june-1
lrytz Jun 1, 2016
128ac65
Merge pull request #5198 from sjrd/privatize-range-members
lrytz Jun 1, 2016
8384ebd
Merge commit '139f6bf' into merge-2.11-to-2.12-june-1
lrytz Jun 1, 2016
6c4414e
Merge commit '90215ce' into merge-2.11-to-2.12-june-1
lrytz Jun 1, 2016
def22ff
opt: fuse some operations on `Scope`s
adriaanm May 27, 2016
6cd356a
Compute constrParamAccessors once. It's expensive
adriaanm May 31, 2016
3f68507
Drop local suffix in lambda impl method name
retronym Jun 2, 2016
7952cd1
Fix comparisons involving NaN
lrytz Jun 1, 2016
bd588ff
scala version in benchmark project
lrytz Jun 2, 2016
25165b7
Merge pull request #5203 from lrytz/merge-2.11-to-2.12-june-1
lrytz Jun 2, 2016
3cbe3e8
Merge pull request #5207 from lrytz/nan-compare
adriaanm Jun 2, 2016
461c896
Merge pull request #5205 from adriaanm/misc-opt
adriaanm Jun 2, 2016
fe61bcf
SI-9104 Autodetect raw pastage
som-snytt May 27, 2016
f07019f
SI-9390 Avoid needless outer capture with local classes
retronym Apr 15, 2016
5fffe79
Merge pull request #5197 from som-snytt/issue/9104-raw
adriaanm Jun 3, 2016
ae03df9
Merge pull request #5147 from som-snytt/issue/8667-too-many-args
adriaanm Jun 3, 2016
5667ff4
Prohibit @native method in trait
adriaanm Jun 3, 2016
af93c7a
Merge pull request #5209 from adriaanm/trait-no-native-meth
lrytz Jun 3, 2016
be9c0fe
SI-9737 [no-merge] Backport stringOf ParIterable
nicolasstucki Aug 18, 2015
a23f6a7
Remove experimental status from sbt build in load message
janekdb Jun 4, 2016
fcf17be
SI-7898 Preserve reader against subversion
som-snytt Jun 4, 2016
650fbee
Merge pull request #5214 from som-snytt/issue/7898-sbt
adriaanm Jun 6, 2016
cc6a251
Merge branch '2.11.x' into 2.12.x
adriaanm Jun 6, 2016
361f3f1
Merge pull request #5157 from retronym/topic/lambda-statics
retronym Jun 6, 2016
3bb7358
Merge pull request #5099 from retronym/ticket/9390
retronym Jun 6, 2016
34dbd39
Merge pull request #5211 from janekdb/topic/2.12.x-remove-experimenta…
retronym Jun 6, 2016
1f812e9
Avoid separate traversal in inliner to remove line number nodes
lrytz May 30, 2016
037a089
Store source file paths of classes being compiled in the bytecode repo
lrytz May 30, 2016
59d6dbc
clear all flags when resetting a symbol
lrytz May 25, 2016
e108429
SI-9256 check companions in same compilation unit only if same run
lrytz May 25, 2016
2980c39
Keep line numbers when inlining from the same compilation unit
lrytz May 31, 2016
28e0e18
Merge pull request #5216 from adriaanm/2.12.x
adriaanm Jun 6, 2016
a1ea0aa
Remove TopLevelCreationFlags
lrytz Jun 6, 2016
79e7334
Merge pull request #5202 from lrytz/lineNumbers
adriaanm Jun 6, 2016
3f3a3bb
SI-9245 Fresher name in Try and test
som-snytt Jun 7, 2016
c7e2b28
Typo fix
FelAl Jun 10, 2016
956fee8
If Range is sealed, it makes sense to have Range.Inclusive final.
Arneball Jun 12, 2016
f775e1f
Merge pull request #5223 from FelAl/typo_fix
retronym Jun 14, 2016
ab06ce8
Merge pull request #5213 from som-snytt/issue/stringof-pariterable
retronym Jun 14, 2016
91b6944
Merge pull request #5219 from som-snytt/issue/9245
retronym Jun 14, 2016
f2d0f1e
Use sbt for PR validation
szeiger Jun 14, 2016
c2c08a4
Remove bnd warnings from log output
szeiger Jun 14, 2016
8eaa53d
Avoid triple-quoting triple quotes
som-snytt Jun 16, 2016
14d3b9e
Refactor triple quote quoting
som-snytt Jun 16, 2016
0eac3cb
Constant print control in unicode
som-snytt Jun 16, 2016
aaf7bc0
Merge pull request #5190 from szeiger/wip/validate-test-use-sbt
lrytz Jun 19, 2016
f2d9748
Merge commit 'f775e1f' into merge-2.11-to-2.12-june-19
lrytz Jun 19, 2016
e9afc2d
Merge commit 'ab06ce8' into merge-2.11-to-2.12-june-19
lrytz Jun 19, 2016
b328366
Merge commit '91b6944' into merge-2.11-to-2.12-june-19
lrytz Jun 19, 2016
cf0390d
SI-9817 forall and exists
Jun 14, 2016
e4c2d68
Merge commit 'aaf7bc0' into merge-2.11-to-2.12-june-19
lrytz Jun 19, 2016
2d85fe4
Fix test failures of the sbt build in 2.12.x
lrytz Jun 21, 2016
4e95083
Merge pull request #5242 from szeiger/wip/merge-2.11-to-2.12-june-19
adriaanm Jun 23, 2016
d45a9a6
Fix typo in test comment
mo Jun 25, 2016
22dac31
Temporarily insource Scalacheck 1.11.6
retronym Jun 14, 2016
1ae80e8
Fix ParVector#padTo
retronym Jun 27, 2016
add83b8
Override `.slice` in ArrayOps to use arraycopy.
Jun 28, 2016
7a7fdac
Merge pull request #5244 from retronym/topic/insource-scalacheck
adriaanm Jun 28, 2016
367bab4
Remove nonsensical body for trait getter
retronym Jun 6, 2016
9f54af3
Better diagnostic for optimizer crashes
retronym Jun 6, 2016
a9bebf8
Remove stray .class file from version control
retronym Jun 6, 2016
d3c0885
Don't minimize parents of java defined syms.
retronym Jun 6, 2016
91b066a
Revert pruning of redundant Java parents
retronym Jun 6, 2016
7d51b3f
Emit trait method bodies in statics
retronym Jun 6, 2016
9901daf
Bootstrap skips scalacheck build step / partest dep
adriaanm Jun 28, 2016
d8c862b
Use 2.12.0-M4-9901daf as STARR (see #5152)
adriaanm Jun 29, 2016
79e24d5
Merge pull request #5251 from adriaanm/rebase-5177
lrytz Jun 29, 2016
de59237
Bump STARR to 2.12.0-M5.
adriaanm Jun 29, 2016
6612ba0
Merge pull request #5255 from adriaanm/2.12.x
adriaanm Jun 29, 2016
e588636
SI-9515 closure elimination also for non-Scala-Function SAM types
lrytz Jul 4, 2016
7644f10
Merge pull request #5228 from dpogretskiy/SI-9817
adriaanm Jul 5, 2016
9682763
Merge pull request #5256 from lrytz/t9515
adriaanm Jul 5, 2016
27a4f4d
Merge pull request #5247 from mo/2.12.x
adriaanm Jul 5, 2016
1c1abd1
Fixed a typo in Predef
janekdb Jun 12, 2016
27f3005
Group math package functions
janekdb Jul 6, 2016
78c3bfd
SI-8561 named subclasses for known Manifest / ClassTag instances
lrytz Jul 6, 2016
bd9654d
[squash] Fix bounds in contains
soc Jul 7, 2016
7e933d5
SI-6947 Better type parameter names for Map classes
szeiger Jul 6, 2016
4e564ef
Merge pull request #5225 from janekdb/topic/2.12.x-scaladoc-math-groups
adriaanm Jul 7, 2016
cd9240e
SI-7301 Make tuple classes final
szeiger Jul 5, 2016
3285c47
Remove redundant 'the' in IntelliJ's README.md
mpociecha Jul 12, 2016
ea2f2bf
Merge pull request #5274 from mpociecha/fix-intellij-readme
lrytz Jul 12, 2016
d33f299
SI-9849 set privateWithin on default getters
lrytz Jul 8, 2016
09d689b
Merge pull request #5135 from soc/topic/biased-either
szeiger Jul 12, 2016
d388884
Merge pull request #5269 from lrytz/t9849
lrytz Jul 13, 2016
247207d
Merge pull request #5226 from Arneball/sealedness
lrytz Jul 13, 2016
1bca386
Merge pull request #5234 from som-snytt/review/printers
lrytz Jul 13, 2016
3c43a7b
Merge pull request #5264 from lrytz/t8561
lrytz Jul 13, 2016
d386e80
SI-9855 Fix regression in extractor pattern translation
retronym Jul 12, 2016
f806073
SD-183 Make refinement classes ineligible as SAMs
retronym Jul 14, 2016
841fb25
Deprecate and rename Left#a/Right#b to Left#value/Right#value
dwijnand Jul 14, 2016
2675805
Deprecated and rename Some#x to Some#value
dwijnand Jul 13, 2016
543d719
Retain javadoc comments in scaladoc
jodersky Apr 25, 2016
36e2ae2
Switch the bootstrap build over to sbt
szeiger Jul 11, 2016
11688eb
SI-9691 BufferedIterator should expose a headOption
ChristopherDavenport Jul 15, 2016
fbdbfbe
Merge pull request #5287 from ChristopherDavenport/ticket/9691-2
szeiger Jul 18, 2016
c901ad6
Merge pull request #5275 from dwijnand/somex
szeiger Jul 18, 2016
905b526
SI-9827 MatchIterator advances itself
som-snytt Jul 5, 2016
52fb8e8
Merge pull request #5273 from retronym/ticket/9855
adriaanm Jul 18, 2016
ca57d02
Merge pull request #5285 from szeiger/wip/sbt-bootstrap
adriaanm Jul 18, 2016
d26b384
Merge pull request #5246 from jodersky/javadoc
adriaanm Jul 18, 2016
31db427
Merge pull request #5265 from szeiger/issue/6947
adriaanm Jul 18, 2016
2f75e05
Merge pull request #5261 from som-snytt/issue/9827
szeiger Jul 19, 2016
f510aa5
Deprecate scala.remote
lrytz Jul 6, 2016
4c33a55
Minor cleanups in GenBCode
lrytz Jul 6, 2016
5ddb0bb
Merge pull request #5257 from szeiger/wip/final-tuples
lrytz Jul 20, 2016
e619b03
Upgrade asm to 5.1
lrytz Jul 20, 2016
6b99dfe
Merge pull request #5293 from lrytz/asm-51
adriaanm Jul 21, 2016
faa4110
Switch Windows CI build to sbt (w/ some sbt build improvements)
szeiger Jul 19, 2016
9a24860
SI-8774 Null link fields in mutable hash maps on removal.
Jul 21, 2016
04649c7
SD-186 Fix positions in trait method bytecode
retronym Jul 21, 2016
caeedcf
Disable stub warning by default.
oscar-stripe Jul 7, 2016
3e64fdd
SD-120 Non FunctionN lambdas should not be universally serializable
retronym Jul 14, 2016
dc326cd
SI-9560 Remove dependency on parser-combinators/json
soc Nov 19, 2015
e4a978d
SD-121 Remove now-unneeded J{Function,Proc}N functional interfaces
retronym Jul 22, 2016
49a4750
Merge pull request #5298 from retronym/ticket/SD-121
lrytz Jul 22, 2016
8d87b62
Merge pull request #5278 from retronym/ticket/SD-120
lrytz Jul 22, 2016
ab83b26
Merge pull request #5296 from retronym/ticket/SD-186
lrytz Jul 22, 2016
1a3a612
Merge pull request #5281 from dwijnand/either-value
lrytz Jul 22, 2016
3205091
Improve sbt-based IntelliJ integration in case of Windows
mpociecha Jul 22, 2016
b681232
Merge pull request #5295 from varming/cvarming/nepotism
szeiger Jul 22, 2016
ce262e4
Added tests for SI-482/SI-4914
milessabin Jul 22, 2016
a2cba53
SD-167 Fine tuning constructor pattern translation
retronym Jul 25, 2016
1e7ce6e
Merge pull request #4851 from soc/SI-9560-scaladoc-json-dep
szeiger Jul 25, 2016
4bc9ca5
Merge pull request #5297 from retronym/review/5268
retronym Jul 26, 2016
7102f64
Merge pull request #5299 from mpociecha/improve-intellij-integration
adriaanm Jul 26, 2016
fd36aa2
Merge pull request #5300 from milessabin/topic/si-4914
adriaanm Jul 26, 2016
2f95a24
Merge pull request #5267 from lrytz/deprecateRemote
adriaanm Jul 26, 2016
4f749ce
Merge pull request #5279 from retronym/ticket/SD-183
adriaanm Jul 26, 2016
efb74b7
Merge pull request #5301 from retronym/ticket/SD-167
adriaanm Jul 26, 2016
a84c7b9
Fixed some style issues
Jul 27, 2016
16fd63b
Merge pull request #5292 from szeiger/wip/sbt-windows
adriaanm Jul 28, 2016
80ee988
Merge pull request #5250 from dimatkach/fast-array-slice-3
adriaanm Jul 28, 2016
c5fe4ba
Prototype indy+unreflectSpecial for super calls
retronym Jul 28, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions bincompat-forward.whitelist.conf
Original file line number Diff line number Diff line change
Expand Up @@ -478,6 +478,10 @@ filter {
{
matchName="scala.concurrent.impl.Promise$DefaultPromise"
problemName=MissingTypesProblem
},
{
matchName="scala.reflect.runtime.Settings.YpartialUnification"
problemName=MissingMethodProblem
}
]
}
2 changes: 1 addition & 1 deletion build-ant-macros.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<attribute name="name"/>
<sequential>
<antcall target="@{name}">
<param name="scalac.args.optimise" value="-Yopt:l:classpath"/>
<param name="scalac.args.optimise" value="-opt:l:classpath"/>
</antcall>
</sequential>
</macrodef>
Expand Down
233 changes: 171 additions & 62 deletions build.sbt

Large diffs are not rendered by default.

57 changes: 24 additions & 33 deletions build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ ant $antArgs $scalacArgs $targets

antArgs tend to be:
-Darchives.skipxz=true
-Dscalac.args.optimise=-Yopt:l:classpath
-Dscalac.args.optimise=-opt:l:classpath

scalacArgs examples:
"-Dscalac.args=\"-Yrangepos\" -Dpartest.scalac_opts=\"-Yrangepos\""
Expand Down Expand Up @@ -79,13 +79,13 @@ TODO:
<target name="publish-opt-nodocs" description="Publishes Scala (optimized) without generating docs/testing (library/reflect/compiler/swing).">
<antcall target="publish">
<param name="docs.skip" value="1"/>
<param name="scalac.args.optimise" value="-Yopt:l:classpath"/>
<param name="scalac.args.optimise" value="-opt:l:classpath"/>
</antcall>
</target>
<target name="publish-core-opt-nodocs" description="Builds an untested, undocumented optimised core (library/reflect/compiler) and publishes to maven.">
<antcall target="publish-core">
<param name="docs.skip" value="1"/>
<param name="scalac.args.optimise" value="-Yopt:l:classpath"/>
<param name="scalac.args.optimise" value="-opt:l:classpath"/>
</antcall>
</target>
<target name="publish-core-local-nodocs" description="Builds an untested, undocumented core (library/reflect/compiler) and locally publishes to maven">
Expand Down Expand Up @@ -273,10 +273,15 @@ TODO:
<dependency groupId="org.pantsbuild" artifactId="jarjar" version="1.6.0"/>
</artifact:dependencies>

<artifact:dependencies pathId="jarlister.classpath">
<dependency groupId="com.github.rjolly" artifactId="jarlister_2.11" version="1.0"/>
</artifact:dependencies>

<!-- JUnit -->
<property name="junit.version" value="4.12"/>
<artifact:dependencies pathId="junit.classpath" filesetId="junit.fileset">
<dependency groupId="junit" artifactId="junit" version="${junit.version}"/>
<dependency groupId="org.openjdk.jol" artifactId="jol-core" version="0.5"/>
</artifact:dependencies>
<copy-deps project="junit"/>

Expand Down Expand Up @@ -314,7 +319,6 @@ TODO:
<prepareCross name="scala-parser-combinators" />
<prepareCross name="scala-swing"/>
<prepareCross name="partest"/>
<prepareCross name="scalacheck"/>

<artifact:dependencies pathId="asm.classpath" filesetId="asm.fileset">
<dependency groupId="org.scala-lang.modules" artifactId="scala-asm" version="${scala-asm.version}"/>
Expand All @@ -334,11 +338,6 @@ TODO:
</artifact:dependencies>
<copy-deps project="partest"/>

<artifact:dependencies pathId="scalacheck.classpath" filesetId="scalacheck.fileset" versionsId="scalacheck.versions">
<artifact:remoteRepository refid="extra-repo"/>
<dependency groupId="org.scalacheck" artifactId="scalacheck${scalacheck.cross}" version="${scalacheck.version.number}" />
</artifact:dependencies>

<artifact:dependencies pathId="repl.deps.classpath" filesetId="repl.fileset" versionsId="repl.deps.versions">
<dependency groupId="jline" artifactId="jline" version="${jline.version}"/>
</artifact:dependencies>
Expand Down Expand Up @@ -368,7 +367,7 @@ TODO:

<propertyForCrossedArtifact name="scala-parser-combinators" jar="org.scala-lang.modules:scala-parser-combinators"/>
<propertyForCrossedArtifact name="scala-xml" jar="org.scala-lang.modules:scala-xml"/>
<propertyForCrossedArtifact name="scala-swing" jar="org.scala-lang.modules:scala-swing"/>
<propertyForCrossedArtifact name="scala-swing" jar="org.scala-lang.modules:scala-swing"/>

<!-- BND support -->
<typedef resource="aQute/bnd/ant/taskdef.properties" classpathref="extra.tasks.classpath" />
Expand Down Expand Up @@ -562,7 +561,6 @@ TODO:
<echo message="scala-swing.version.number = ${scala-swing.version.number}"/>
<echo message="jline.version = ${jline.version}"/>
<echo message="partest.version.number = ${partest.version.number}"/>
<echo message="scalacheck.version.number = ${scalacheck.version.number}"/>

<propertyfile file="versions.properties">
<entry key="starr.version" value="${starr.version}"/>
Expand All @@ -572,7 +570,6 @@ TODO:
<entry key="scala-swing.version.number" value="${scala-swing.version.number}"/>
<entry key="jline.version" value="${jline.version}"/>
<entry key="partest.version.number" value="${partest.version.number}"/>
<entry key="scalacheck.version.number" value="${scalacheck.version.number}"/>
</propertyfile>
</then></if>

Expand Down Expand Up @@ -786,10 +783,14 @@ TODO:
<path refid="aux.libs"/>
</path>

<path id="pack.lib.path">
<pathelement location="${library.jar}"/>
<path refid="jarlister.classpath"/>
</path>

<path id="pack.bin.tool.path">
<pathelement location="${library.jar}"/>
<pathelement location="${xml.jar}"/>
<pathelement location="${parser-combinators.jar}"/>
<pathelement location="${reflect.jar}"/>
<pathelement location="${compiler.jar}"/>
<!-- TODO modularize compiler: <pathelement location="${scaladoc.jar}"/> -->
Expand All @@ -802,7 +803,9 @@ TODO:
<fileset dir="${build-quick.dir}/classes/library"/>
</path>

<path id="pack.repl-jline.files"> <fileset dir="${build-quick.dir}/classes/repl-jline"/> </path>
<path id="pack.repl-jline.files">
<fileset dir="${build-quick.dir}/classes/repl-jline"/>
</path>

<path id="pack.compiler.files">
<fileset dir="${build-quick.dir}/classes/compiler"/>
Expand Down Expand Up @@ -911,29 +914,16 @@ TODO:
<!-- partest's dependencies, which marks most of its dependencies as provided,
(but not scala-library, so we filter that one out...)
so we provide them: scala-[library/reflect/compiler], scalap built here,
scala-xml, scala-parser-combinators via external-modules-nocore,
scalacheck as part of `partest.classpath` -->
scala-xml via external-modules-nocore, as part of `partest.classpath` -->
<restrict>
<path refid="partest.classpath"/>
<rsel:not><rsel:or>
<rsel:name name="scala-library*.jar"/>
</rsel:or></rsel:not>
</restrict>
<pathelement location="${scala-xml}"/>
<pathelement location="${scala-parser-combinators}"/>
<!-- <pathelement location="${scala-swing}"/> -->

<restrict>
<path refid="scalacheck.classpath"/>
<rsel:not><rsel:or>
<rsel:name name="scala-library*.jar"/>
<rsel:name name="scala-compiler*.jar"/>
<rsel:name name="scala-reflect*.jar"/>
<rsel:name name="scala-parser-combinators*.jar"/>
<rsel:name name="scala-xml*.jar"/>
</rsel:or></rsel:not>
</restrict>

<!-- partest classes specific to the core compiler build -->
<pathelement location="${partest-extras.jar}"/>
<pathelement location="${partest-javaagent.jar}"/>
Expand Down Expand Up @@ -1042,7 +1032,7 @@ TODO:
<antcall target="publish-core-local">
<param name="maven.version.suffix" value="-STARR-${git.commit.sha}-SNAPSHOT"/>
<param name="docs.skip" value="1"/>
<param name="scalac.args.optimise" value="-Yopt:l:classpath"/>
<param name="scalac.args.optimise" value="-opt:l:classpath"/>
<param name="update.starr.version" value="alright then"/>
</antcall>
</target>
Expand Down Expand Up @@ -1137,7 +1127,10 @@ TODO:
<!-- ===========================================================================
PACKED QUICK BUILD (PACK)
============================================================================ -->
<target name="pack.lib" depends="quick.lib"> <staged-pack project="library"/></target>
<target name="pack.lib" depends="quick.lib"> <staged-pack project="library"/>
<taskdef resource="scala/tools/ant/antlib.xml" classpathref="pack.lib.path"/>
<jarlister file="${library.jar}"/>
</target>

<target name="pack.reflect" depends="quick.reflect"> <staged-pack project="reflect"/> </target>

Expand All @@ -1163,7 +1156,7 @@ TODO:
</pre>
<!-- JSR-223 support introduced in 2.11 -->
<jar-opts>
<service type="javax.script.ScriptEngineFactory" provider="scala.tools.nsc.interpreter.IMain$Factory"/>
<service type="javax.script.ScriptEngineFactory" provider="scala.tools.nsc.interpreter.Scripted$Factory"/>
</jar-opts>
</staged-pack>
</target>
Expand Down Expand Up @@ -1284,8 +1277,6 @@ TODO:
<include name="${interactive.jar}"/>
<include name="${scaladoc.jar}"/>
-->

<file name="${parser-combinators.jar}"/>
<file name="${xml.jar}"/>
<file name="${swing.jar}"/>
</filelist>
Expand Down
5 changes: 0 additions & 5 deletions dbuild-meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,6 @@
"extension" : "jar",
"name" : "scala-xml",
"organization" : "org.scala-lang.modules"
},
{
"extension" : "jar",
"name" : "scala-parser-combinators",
"organization" : "org.scala-lang.modules"
}
],
"name" : "scala-compiler",
Expand Down
1 change: 1 addition & 0 deletions doc/LICENSE.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ This license is used by the following third-party libraries:
This license is used by the following third-party libraries:

* jline
* scalacheck

### [BSD 3-Clause License](http://opensource.org/licenses/BSD-3-Clause)
This license is used by the following third-party libraries:
Expand Down
32 changes: 32 additions & 0 deletions doc/licenses/bsd_scalacheck.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
ScalaCheck LICENSE

Copyright (c) 2007-2013, Rickard Nilsson
All rights reserved.

Permission to use, copy, modify, and distribute this software in source
or binary form for any purpose with or without fee is hereby granted,
provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

3. Neither the name of the author nor the names of its contributors
may be used to endorse or promote products derived from this
software without specific prior written permission.


THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
11 changes: 11 additions & 0 deletions project/BuildSettings.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import sbt._

/** This object defines keys that should be visible with an unqualified name in all .sbt files and the command line */
object BuildSettings extends AutoPlugin {
object autoImport {
lazy val antStyle = settingKey[Boolean]("Use ant-style incremental builds instead of name-hashing")
lazy val baseVersion = settingKey[String]("The base version number from which all others are derived")
lazy val baseVersionSuffix = settingKey[String]("Identifies the kind of version to build")
lazy val mimaReferenceVersion = settingKey[Option[String]]("Scala version number to run MiMa against")
}
}
95 changes: 95 additions & 0 deletions project/MiMa.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
// It would be nice to use sbt-mima-plugin here, but the plugin is missing
// at least two features we need:
// * ability to run MiMa twice, swapping `curr` and `prev`, to detect
// both forwards and backwards incompatibilities (possibly fixed as of
// https://github.com/typesafehub/migration-manager/commit/2844ffa48b6d2255aa64bd687703aec21dadd55e)
// * ability to pass a filter file (https://github.com/typesafehub/migration-manager/issues/102)
// So we invoke the MiMa CLI directly; it's also what the Ant build did.

import sbt._
import sbt.Keys._
import BuildSettings.autoImport._

object MiMa {
lazy val mima =
taskKey[Unit]("run Migration Manager to detect binary incompatibilities")

lazy val settings =
Seq(
mima := {
val log = streams.value.log
mimaReferenceVersion.value.fold {
log.info(s"No reference version defined - skipping binary compatibility checks")
} { refVersion =>
def runOnce(prev: java.io.File, curr: java.io.File, isForward: Boolean): Unit = {
val direction = if (isForward) "forward" else "backward"
log.info(s"Checking $direction binary compatibility")
log.debug(s"prev = $prev, curr = $curr")
runMima(
prev = if (isForward) curr else prev,
curr = if (isForward) prev else curr,
// TODO: it would be nicer if each subproject had its own whitelist, but for now
// for compatibility with how Ant did things, there's just one at the root.
// once Ant is gone we'd be free to split it up.
filter = (baseDirectory in ThisBuild).value / s"bincompat-$direction.whitelist.conf",
log)
}
val artifact =
getPreviousArtifact(
"org.scala-lang" % s"${name.value}" % refVersion,
ivySbt.value, streams.value)
for (isForward <- Seq(false, true))
runOnce(artifact, (packageBin in Compile).value, isForward)
}
}
)

def runMima(prev: java.io.File, curr: java.io.File, filter: java.io.File, log: Logger): Unit = {
val args = Array(
"--prev", prev.getAbsolutePath,
"--curr", curr.getAbsolutePath,
"--filters", filter.getAbsolutePath,
"--generate-filters"
)
val exitCode = TrapExit(com.typesafe.tools.mima.cli.Main.main(args), log)
if (exitCode != 0)
throw new RuntimeException(s"MiMa failed with exit code $exitCode")
}

// cribbed from https://github.com/typesafehub/migration-manager/blob/master/sbtplugin/src/main/scala/com/typesafe/tools/mima/plugin/SbtMima.scala
def getPreviousArtifact(m: ModuleID, ivy: IvySbt, s: TaskStreams): File = {
val moduleSettings = InlineConfiguration(
"dummy" % "test" % "version",
ModuleInfo("dummy-test-project-for-resolving"),
dependencies = Seq(m))
val module = new ivy.Module(moduleSettings)
val report = Deprecated.Inner.ivyUpdate(ivy)(module, s)
val optFile = (for {
config <- report.configurations
module <- config.modules
(artifact, file) <- module.artifacts
// TODO - Hardcode this?
if artifact.name == m.name
} yield file).headOption
optFile getOrElse sys.error("Could not resolve previous artifact: " + m)
}

}

// use the SI-7934 workaround to silence a deprecation warning on an sbt API
// we have no choice but to call. on the lack of any suitable alternative,
// see https://gitter.im/sbt/sbt-dev?at=5616e2681b0e279854bd74a4 :
// "it's my intention to eventually come up with a public API" says Eugene Y
object Deprecated {
@deprecated("", "") class Inner {
def ivyUpdate(ivy: IvySbt)(module: ivy.Module, s: TaskStreams) =
IvyActions.update(
module,
new UpdateConfiguration(
retrieve = None,
missingOk = false,
logging = UpdateLogging.DownloadOnly),
s.log)
}
object Inner extends Inner
}
Loading