Added a new test group - specialized.
Modified partest to add a jar with instrumented classes to classpath when compiling and running tests.
Added a primary version of the instrumented BoxesRuntime, and a script to produce a jar for it.
Added the 'speclib' folder to partest files, which contains the jar with the instrumented classes.
Review by dragos.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@23997 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
with a primitive CONCAT and several opcodes, I'm assuming nobody will oppose
this on principle. Given an expression of the exact form "" + x
(that is, the NPE-immune and much less ugly way to call .toString) we used
to get 4x the bytecode and create an unneeded StringBuilder. Now this:
0: aload_1
1: invokestatic #20; //Method java/lang/String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
4: areturn
Closes#4160, review by dragos.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@23987 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
Adriaan had recorded an idea about how to avoid them and I tried
out my interpretation of it and it worked. He says it's good
to go, so no review.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@23986 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
significantly faster. Closes#4006.
And, then I started trying to deal with some fundamental Manifest
issues and give it a little documentation. I left a trail of bloody
comments, for which I solicit review by moors.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@23980 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
a default value such that annotated methods might be elided even if
the option wasn't given. It now does nothing in that situation.
Closes#4051, #4151, no review.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@23974 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
prejudice and puts the new process code to work instead. There are
still a couple bugs on my short term partest list. If this commit causes
some weird issue which only arises on virtualized windows you can expect
to hear from me next by postcard from st. lucia. No review.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@23969 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
scala.sys.process. It is largely indistinguishable from the
version in sbt, at least from the outside.
Also, I renamed package system to sys. I wanted to do
that from the beginning and the desire has only grown since then.
Sometimes a short identifier is just critical to usability: with
a function like error("") called from hundreds of places, the
difference between system.error and sys.error is too big. sys.error
and sys.exit have good vibes (at least as good as the vibes can be
for functions which error and exit.)
Note: this is just the first cut. I need to check this in to finish
fixing partest. I will be going over it with a comb and writing
documentation which will leave you enchanted, as well as removing
other bits which are now redundant or inferior. No review.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@23967 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
combinations. It turns out that without this in place, an
expression like "x".asInstanceOf[Int] will no longer throw an
exception. Refined the optimization. Closes#4148, review by dragos.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@23965 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
much impossible to abstract across Int and Long with no penalty, but
we can at least have duplicated code in the same place to minimize
the challenge. No review.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@23959 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
I had closed#2441 as a duplicate of that, but unfortunately #4114 did
not bring #2441 along with it. Then I realized I'm a programmer, not a
helpless trac watcher. As is often the case with thes things, fixing that
revealed a bug in the library. Closes#2441 for real, review by odersky.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@23958 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
the presentation compiler instance when the thread is not GCed, but the compiler should be
discarded (for example, after a shutdown request). Having the thread as an inner class
keeps a reference to the outer class. review by odersky.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@23954 5e8d7ff9-d8ef-0310-90f0-a4852d11357a