summaryrefslogtreecommitdiff
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
...
| * New forkjoin jar as described in 76e9da2ca4 .Paul Phillips2012-02-251-1/+1
| |
| * Specialization action.Paul Phillips2012-02-143-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The crickets at http://www.scala-lang.org/node/11901 were in unanimous agreement that I should proceed as suggested. - No arguments to @specialize gets you 10/10, not 9/10 - Fixed bugs in AnyRef specialization revealed by trying to use it - Specialized Function1 on AnyRef. - Changed AnyRef specialization to use OBJECT_TAG, not TVAR_TAG. - Deprecated SpecializableCompanion in favor of Specializable, which has the virtue of being public so it can be referenced from outside the library. - Cooked up mechanism to group specializable types so we don't have to repeat ourselves quite so much, and create a few groups for illustrative purposes. I'm not too serious about those names but I used up all my name-thinking-up brain for the day. - Updated genprod and friends since I had to regenerate Function1. - Put tests for a bunch of remaining specialization bugs in pending. Closes SI-4740, SI-4770, SI-5267.
| * new starr based on v2.10.0-M1-167-g0ccd295a78Paul Phillips2012-02-063-3/+3
| |
* | Restored msil.Paul Phillips2012-02-041-1/+1
| |
* | Making AnyVal into a class instead of a trait.Paul Phillips2012-02-043-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- traits can extend Any, AnyRef, or AnyVal -- classes can extend AnyRef or AnyVal but not Any. This breaks reflection for the moment as it smuggles AnyVal so far downstream that it's reflecting its way into bytecode (or something) but the following test case goes five for six as anticipated. trait Foo1 extends Any trait Foo2 extends AnyVal trait Foo3 extends AnyRef class Bar1 extends Any // fail @inline class Bar2 extends AnyVal class Bar3 extends AnyRef Eliminated various hijinx from definitions.
* | Guard List_apply from premature forcitude.Paul Phillips2012-02-043-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | Solved the annotation cycle puzzle. Was being burned again by the hack which preferentially treats List() as Nil to avoid List's extractor. This commit includes a new starr which fully bootstraps. Also at this point traits can extend Any and will not be given an AnyRef parent (until erasure.) This is the case for AnyVal and NotNull.
* | New shas for bootstrap libs.Paul Phillips2012-02-033-3/+3
| | | | | | | | | | Free at last, free at last, of ScalaObject we're free at last. (With apologies to the Reverend, but the man had a way with words.)
* | Merge branch 'master' into topic/inlinePaul Phillips2012-02-031-1/+1
|\|
| * Fixed handling of empty keys in emitSWITCH.Grzegorz Kossakowski2012-02-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem of emitSWITCH not handling empty keys popped up when I tried to implement unfolding of pattern alternatives in genicode instead of in typers/explicitouter. This change makes perfect sense in isolation as bytecode allows LOOKUPSWITCHes that have only default case. I actually verified that this kind of bytecode is generated by javac when one has switch statement with only default case defined. Review by @paulp or @dragos.
* | Pushed new starr and updated desired shas.Paul Phillips2012-01-303-3/+3
|/
* Fix for erroneous bytecode generation.Paul Phillips2011-11-281-1/+1
| | | | | | | | | | | | | | | | | | | A remedy for an IllegalAccessError where generated bytecode referred to an inaccessible type. Closes SI-1430. Bonus materials: - tore out all the invokedynamic support. The shipped jdk7 implementation shows limited resemblance to the one this was written against; the code mostly serves to distract. (I think I could get invokedynamic working pretty quickly, except that it would mean having a codebase for java7 and one for 5-6, which is not a yak I wish to shave today.) - gave NullClass and NothingClass objects of their own, which allowed a nice polymorphic simplification of isSubClass, plus a couple other streamlinings.
* New starr based on r26060.Paul Phillips2011-11-233-3/+3
|
* New starr based on r26049.Paul Phillips2011-11-233-3/+3
|
* Moved meta annotations to annotation.meta, plus.Paul Phillips2011-10-103-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It took me a long time to find a trivial error while adjusting the annotation packages, so I spent even longer trying to make sure next time it would take me less time. It's the usual business of eliminating duplication and unnecessary indirection. Behavioral note: there was no consistency or deducible reasoning regarding when annotation checks would be performed against the typeSymbol directly (thus excluding annotation subclasses) or when they would do a subclass check. I saw no reason it shouldn't always be a subclass check; if the annotation isn't supposed to be subclassed it should be final, and if it is, then the subclasses had probably better not stop exhibiting the behavior of the base class. Example: this now draws deprecated warnings, but did not before. class bippy extends deprecated("hi mom", "burma shave") @bippy def f = 5 (The deprecation message isn't printed so we're not there yet, but closer.) There is some new internal documentation on annotations, sadly lacking in my famous ascii diagrams, and some new conveniences. Review by rytz.
* Shuffling classes around.Paul Phillips2011-10-013-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Old Man Reflection is coming home and he's not going to like finding out a bunch of beans have moved into his reflecting room. We had better evict those guys before he blows his stack. scala.reflect.*Bean* --> scala.beans.* scala.beans, that's kind of a fancy package name for some beans. I figure it's time to start fishing or cutting bait on this kind of thing. I don't even know what beans are, but if we're going to have them in the mainline, the least surprising place to find them is scala.beans. If we don't want to put them in scala.beans for whatever reason, then I say they don't belong in trunk at all. Bonus round: scala.annotation.target --> scala.beans.meta I don't know if there is any more unfortunate name for a package possible than "target". Maybe ".svn" or ".git" if you could have dots in package names. Package CVS wouldn't hit too hard these days. Package lib_managed? I'll try to come up with something. In any case this golden opportunity could not be squandered. There is a new starr included, because GenJVM contains all kinds of shooting-from-the-hip Bean-related name hardcoding. (Yes, still. I ran out of stones. So a few birds escape with their lives... this time.)
* Fixing the optimized build.Paul Phillips2011-09-101-1/+1
| | | | | | Continuations suddenly needs fjbg.jar on its classpath due to transitive dependency, no review.
* Discovered through jsuereth's work that a file ...Paul Phillips2011-07-291-1/+0
| | | | | | | Discovered through jsuereth's work that a file I should have removed way back in r17897 slipped the noose. Your free ride ends here, midpapi10.jar. No review.
* New starr based on r25394 to make the starr lib...Paul Phillips2011-07-283-3/+3
| | | | | | New starr based on r25394 to make the starr liberator's job easier, no review.
* Upgraded jline to use jansi 1.6 in the belief i...Paul Phillips2011-06-191-1/+1
| | | | | | Upgraded jline to use jansi 1.6 in the belief it will cure SI-4703. No review.
* Updated jline build to use xsbt 0.9.9 and rebui...Paul Phillips2011-05-291-1/+1
| | | | | Updated jline build to use xsbt 0.9.9 and rebuilt, no review.
* Rebuilt jline with some navigation improvements...Paul Phillips2011-05-261-1/+1
| | | | | | | | | | | | | | | | | Rebuilt jline with some navigation improvements (ctrl-T jumps forward a word, ctrl-X deletes the word in front of the cursor), thanks to Kenji Matsuoka for portions of this patch. Note to OSX users: TIL learned that ctrl-O is swallowed by the terminal and that unless you have some need for weird flow-control over serial connection control chars, you can recover it with stty discard undef And then you have ctrl-O for previous word and ctrl-T for next word. No review.
* Error reporting when the generated code size ex...Iulian Dragos2011-05-171-1/+1
| | | | | | Error reporting when the generated code size exceeds JVM limits (65,535 bytes per method). Closed #4573. review by extempore.
* New starr based on r24814, no review.Paul Phillips2011-04-243-3/+3
|
* Reverted a jline commit which had broken histor...Paul Phillips2011-04-231-1/+1
| | | | | Reverted a jline commit which had broken history search, no review.
* New starr based on r24804, no review.Paul Phillips2011-04-223-3/+3
|
* [MSIL] finer-grain debugging (steps one sub-exp...Miguel Garcia2011-04-201-1/+1
| | | | | [MSIL] finer-grain debugging (steps one sub-expression at time).
* Some patches to jline, and new jar.Paul Phillips2011-04-141-1/+1
| | | | | for improving the keybindings. No review.
* New starr based on r24749. No review.Paul Phillips2011-04-133-3/+3
|
* [MSIL] handling of volatile fields.Miguel Garcia2011-04-081-1/+1
|
* msil.jar updated with changeset 24614Miguel Garcia2011-03-281-1/+1
|
* A couple more minor tweaks to power mode, and m...Paul Phillips2011-03-191-1/+1
| | | | | | | A couple more minor tweaks to power mode, and more importantly, fix for a jline NPE provoked if your classloaders loaded classes in a way other than it expected. No review.
* Rebuilt jline for java 1.5. No review.v2.9-divergedPaul Phillips2011-03-171-1/+1
|
* Upgraded to latest maven-ant-tasks jarJosh Suereth2011-03-052-1/+1
|
* This addresses a few long standing irritations ...Paul Phillips2011-02-111-1/+1
| | | | | | | | | | | | | | This addresses a few long standing irritations with jline, rewriting chunks of it along the way. No longer does columnar output spill over and double space everything if you're unlucky with the chosen widths. Pagination works for a higher definition of work. Etc. Also, for those who enjoy operating missile systems from their repls, crash recovery now requests your permission before replaying the session. Closes #4194, no review.
* The AnyVal types become source files instead of...Paul Phillips2011-01-243-3/+3
| | | | | | | | | | | | | | | | | | | The AnyVal types become source files instead of polite compiler fictions. !! You'll need a serious "ant all.clean" now. !! As of this commit the system is fully bootstrapped and the synthetic code eliminated: only the source files remain. The sort-of-AnyVal-companions in scala.runtime.* have all been eliminated because the actual companions can do everything; deprecated vals in the scala.runtime package object point to the companions. This left AnyValCompanion as the only AnyVal related thing in the runtime package: that made little sense, so I deprecated and moved it as well. Starr is based on r24066 plus this commit. Closes #4121. Review by rytz, odersky.
* Updated to new jline sources with it moved into...Paul Phillips2011-01-211-1/+1
| | | | | | | Updated to new jline sources with it moved into scala.tools.jline. I transitioned the jline build from maven to sbt, and this commit includes the first sbt-built binary. Review by jsuereth.
* Fix for a jline paste bug. No review.Paul Phillips2011-01-131-1/+1
|
* The shutdown hook installed by jline has made l...Paul Phillips2011-01-061-1/+1
| | | | | | | | | | | The shutdown hook installed by jline has made life difficult for sbt for a while. This changes jline not to install it, and alters the scala startup script to trap exit and re-enable echo on recognizably unix platforms. In addition it no longer installs a shutdown hook to flush the repl history to disk, instead flushing after every line. Any bash reviewers out there? Unless someone raises a hand, no review.
* fixed (and extended) bytecode readermichelou2010-12-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IMPORTANT NOTE Modifying code of the FJBG library is a very sensitive task since its write operations are eg. used by the Scala compiler. This SVN commit affects (should affect) only the read operations (which did never work) of the FJBG library. Changes include: - fixed several killer bugs in the bytecode reader (see below). - added missing input stream constructors in several Attribute classes (eg. JBootstrapInvokeDynamic, JEnclosingMethodAttribute, JInnerClassesAttribute) together with the corresponding class registrations in class JAttributeFactory. - added classes JExceptionsTable, JLocalVariableTableAttribute and JStackMapTableAttribute (including corresponding factory methods in class FJBGContext). - overriden method toString in most classes to support output format similar to javap (see below). - did some code cleanup (tabs, etc..). Bug fixes include: - fixed incorrect stream.readInt() in JSourceFileAttribute constructor. - fixed missing code.lineNumbers initialization in JLineNumberTableAttribute constructor. - fixed incorrect code in class util.ByteArray constructor (stream). - added method setCode in class JMethod to link them together. Output of decoded bytecode: The added toString() methods return javap-like formatted strings for the decoded data, eg. for the LocalVariableTable attribute you get the following output: ... LocalVariableTable: Start Length Slot Name Signature 0 6 0 this LTest$; 0 6 1 args [Ljava/lang/String; Executing the following Java code will produce decoded bytecode in a format similar to the command line "javap -p -v -classpath <cpath> <classes>": static void printClass(String filePath) throws Exception { FJBGContext fjbgContext = new FJBGContext(49, 0); DataInputStream in = new DataInputStream(new FileInputStream(filePath)); JClass jclass = fjbgContext.JClass(in); System.out.println(jclass); in.close(); } Mainly for providing a demonstrator of the FJBG reader we added to the FJBG library the main class ch.epfl.lamp.fjbg.Main which behaves similarly to javap, the class file disassembler of the J2SE SDK. For instance the following commands produce (more or less) the same output: ~$ scala ch.epfl.lamp.fjbg.Main -classpath classes 'Test javap -p -v$' ~$ -classpath classes 'Test $' In several cases fjbg.Main will provide more information for access flags (eg. brigde methods) and class file attributes (eg. enclosing methods). TODO - integration of FJBGContext.JLocalVariableTableAttribute into the JVM backend of the Scala compiler (cleaner handling of local variables). - The source code of the FJBG library is currently generated using the compiler option "-source 1.4"; moving to source release 1.5 would allow further code improvements like: List --> List<T> (cast removals) StringBuffer --> StringBuilder (faster implementation) /*@Override*/ --> @Override A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
* More jline work from huynhjl.Paul Phillips2010-12-301-1/+1
| | | | | repo and includes jline binary. No review.
* More fixes to avoid the dreaded "NoSymbol does ...Martin Odersky2010-12-181-1/+1
| | | | | | More fixes to avoid the dreaded "NoSymbol does not have owner" problem in names defaults.
* Preparing to enable delayedInit with new starr.Martin Odersky2010-12-142-2/+2
|
* More repl hardening, and a new jline jar which ...Paul Phillips2010-12-131-1/+1
| | | | | | More repl hardening, and a new jline jar which fixes a paste issue on OSX. No review.
* New jline: BSD licensed, based on [ https://git...Paul Phillips2010-12-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | New jline: BSD licensed, based on [ https://github.com/jdillon/jline2 ] with additional code thanks to [ https://github.com/huynhjl/jline2 ]. Replaces lib/jline.jar with build of these sources, and modifies trunk code to work with the new jar. Hopeful improvements including baseline functionality on cygwin and 64bit windows, as well as more accurate line wrapping / cursor positioning on all platforms and ctrl-R history search. For the time being the canonical source repository is this: https://github.com/paulp/jline2 The enclosed sources are a mirror of that repository, and should be treated as read-only in the scala svn repository. No review, codewise, but people are very strongly encouraged to try it out and report any regressions.
* again: relax access boundry check for overridin...Lukas Rytz2010-12-083-3/+3
| | | | | | again: relax access boundry check for overriding protected java members. review by eugenevigdorchik.
* Moved ClassfileAnnotation/StaticAnnotation/Anno...Paul Phillips2010-12-063-3/+3
| | | | | | | Moved ClassfileAnnotation/StaticAnnotation/Annotation/TypeConstraint into scala.annotation and enabled the deprecated type aliases in scala.* to point there. Also enclosed is a new starr to bootstrap. No review.
* Improvements forMSIL: Miguel Garcia2010-11-181-1/+1
| | | | | | | | | | (1) the Scala types in ch.epfl.lamp.compiler.msil.emit now use Scala collections instead of Java's, (2) a few bug fixes regarding metadata parsing, (3) GenMSIL emits output useful for IDE debugging, (4) TypeParser now enters symbols for generics in case the assemblies being linked sport them, (5) a few fixes for bytecode verif in GenMSIL. review by rytz
* Fix InnerClasses attribute: anonymous classes d...Iulian Dragos2010-11-131-1/+1
| | | | | | | | Fix InnerClasses attribute: anonymous classes don't have an outer name. EnclosingMethod is correctly generated. Fixed isAnonymousClass definition. Updated test that depends on anonymous inner class names. Closes (again) #3249, references #2749. review by odersky,extempore.
* Generate EnclosingMethod classfile attributes. Iulian Dragos2010-11-121-1/+1
| | | | | | | | This should fix java signatures when they refer to method type parameters. I unrolled Adriaans previous fix for #3249, as this one is more general. Closes #3249, review by moors.
* new starr to fix sbt build.Lukas Rytz2010-10-213-3/+3
|