summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | Merge pull request #877 from magarciaEPFL/fixesAdriaan Moors2012-07-111-1/+1
|\ \ \ \ \ | | | | | | | | | | | | SI-6015 assertion (in Type-flow analysis) that wasn't, valid counterexample found
| * | | | | SI-6015 assertion (in Type-flow analysis) that wasn't, valid counterexample ↵Miguel Garcia2012-07-111-1/+1
| |/ / / / | | | | | | | | | | | | | | | found
* | | | | Merge pull request #874 from adriaanm/ticket-6022Adriaan Moors2012-07-113-8/+44
|\ \ \ \ \ | | | | | | | | | | | | SI-6022 model type-test-implication better
| * | | | | SI-6022 model type-test-implication betterAdriaan Moors2012-07-113-8/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | we use subtyping as a model for implication between instanceof tests i.e., when S <:< T we assume x.isInstanceOf[S] implies x.isInstanceOf[T] unfortunately this is not true in general. SI-6022 expects instanceOfTpImplies(ProductClass.tpe, AnyRefClass.tpe), but ProductClass.tpe <:< AnyRefClass.tpe does not hold because Product extends Any however, if x.isInstanceOf[Product] holds, so does x.isInstanceOf[AnyRef], and that's all we care about when modeling type tests
* | | | | | Merge pull request #878 from adriaanm/topic-polyvalclassAdriaan Moors2012-07-119-49/+128
|\ \ \ \ \ \ | | | | | | | | | | | | | | polymorphic value classes
| * | | | | | polymorphic value classesMartin Odersky2012-07-117-47/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | dropping boxing code, which turned out to be a dead end.
| * | | | | | statistics: print millis instead of micros.Martin Odersky2012-07-111-1/+1
| | | | | | |
| * | | | | | don't crash on syntactically incorrect value classesMartin Odersky2012-07-111-1/+1
| | | | | | |
* | | | | | | Merge pull request #887 from paulp/topic/pickledflagsAdriaan Moors2012-07-1110-60/+59
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | major fixes to how flags are pickled
| * | | | | | | Removed EXISTENTIAL special case in unpickler.Paul Phillips2012-07-111-6/+1
| | | | | | | |
| * | | | | | | Merge branch '2.10.x' into topic/pickledflagsPaul Phillips2012-07-1168-194/+675
| |\ \ \ \ \ \ \ | | | |_|_|_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | Conflicts: src/reflect/scala/reflect/internal/Flags.scala
| * | | | | | | Pickled flag reorgMartin Odersky2012-07-119-54/+49
| | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cleaned up and optimized code that maps between raw and pickled flags. Avoids mystery constants. Makes a whole bunch of new flags be pickled which were not pickled before (more precisely: Everything in InitialFlags with value greater than 1 << 31 which is not in FlagsNotPickled now gets pickled whereas before it wasn't. Among these: VARARGS, IMPLCLASS, SPECIALZED, DEFAULTINIT, SYNCHRONIZED. I am curious how many tickets will get fixed by this change. The first one I noted is t5504, which previously enforced the buggy behavior through a neg check! There are also some build manager check file changes that have to do with the fact that flags now print in a different order for performance reasons.
* | | | | | | Merge pull request #881 from lrytz/t4763Josh Suereth2012-07-1119-20/+40
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | SI-4763 deprecated `@cloneable` annotation
| * | | | | | SI-4763 Deprecated the `cloneable` annotationLukas Rytz2012-07-1112-14/+24
| | | | | | |
| * | | | | | Moved cloneable class to package `scala.annotation`.Lukas Rytz2012-07-1110-157/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Requires a new starr.
| * | | | | | starr sources to move cloneable class to package `annotation`Lukas Rytz2012-07-115-1/+160
| | |/ / / / | |/| | | |
* | | | | | Merge commit 'refs/pull/851/head' into 2.10.xAdriaan Moors2012-07-118-10/+14
|\ \ \ \ \ \ | |/ / / / / |/| | | | |
| * | | | | Added a HIDDEN flag.Paul Phillips2012-07-088-10/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [Still not a fan of the massive overlap between GenJVM and GenASM. I do not think such duplication should be allowed into master at all, neither in experimental backends nor anywhere else. Putting us in the position that we have to actually switch to stop incurring the duplication is engineering-by-prayer.] The SYNTHETIC flag was long ago discovered to be inadequately specific to allow for emitting ACC_SYNTHETIC in bytecode. In this commit is born a HIDDEN flag, which signals the flagged symbol as implementation detail which should not be considered during typechecking, and which will receive ACC_SYNTHETIC during code generation. Unsure what should be hidden, I conservatively marked a few things which seem safely hidable. - $outer fields and accessors - classes whose classfile has the jvm Synthetic attribute (not to be confused with the SYNTHETIC flag) I leave additional choices to those who have a better idea how this will materialize (i.e. IDE guys.) It is easy to selectively introduce this flag; but the SYNTHETIC flag is set or checked for in so many places, it is very difficult to alter the logic around it (either by setting it less, or checking for HIDDEN only) with much confidence. So right now HIDDEN is only used to help ACC_SYNTHETIC make it into bytecode - it is only set in conjunction with SYNTHETIC, and it doesn't help anyone hide from the typechecker. Review by @dragos, @odersky.
| | | | | |
| \ \ \ \ \
| \ \ \ \ \
| \ \ \ \ \
| \ \ \ \ \
| \ \ \ \ \
| \ \ \ \ \
| \ \ \ \ \
*-------. \ \ \ \ \ Merge commit 'refs/pull/825/head'; commit 'refs/pull/827/head'; commit ↵Adriaan Moors2012-07-1162-184/+652
|\ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|/ / / / |/| | | | | | | | | | | | | | | | | | | 'refs/pull/828/head'; commit 'refs/pull/850/head'; commit 'refs/pull/858/head' into 2.10.x
| | | | | * | | | | bandaid in GenASM for SI-6049Miguel Garcia2012-07-101-4/+10
| | | | | | | | | |
| | | | * | | | | | SI-6042 Improve type selection from volatile type errorJason Zaugg2012-07-084-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Display the type of the typed qualifier (qual1), to avoid the message "Illegal type selection from volatile type null". - Show the upper bound, which is used to calculate the volatility.
| | | * | | | | | | SI-5974 make collection.convert.Wrappers serializableLukas Rytz2012-07-053-1/+13
| | | | | | | | | |
| | * | | | | | | | Allow attachments for symbols, just like for trees.Lukas Rytz2012-07-0515-74/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removes the two global hash maps in Namers, and the one in NamesDefaults. Also fixes SI-5975.
| | * | | | | | | | Enhanced presentation compiler test infrastructureMirco Dotta2012-07-0510-46/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Removed unneeded .flags. * Renamed a few methods in `InteractiveTest`. * Force the presentation compiler to shut down after each test. * -sourcepath in the .flags file is now relative to the test's base directory. * Use `InteractiveReporter` in Presentation Compiler tests. By using the `InteractiveReporter`, compilation errors are collected in the compilation unit. This was necessary for testing SI-5975.
| * | | | | | | | | removes special case for BigIntegerDominik Gruntz2012-07-061-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After rebasing, the commit 34d36108bf is in the history, therefore a patch in my code can be removed as an implicit conversion from BigInteger to BigInt was added in commit 34d36108bf. The tests cases test this case and still pass.
| * | | | | | | | | stringinterpolation macro test filesAdriaan Moors2012-07-064-0/+266
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds test files neg: checks the error messages generated by the compiler run: checks the macro implementation features
| * | | | | | | | | adds the sha1 files of the new starr / stringContext.fDominik Gruntz2012-07-0622-58/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit provides the new sha1 codes of the new STARR. Moreover, it replaces the implementation of StringContext.f to `macro ???`. The implementation is magically hardwired into `scala.tools.reflect.MacroImplementations.macro_StringInterpolation_f` by the new STARR.
| * | | | | | | | | macro-based string interpolation formatterAdriaan Moors2012-07-065-6/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit provides a macro based string interpolation formatter. The macro is implemented in MacroImplementations.scala. In order to still be able to build a new STARR, the implementation in StringContext.f is not yet changed. This will be replaced in a later commit.
* | | | | | | | | | Merge pull request #861 from dragos/revert-genasm-bg-threadv2.10.0-M5Adriaan Moors2012-07-103-91/+35
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Revert "GenASM: pipeline disk-write with building of classfiles"
| * | | | | | | | | | Revert "GenASM: pipeline disk-write with building of classfiles"Iulian Dragos2012-07-103-91/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 5d12fa4b791e73d5c99a0e145d28cbaba12823d2.
* | | | | | | | | | | Merge pull request #864 from jsuereth/fix/critical-build-fixinsJosh Suereth2012-07-101-1/+1
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | FIXING THE SAME MISTAKE BUT IN STRAP. Yay for copy-paste ant-magic
| * | | | | | | | | | | FIXING THE SAME MISTAKE BUT IN STRAP. Yay for copy-paste ant-magicJosh Suereth2012-07-101-1/+1
|/ / / / / / / / / / /
* | | | | | | | | | | Merge pull request #860 from jsuereth/fix/critical-build-fixinsAdriaan Moors2012-07-101-1/+2
|\ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / |/| | | | | | | | | | Fixed very bad build.xml issue and quick.bin missing ASM.
| * | | | | | | | | | Fixed very bad build.xml issue and quick.bin missing ASM.Josh Suereth2012-07-101-1/+2
|/ / / / / / / / / /
* | | | | | | | | | Merge pull request #840 from jsuereth/fix/newstarr-with-sourceLukas Rytz2012-07-101-37/+31
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | STARR now includes source
| * | | | | | | | | | Added opt variant to replacestarrwinJosh Suereth2012-07-061-0/+6
| | | | | | | | | | |
| * | | | | | | | | | Fixed replacestarr to use packed libraries and also include source files.Josh Suereth2012-07-061-37/+25
| |/ / / / / / / / /
* | | | | | | | | | Merge pull request #856 from havocp/sip14-execution-changesAdriaan Moors2012-07-1015-321/+478
|\ \ \ \ \ \ \ \ \ \ | |_|_|_|_|/ / / / / |/| | | | | | | | | Collection of updates to SIP-14 (scala.concurrent)
| * | | | | | | | | Collection of updates to SIP-14 (scala.concurrent)Havoc Pennington2012-07-0915-321/+478
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Developed by Viktor Klang and Havoc Pennington - add Promise.isCompleted - add Future.successful and Future.failed - add ExecutionContextExecutor and ExecutionContextExecutorService for Java interop - remove defaultExecutionContext as default parameter value from promise and future - add ExecutionContext.Implicits.global which must be explicitly imported, rather than the previous always-available value for the implicit EC - remove currentExecutionContext, since it could create bugs by being out of sync with the implicit ExecutionContext - remove Future task batching (_taskStack) and Future.releaseStack This optimization should instead be implemented either in a specific thread pool or in a specific ExecutionContext. Some pools or ExecutionContexts may not want or need it. In this patch, the defaultExecutionContext does not keep the batching optimization. Whether it should have it should perhaps be determined through benchmarking. - move internalBlockingCall to BlockContext and remove currentExecutionContext In this patch, BlockContext must be implemented by Thread.currentThread, so the thread pool is the only place you can add custom hooks to be run when blocking. We implement BlockContext for the default ForkJoinWorkerThread in terms of ForkJoinPool.ManagedBlocker. - add public BlockContext.current and BlockContext.withBlockContext These allow an ExecutionContext or other code to override the BlockContext for the current thread. With this API, the BlockContext is customizable without creating a new pool of threads. BlockContext.current is needed to obtain the previous BlockContext before you push, so you can "chain up" to it if desired. BlockContext.withBlockContext is used to override the context for a given piece of code. - move isFutureThrowable into impl.Future - add implicitNotFound to ExecutionContext - remove default global EC from future {} and promise {} - add ExecutionContext.global for explicit use of the global default EC, replaces defaultExecutionContext - add a timeout to scala-concurrent-tck tests that block on SyncVar (so tests time out rather than hang) - insert blocking{} calls into concurrent tck to fix deadlocking - add NonFatal.apply and tests for NonFatal - add OnCompleteRunnable marker trait This would allow an ExecutionContext to distinguish a Runnable originating from Future.onComplete (all callbacks on Future end up going through onComplete). - rename ListenerRunnable to CallbackRunnable and use for KeptPromise too Just adds some clarity and consistency.
* | | | | | | | | | Merge pull request #857 from vjovanov/masterAdriaan Moors2012-07-091-188/+0
|\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / |/| | | | | | | | | Removing the non-deterministic actor migration test.
| * | | | | | | | | Removing the actor migration undeterministic test.Vojin Jovanovic2012-07-091-188/+0
|/ / / / / / / / /
* | | | | | | | | Merge pull request #854 from ↵Adriaan Moors2012-07-0911-60/+610
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | clhodapp/feature/reflection-overload-resolution-improvements2 New TermSymbol.resolveOverloaded
| * | | | | | | | | improved resolveOverloaded docs cvogt2012-07-091-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixed few mistakes, easier explanation of prefix type, more regular argument descriptions
| * | | | | | | | | Added scaladoc for resolveOverloaded.clhodapp2012-07-091-0/+18
| | | | | | | | | |
| * | | | | | | | | New logic for TermSymbol.resolveOverloadedclhodapp2012-07-0811-60/+592
| | | | | | | | | |
* | | | | | | | | | Merge pull request #841 from magarciaEPFL/fixesAdriaan Moors2012-07-094-13/+28
|\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / |/| | | | | | | | | final touches to GenASM to become default JVM backend in M5
| * | | | | | | | | scalac ant task now supports all GenASM targetsMiguel Garcia2012-07-081-1/+1
| | | | | | | | | |
| * | | | | | | | | raise compile time error about impending VerifyError due to unsorted ↵Miguel Garcia2012-07-071-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lookupswitch (SI-6011)
| * | | | | | | | | SI-6025 fix for GenASM, GenJVM-based fix pendingMiguel Garcia2012-07-061-10/+14
| | | | | | | | | |
| * | | | | | | | | GenASM becomes default backend, 1.5 classfiles remain as defaultMiguel Garcia2012-07-063-3/+5
| |/ / / / / / / /