This change un-hard-wires -23 in the hetero-PVM comm layer.

This change un-hard-wires -23 in the hetero-PVM comm layer. In PVM-speak, -23
is PvmNoParent.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16359 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Updating REGRESSIONS based on last few night's runs

- new spurious double free or corruption on simpleBlockDist test
* otherwise, fairly standard spurious errors



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16360 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
This change to the hetero-PVM comm layer renames a macro and removes a counter. 

This change to the hetero-PVM comm layer renames a macro and removes a useless lock counter. It also unlocks the global (now static) pvm_lock on error.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16361 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
This commit makes all the hetero-PVM comm layer global variables be static.

This commit makes all the hetero-PVM comm layer global variables be static.
Some of these will eventually get pulled, but for now, just make them static.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16362 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
This change rids the PVM comm layer of the global commsig.

This change rids the PVM comm layer of the global commsig. There is a new
enumerated global, however, which dictates how each individual function sets
its commsig.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16363 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
This change removes the extern definition for a hetero-PVM comm layer var.

This change removes the extern definition for chpl_max_fields_per_type, a
heterogeneuosly externally defined variable.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16364 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Adding GASNet-1.14 to the source tree

In this checkin I'm adding GASNet-1.14 -- the new version released
this week from Berkeley -- to our third-party directory and setting it
to be the default version to use in order to run it through tonight's
correctness tests.  Assuming there are no problems, we should do a
performance spot-check before making it the default, at which point
1.12 could be removed.

Tips for developers: For the time being, if you were using 1.12 and
wish to continue using it, you can update against this commit and then
change the line in make/Makefile.base that sets the gasnet version to
1.14 back to 1.12.  Note that in order to switch back and forth
between 1.12 and 1.14, you'll typically need to blow away
third-party/gasnet/install and rebuild the runtime.  Or if you're
tricky, you can build 1.12, rename it to install-1.12, build 1.14,
rename it to install-1.14 and then create a symbolic link named
"install" to choose between between the two.

Let me know if you have any questions or run into problems.





git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16365 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
This change adds an assertion to the PVM comm layer to check pvm_gsize.

This change adds an assertion to the PVM comm layer to check if pvm_gsize is the same as what has been calculated for chpl_numLocales. If they aren't the same, some locale doesn't belong to the group (or too many locales are in the group).



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16366 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
This change makes the tids array in the PVM comm layer be dynamically sized.

This change makes the tids array in the PVM comm layer be dynamically sized.
The allocation occurs in the chpl_comm_init before the first use (where all
the tids are assigned). It gets freed on exit_all or exit_any.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16367 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Added a compiler flag --c-line-numbers that changes the line numbers inserted
in the generated code for errors and verbose output to use the C line numbers
and filenames via __LINE__ and __FILE__.  This is especially useful for linking
communications via startVerboseComm() back to the code in the generated C code.


git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16368 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Removed unused FnType subclass.


git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16369 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
This change makes the PVM group name in the comm layer unique across runs.

This change makes the PVM group name in the comm layer unique across runs. Before this change, the job name was hardcoded to be "job." Now, the job name is a global (static) variable which, in chpl_comm_init, gets the name job12345 representing the pid of the launcher. Should you be starting the _real directly with gdb, you now need another argument (typeProblem --localesPerRealm='1 1' 2 12345) representing an ID (which doesn't have to be the PID).



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16370 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
This change moves PVM comm layer code around.

This change moves the gates dictating when to stop doing barriers (which dictates the flow of how the PVM code exits) and when to start polling from the rollcall (where it isn't really appropriate other than the fact it used to be the last place I could catch it before entering main) to a special case of chpl_comm_barrier. In main.c, the last thing that's done before the root node enters chpl_main is a barrier ("barrier before main"). When chpl_comm_barrier catches that, the code now tells the barrier code to stop working and the poller to start.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16371 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
This change adds the hostname to the PVM group name.

This change adds the hostname to the PVM group name. This is done to further
create a unique name across systems. For running with gdb, another argument
is needed.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16372 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
This change removes one of the arguments passed from the PVM launcher.

This change removes one of the arguments passed between the PVM launcher and PVM comm layer. Before this change, two separate arguments were used to denote the pid and the hostname (which were glued together by the comm layer to form its own unique PVM group name). This doesn't have to be done by the comm layer, and there's arguably a readability issue involved here, too.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16373 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Updating REGRESSIONS based on last night's runs

- Intel failures due to disk full issue (our Intel compiles leave a lot of
  cruft lying around... presumably when they timeout and are killed?)
* otherwise, spurious failures only



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16374 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Optimized recursive iterator to function transform.

Inserted code to do a deep copy (recursive) of the argument bundle
class before calling the iterator function if the iterator contains
any on-statements.  This improves locality by ensuring that the
argument bundle class is allocated locally.  We could optimize this in
certain cases by not doing the copy if the class is already local.

Made remote value forwarding more robust with respect to reference
fields of argument bundle classes by ignoring assignments of the field
from one instance of the class into the same field of another instance
(or the same instance if that happens to become the case) of the
class.

Inserted code to free the argument bundle class.  The deep copy is not
yet freed.


git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16375 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
This change makes the PVM comm layer exit more guarenteed.

This change makes the PVM comm layer exit dependent on the polling thread having exited. Before this change, it was possible for the polling thread to still be doing something before exiting leading to PVM errors on exit (race). With the reverse start-polling okaypoll mechanism in place, this race is gone.



git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16376 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Continued to optimize the recursive iterator to function transform.

Inserted code to do a deep free of the deep copy of the argument bundle.


git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@16377 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
This change ensures a PVM group order in the comm layer.

This change ensures a PVM group order in the comm layer. It also adds another argument in the pvm_spawn: an order number (therefore, when using gdb, you will now need the total number of locales, an ID number you can make up on the fly but should be different between runs, and an order of the nodes). The comm layer uses that order number to wait until there are that many elements in the group before joining. (If there aren't any elements in the group, pvm_gsize returns PvmNoGroup, so the 0th node has to be its own case.)



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