End of week update to REGRESSIONS and TRIAGE

REGRESSIONS:

- Added new darwin+clang test results
- CCE internal error

TRIAGE:

- weirdcase.chpl gasnet timeouts
- numa testing non-determinism
- RecordDestructor1b.chpl non-deterministic seg fault
- more gasnet times outs



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22437 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Fix read-after-free on domains used in nonblocking on calls. [reviewed by vass]

Because they run asynchronously, non-blocking "on" function calls should behave
like "begin" function calls with respect to reference counting.  That is, the
reference count on internally reference-counted instances should be incremented
prior to the call.  Those reference counts should be decremented in the tasking
function before _downEndCount is called.

The fix is to add the case of non-blocking "on" tasking functions to the
conditional that performs this reference count manipulation for "begin" blocks
in bundleArgs() [parallel.cpp:191].

The new case causes an autodestroy call to be added for the dummy_locale_arg
argument that is passed to an on_fn(), and that caused the AST to be malformed
following execution of passArgsToNestedFns().  The solution was to remove the
"break" statement in that function on line 1108 of parallel.cpp.  This has the
effect of removing (only) the offending autoDestroy call.

The second test case failed because the autoCopy being carefully added above was
getting removed by the removeUnnecessaryAutoCopyCalls optimization.  So, I added
the FLAG_NECESSARY_AUTO_COPY to prevent the removal of necessary autoCopy calls
such as the ones being added in bundleArgs.

With these changes, the failing test case provided by Vass passes.


DETAILS

    compiler/include/flags_list.h
Added the new FLAG_NECESSARY_AUTO_COPY flag, to mark variables that contain an
autoCopy which should not be removed (i.e. a copy that is necessary for MM
correctness under asynchronous execution.
The FLAG_ATOMIC_TYPE was moved down, to restore local alphbeticization.

    compiler/main/checks.cpp
Added a check for consistency of the autoCopyMap.

    compiler/passes/parallel.cpp
Added "non-blocking on" functions to the conditional on line 191.  
The decision on whether to add the autoCopy/autoDestroy pair and the code to
actually perform the insertion was factored out into the new function
insertAutoCopyDestroyForTaskArg().  
The variable receiving the autoCopy is now marked with FLAG_NECESSARY_AUTO_COPY,
to prevent its later removal.  
The generated code was modified, so the result of the autoCopy call is now
assigned to the corresponding field in the arg bundle.  Previously, the result
was just ignored.
The code for inserting autoDestroy calls in the task function now relies on the
assumption that every function involved has only one caller.  No check was added
for this, but if the assumption fails, we'll start getting negative reference
counts or valgrind errors.
Removed the break statement on line 1108.  Because the locale arg (passed to an
"on" function) can now appear in an autoCopy call, we have to remove all
references to it, not just the first.

    compiler/optimizations/remoteValueForwarding.cpp
Added a filter to RVF is not applied to reference atomic types.  Atomic types
are replaced with references to same in resolveFormals(), so that updates to
atomics display the expected reference semantics.

    compiler/optimizations/removeUnnecessaryAutoCopyCalls.cpp
We do not remove an autoCopyCall if it has the FLAG_NECESSARY_AUTO_COPY flag.
I also turned the condition that rhs->argList.head != NULL into an assert.
The continue performs a slight optimization, but makes the logic more obscure,
so I removed it.

    test/users/vass/domain_with_on-all.chpl
    test/users/vass/domain_with_on-all.good
Added new test case provided by Vass.

[tested on users/vass/domain_with_on-all.chpl]
[tested on examples/ (std)]
[tested on / (no-local)]
[tested on domains/ distributions/ multilocal/ performance/ with CHPL_COMM=gasnet]


git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22438 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Further cleanup.  There was some reference code in test/studies/graph500
leftover for the improvement of v3.  I ported it into the main.chpl file and
removed the reference code.



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22439 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Mandelbrot-fancy stored a variable but only used it after squaring its value.
Since the squared value is what matches the reference implementations, I changed
the code to remove the unnecessary operations and updated the variable.



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22440 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Weekend update for triage

TRIAGE:

- New darwin+gnu testing shows compiler non-deterministic failures
- standard gnu compiler failure on chpbld02
- pgi timeout

REGRESSIONS:

- split off darwin (either compiler) from darwin-clang darwin-gnu
- added/updated darwin-gnu failures
- added entry for intel compiler will not build Chapel compiler (Brad
  mentioned to me last week, but we don't know when it started)
- qthreads+gasnet hello3-datapar timeout (has happened 2x since weekend)



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22441 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Add bash-ism for string comparison (var ref in quotes).

git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22442 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Fixed typo in perfgraph.js

[Not reviewed]

This patch fixes a typo that prevented my previous change to display additional
significant digits from doing anything.


git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22443 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Resolve valgrind regression in useActor1.chpl. [reviewed by sungeun]

Added a config param to the defineActor module, to support optional deletion of
instances of that class.  The example useActor1 creates an instance and allows
the instance to be cleaned up automatically.  The example defineMethod creates
an instance and then cleans it up explicitly.

[tested by making the spectests and running useActor1 and defineMethod.]
[verified that the formatted spec looks OK.]


git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22444 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Extended historify-logs to fetch nightly log files from a remote file system on mbp-kbrady.

[not reviewed]


git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22445 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Brad pointed out that one of the lines was labeled reference.  I meant for that
to be labeled "release" instead, since it represents the version in the release
directory.



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22446 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Changed one of the mandelbrot versions to write to stdout instead of to a file,
as that is required for the benchmark.  Unfortunately, this slows it down
dramatically.



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22447 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Oops, forgot to add the new test to the graph file.



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22448 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Adding a README, which details the various versions of mandelbrot found in this
directory.



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22449 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Don't ask qthreads for task-local storage before it exists.

[Reviewed by Kyle (qthreads+clang testing) and Lydia (substance and style).]

We have been assuming that qthread_get_tasklocal() will return NULL
prior to qthread_initialize() having been called.  Multilocale testing
with clang indicates this may not be true, though the failures (segfault
on darwin) are admittedly hard to reproduce.  Fix this by using an
explicit "initialized" flag in place of the implicit assumption.  Kyle
reports that this fixes the qthreads+clang+multilocale+darwin problems.


git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22450 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Minor fix to debugging compiler output.

[trivial]

Allowing the compiler to be compiled with -DTRACE_DISAMBIGUATE_BY_MATCH
(for debugging). There was an issue that may have been due to r22421.


git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22451 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Added a bug future on compiler crashing when the program applies 'forall' to something that has a serial iterator but neither a leader nor a follower.

Reported by Daniel Chavarria

When retiring this future, we should beef it up to also test:
* class
* the case where there is one of (leader, follower) but not the other.


git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22452 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Add new version of meteor which uses implicit domains for formal args

[Not reviewed]

This improves performance - lowering memory allocations from ~300MB to ~1MB

These changes were also added into meteor-parallel


git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22453 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Fix file names in previous commit, implict -> implicit


git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22454 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Categorized the users/ferguson/extern_string_test2.chpl future as a bug.

The .future was lacking a category. I assume it's "bug".


git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22455 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Applied some of the comments from this afternoon's code and style review to my
versions of spectral norm.



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22456 3a8e244f-b0f2-452b-bcba-4c88e055c3ca