Cache text.size to improve performance for large strings
Adding futures tests
Merge pull request #100 from tzakian/parallel-glob

Adding futures for:

* Recursive parallel iterators
* Calling functions that construct the type of the method calling them (e.g., file.foo() calling open)
* Calling functions that construct the type of the iterator calling them (e.g., file.iter() calling open)
Add dirfiles/parallel.
Merge branch 'master' of github.com:hildeth/chapel
Merge pull request #101 from sungeunchoi/test

Make string_length() and string_compare() static inline functions

[reviewed by Mike]

The runtime functions string_length() and string_compare() simply call the corresponding C library functions, so this commit makes them static inline.

The actual motivation for this change is due to a gcc error/warning from throwing the flag -Werror=free-nonheap-object under some configurations, e.g., CHPL_COMM=gasnet with CHPL_GASNET_SEGMENT=everything. The code in question is in chpl_free_c_string() and is protected by a conditional that checks the length of the string. In the offending case, the memory is guaranteed to be on the heap unless the length is 0, but the length check is made via string_length() which was off in the bowels of the runtime library. Making string_length() static inline makes gcc happy.
Adding another test to ensure that the user can make use of pre-defined
_defaultOf functions.
Merge pull request #103 from lydia-duncan/addDefaultOfTest

Add another test for _defaultOf functionality [trivial]

This test ensures that the user can make use of pre-defined _defaultOf functions.
Fixed the "matching .bad" errors in field-in-task-ref-clause.chpl
Merge pull request #105 from vasslitvinov/fixMatchingDotBadErrors

Fixed the "matching .bad" errors in field-in-task-ref-clause.chpl

The .bad mismatch was due to .bad generated with --verify,
while out tests run without it.

I think for this test the outcome is more predictable when the bug
is caught by verification, rather than in whatever way the compiler
happens to trip over it. So I am adding --verify to compopts.
Fix a bug in replicateGlobalRecordWrappedVars().

The existing implementation of replicateGlobalRecordWrappedVars() was written so that it
would skip the first block of the module initialization function when looking for the
definition of a global record-wrapped variable.  I modified the function to also look in
the first block.

The old version worked because by accident all the definitions of interest lay in blocks
following the first.  However, as part of the implementation of calling user default
constructors, I moved the initialization code for variables closer to where the variables
are declared.  In some cases, this resulted in interesting initialization code ending up
in the first block.

The change also made the total allocated memory in shannon/printFinalMemStat.chpl go down
by 64 bytes in the no-local case.  So I updated the .good file for that test.
Revert "Add dirfiles/parallel."

This reverts commit 439da92647c3af300bf91dcab0e16856c3f27a55.
Adding first draft of glob and file iterator spec.
Reusing endpos to avoid another call to strlen
removing .log and .aux files
Merge pull request #108 from tzakian/glob_proposal

Adding first draft of glob and file iterator spec.
Merge pull request #107 from hildeth/fixReplicateGlobalWrappedRecordVars

Fix replicateGlobalWrappedRecordVars()



The existing implementation of replicateGlobalRecordWrappedVars() was written so that it
would skip the first block of the module initialization function when looking for the
definition of a global record-wrapped variable. I modified the function to also look in
the first block.

The old version worked because by accident all the definitions of interest lay in blocks
following the first. However, as part of the implementation of calling user default
constructors, I moved the initialization code for variables closer to where the variables
are declared. In some cases, this resulted in interesting initialization code ending up
in the first block.

The change also made the total allocated memory in shannon/printFinalMemStat.chpl go down
by 64 bytes in the no-local case. So I updated the .good file for that test.

[tested: / (std)]
[reviewed: noakes]
fixing .bad files for futures filed last Friday
Merge pull request #109 from tzakian/master

Fixing .bad files for futures filed last Friday
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