Cache text.size to improve performance for large strings
Add `make check` to testRelease script.
Change for_exprs_postorder so it stops when it reaches the passed-in expression.

The initial implementation of for_exprs_postorder did not contain a check to stop
iteration when the passed-in expression was reached, so iteration would continue up to the
root of the expression tree.  A check was added at the only place where for_exps_postorder
was used, to stop the iteration.  I moved the check inside the definition of
for_exprs_postorder, so it performs the iteration implied by its name.  This change should
not have any performance impact.

I also changed the signature of resolve_type_expression to return the resolved expression,
moving the error check from the end of that routine to its sole caller.  This positions
resolve_type_expression for use in other places in functionResolution, anticipating
changes introduced by user default constructor calls.
Revert "Add dirfiles/parallel."

This reverts commit 439da92647c3af300bf91dcab0e16856c3f27a55.
Reusing endpos to avoid another call to strlen
Merge pull request #99 from benharsh/regex

Regex: Cache string size to improve performance for large strings in matches iterator

In the regex-dna shootout, we need to count the number of matches in a very large string. With the current state of strings, calling text.size invokes strlen. Calling strlen on this very large string every time we look for a match is very slow. By caching the string's length, the performance of this iterator improves immensely.

Reviewed by sungeunchoi
Small clean-ups to Regexp module.

- use .length instead of .size on string to be consistent and simplify
  logic surrounding some of those calls

- fix regexp:error() to return a string (was returning a c_string)

- fix _cast() -- did not work in the non-local case (I suspect there
  is no test case for this)

- added note on stringPart regarding possible use of c_string
Merge branch 'master' of github.com:chapel-lang/chapel into test

Conflicts:
	modules/standard/Regexp.chpl
Merge pull request #106 from hildeth/stopForExprsPostorder

Stop iteration in for_exprs_postorder when it reaches the passed-in expression



The initial implementation of for_exprs_postorder did not contain a check to stop
iteration when the passed-in expression was reached, so iteration would continue up to the
root of the expression tree. A check was added at the only place where for_exps_postorder
was used, to stop the iteration. I moved the check inside the definition of
for_exprs_postorder, so it performs the iteration implied by its name. This change should
not have any performance impact.

I also changed the signature of resolve_type_expression to return the resolved expression,
moving the error check from the end of that routine to its sole caller. This positions
resolve_type_expression for use in other places in functionResolution, anticipating
changes introduced by user default constructor calls.

Both changes here will bring chapel-lang/master into closer alignment with my callDefaultConstructors branch, simplifying the merge.

[reviewer: noakes]

Mike noted that there using macros for procedural abstraction is somewhat undesirable, and I agree.  This is being committed as an intermediate solution: It should not be treated as definitive.
Merge pull request #110 from sungeunchoi/test

Small cleanups to Regexp module

[reviewed by Ben]

- Use string/c_string.length to be consistent throughout the file (it also reduces the work of function resolution and inlining slightly since .size calls .length and both are inlined)
- Simplify the stringPart specific logic surrounding the .length calls since now we use the same field name
- Comment a couple of places that seem like they needed stringPart logic but
- Add a comment for stringPart regarding the possible use of c_string rather than string
- Fix regexp:error() to return a string as the return type is specified (previously was returning c_string)
- Fix _cast() for multi-locale case (I suspect there is no test case for this)
My edits to Tim's original draft proposal.

Lots of them (most discussed with Tim on chat and in person):

* wordsmithing
* reorganizing arguments
* changing recursive from int to bool
* reordering examples
* fixing $CHPL_HOME based startdir examples
* adding more topics
* etc.
Merge pull request #111 from bradcray/filerator-proposal-edits

My edits to Tim's original filerator draft proposal

This is what I just mailed out to chapel-users.  There are lots of changes here (most of them discussed with Tim on chat and in person).  They tend to fall into the categories of:

* wordsmithing
* reorganizing arguments
* changing recursive from int to bool
* reordering examples
* fixing $CHPL_HOME based startdir examples
* adding more topics
* etc.
Try out the sherwood scheduler again for qthreads with condwait-queue

I want to see what the performance for the sherwood scheduler is like again now
that we have condwait-queue enabled. It would be great if we could use the
sherwood scheduler instead of the nemesis. I don't think that's going to be the
case and I'm pretty sure there's more overhead to using the sherwood scheduler
over nemesis, but I want to confirm this with some testing tonight.

Like before this disables work stealing since that had a negative performance
impact on a lot of tests, but this makes disabling work stealing dependent on
an environment variable instead of forcing it like I did last time.
Merge pull request #112 from ronawho/qthreads-perf

Try out the sherwood scheduler again for qthreads with condwait-queue

reviewed by @sungeunchoi

I want to see what the performance for the sherwood scheduler is like again now
that we have condwait-queue enabled. It would be great if we could use the
sherwood scheduler instead of the nemesis. I don't think that's going to be the
case and I'm pretty sure there's more overhead to using the sherwood scheduler
over nemesis, but I want to confirm this with some testing tonight.

Like before this disables work stealing since that had a negative performance
impact on a lot of tests, but this makes disabling work stealing dependent on
an environment variable instead of forcing it like I did last time.
Merge pull request #114 from thomasvandoren/test-release-make-check

Add `make check` to testRelease script.

The `testRelease` script executes the actions described in the `README` (among other things). `make check` is now included in the `README`, so we should test it.
TRIAGE update

Fixed C Regexp tests
release/examples/programs/quicksort seg faulted once for qthreads.gasnet.numa
CCE runtime build error, should be fixed in latest CCE
Merge pull request #115 from daviditen/triageWeek

TRIAGE update

Fixed C Regexp tests
release/examples/programs/quicksort seg faulted once for qthreads.gasnet.numa
CCE runtime build error, should be fixed in latest CCE
Remove unused CHPL_RT_MD types:

- CHAPEL_CODE
- GC_HEAP
- GC_SPACE_POINTER
- FLAG_SERIAL
Added a bug future on a missing const check
Merge pull request #117 from chapel-lang/addRecordArgConstCheckingFuture

Added a bug future on a missing constness check.

From .future: an assignment to a field of a record-typed formal passed by blank intent is not flagged as an error.

Constness checking implemented in SVN r22963 needs to be extended to
report an error in this code. That's because since a record passed
by blank intent is considered "const", it should not be assignable.

proc myProc(y: MyRecord) {
  y.myField = 7;   <--- should be an error                                                                                       
  writeln(y);
}

Thanks to Tim Z for bringing this to my attention.