11 years agoMerge branch 'charm' of charmgit:charm into charm
Yanhua Yanhua [Fri, 9 Jul 2010 03:53:25 +0000 (22:53 -0500)]
Merge branch 'charm' of charmgit:charm into charm

11 years agowhen migration decision message is very big, split messages instead of broadcasting it.
Gengbin Zheng [Thu, 8 Jul 2010 21:18:50 +0000 (16:18 -0500)]
when migration decision message is very big, split messages instead of broadcasting it.

11 years agoCharj : making sure a mainchare has an appropriate default constructor
Minas Charalambides [Thu, 8 Jul 2010 12:51:22 +0000 (15:51 +0300)]
Charj   :   making sure a mainchare has an appropriate default constructor
            (including the CkArgMsg argument)

            got rid of redundant "hasDefaultCtor" arguments in Charj.stg
            as that information is already included in "sym" (the symbol
            argument corresponding to the class symbol being dealt with)

11 years agoCharj: fix trace macros in generated code
Aaron Becker [Wed, 7 Jul 2010 16:43:42 +0000 (11:43 -0500)]
Charj: fix trace macros in generated code

11 years agoCharj : Added the "if(p.isUnpacking())" check before calling
Minas Charalambides [Wed, 7 Jul 2010 15:19:15 +0000 (18:19 +0300)]
Charj   :   Added the "if(p.isUnpacking())" check before calling
            pupInitMethod() in the pup routine.

11 years agoMerge branch 'charm' of charmgit:charm into charm
Filippo Gioachin [Wed, 7 Jul 2010 09:10:36 +0000 (04:10 -0500)]
Merge branch 'charm' of charmgit:charm into charm

11 years agoWhen checking cross-corruption via memory backup, the allocation history from last...
Filippo Gioachin [Wed, 7 Jul 2010 09:09:59 +0000 (04:09 -0500)]
When checking cross-corruption via memory backup, the allocation history from last saved point must be kept

11 years agoHandling correctly the malloc and free of a memory block when mprotect is active...
Filippo Gioachin [Wed, 7 Jul 2010 09:09:02 +0000 (04:09 -0500)]
Handling correctly the malloc and free of a memory block when mprotect is active in the case of linked-list bookkeeping

11 years agoCorrectly protecting the memory segment (in particular when the slot is in the separa...
Filippo Gioachin [Wed, 7 Jul 2010 09:08:00 +0000 (04:08 -0500)]
Correctly protecting the memory segment (in particular when the slot is in the separate hashtable)

11 years agoAdded flag to indicate that a block has been protected by mprotect.
Filippo Gioachin [Wed, 7 Jul 2010 09:04:47 +0000 (04:04 -0500)]
Added flag to indicate that a block has been protected by mprotect.
This works around the lack of information provided by mprotect (the only way to check if a block has been protected would otherwise be write to it and generate a signal)

11 years agoInstead of being in "user code" most of the time, and entering the "system code"...
Filippo Gioachin [Wed, 7 Jul 2010 08:57:07 +0000 (03:57 -0500)]
Instead of being in "user code" most of the time, and entering the "system code" when certain function are called, start in "system code" and exit from it when user entry methods are called.
This is needed for +memory_mprotect so that the system code runs with access to blocks with chareID=0 (i.e it does not generate SIGFAULT)

11 years agoAdded some group definitions for command-line flags
Filippo Gioachin [Wed, 7 Jul 2010 08:55:21 +0000 (03:55 -0500)]
Added some group definitions for command-line flags

11 years agoOnly ignore built targets at the top level
Phil Miller [Tue, 6 Jul 2010 19:58:27 +0000 (14:58 -0500)]
Only ignore built targets at the top level

11 years agoCUDA: Build hybrid API as part of Charm++, not before
Phil Miller [Tue, 6 Jul 2010 19:58:04 +0000 (14:58 -0500)]
CUDA: Build hybrid API as part of Charm++, not before

11 years agoMerge branch 'charm' of charmgit:charm into charm
Pritish Jetley [Tue, 6 Jul 2010 18:49:03 +0000 (13:49 -0500)]
Merge branch 'charm' of charmgit:charm into charm



11 years agoCUDA code for extensible buffer pools. Also noticed that building fails with -O3...
Pritish Jetley [Tue, 6 Jul 2010 18:46:58 +0000 (13:46 -0500)]
CUDA code for extensible buffer pools. Also noticed that building fails with -O3 -DCMK_OPTIMIZE for cuda.
Adding -I../.. and -I.. to the charmrun, cache and liveViz Makefiles seems to help.

11 years agoWhen registering a persistent python script (via CharmDebug), the returned value...
Filippo Gioachin [Tue, 6 Jul 2010 06:58:43 +0000 (01:58 -0500)]
When registering a persistent python script (via CharmDebug), the returned value was not correctly reduced.

11 years agoMerge branch 'conditionalDelivery' into charm
Filippo Gioachin [Tue, 6 Jul 2010 03:52:38 +0000 (22:52 -0500)]
Merge branch 'conditionalDelivery' into charm

11 years agoUpdated charmdebug version (reason: "commitConditional")
Filippo Gioachin [Tue, 6 Jul 2010 03:50:52 +0000 (22:50 -0500)]
Updated charmdebug version (reason: "commitConditional")

11 years agoForwarding all messages to the forked child. This allows the child to see all incomin...
Filippo Gioachin [Tue, 6 Jul 2010 03:48:55 +0000 (22:48 -0500)]
Forwarding all messages to the forked child. This allows the child to see all incoming messages and behave more like the parent (in particular, all the messages in the queue will be like the parent)

11 years agoAdded support for committing the messages that were selected as "conditionally delivered"
Filippo Gioachin [Tue, 6 Jul 2010 03:47:25 +0000 (22:47 -0500)]
Added support for committing the messages that were selected as "conditionally delivered"
This means that a new variable in the shared memory segment tells the resuming parent how many messages should be fully delivered.

11 years agoMerge branch 'charm' of charmgit:charm into charm
Jonathan Lifflander [Tue, 6 Jul 2010 01:42:33 +0000 (20:42 -0500)]
Merge branch 'charm' of charmgit:charm into charm

11 years agoCharj: Added dummy PUP method for Arrays. Global arrays almost working, just need...
Jonathan Lifflander [Tue, 6 Jul 2010 01:42:03 +0000 (20:42 -0500)]
Charj: Added dummy PUP method for Arrays. Global arrays almost working, just need correct type.

11 years agoCharj: Fixed array element access.
Jonathan Lifflander [Tue, 6 Jul 2010 01:41:24 +0000 (20:41 -0500)]
Charj: Fixed array element access.

11 years agoCharj: Fixed problem with readonly module not being compiled in.
Jonathan Lifflander [Tue, 6 Jul 2010 01:40:23 +0000 (20:40 -0500)]
Charj: Fixed problem with readonly module not being compiled in.

Extern the readonly module in the mainmodule.

11 years agoDocs: expand coverage of +pemap, including new run addition
Phil Miller [Thu, 1 Jul 2010 18:57:51 +0000 (13:57 -0500)]
Docs: expand coverage of +pemap, including new run addition

11 years agoDocs: Describe +pemap and +commap
Phil Miller [Thu, 24 Jun 2010 22:00:26 +0000 (17:00 -0500)]
Docs: Describe +pemap and +commap

11 years agoDocs: elaborate on charmrun ++mpiexec
Phil Miller [Tue, 29 Jun 2010 17:05:45 +0000 (12:05 -0500)]
Docs: elaborate on charmrun ++mpiexec

11 years agoMerge branch 'charm' of charmgit:charm into charm
Filippo Gioachin [Mon, 5 Jul 2010 05:34:14 +0000 (00:34 -0500)]
Merge branch 'charm' of charmgit:charm into charm

11 years agoAnother merge function registered for CCS requests
Filippo Gioachin [Mon, 5 Jul 2010 05:32:43 +0000 (00:32 -0500)]
Another merge function registered for CCS requests

11 years agoFixed a bug in CkReduce under bigsim
Filippo Gioachin [Mon, 5 Jul 2010 05:32:08 +0000 (00:32 -0500)]
Fixed a bug in CkReduce under bigsim

11 years agoCharj: Removed output flag, which is no longer needed for init output.
Jonathan Lifflander [Sat, 3 Jul 2010 21:57:08 +0000 (16:57 -0500)]
Charj: Removed output flag, which is no longer needed for init output.

11 years agoCharj: Dereference array on access, assuming it is always a pointer.
Jonathan Lifflander [Sat, 3 Jul 2010 21:56:20 +0000 (16:56 -0500)]
Charj: Dereference array on access, assuming it is always a pointer.

11 years agoCharj: Added include path for stdlib into charj/src/charj/libs to Array header files.
Jonathan Lifflander [Sat, 3 Jul 2010 21:54:04 +0000 (16:54 -0500)]
Charj: Added include path for stdlib into charj/src/charj/libs to Array header files.

11 years agoCharj: Fixed incorrect tree grammar for range expressions.
Jonathan Lifflander [Sat, 3 Jul 2010 21:53:15 +0000 (16:53 -0500)]
Charj: Fixed incorrect tree grammar for range expressions.

11 years agoCharj: Modifications to Array functionality and test harness.
Jonathan Lifflander [Sat, 3 Jul 2010 21:46:48 +0000 (16:46 -0500)]
Charj: Modifications to Array functionality and test harness.

11 years agoCharj: Removal of automatic promotion of pointer to object in entry methods.
Jonathan Lifflander [Sat, 3 Jul 2010 21:41:59 +0000 (16:41 -0500)]
Charj: Removal of automatic promotion of pointer to object in entry methods.

The method that promotes pointer types to object types in entry method parameters
is not working correctly. It was causing the Array pointers to be converted to
objects, which was breaking them in the chare/mainchare case. This code/methodology
is going to be rewritten at some point.

11 years agoCharj: Added Array include and usings statement.
Jonathan Lifflander [Sat, 3 Jul 2010 21:40:16 +0000 (16:40 -0500)]
Charj: Added Array include and usings statement.

11 years agoCharj: Added domainExpression to args for expanded syntax of initializer.
Jonathan Lifflander [Sat, 3 Jul 2010 21:38:34 +0000 (16:38 -0500)]
Charj: Added domainExpression to args for expanded syntax of initializer.

11 years agoCharj: Modified array example, that uses mainchare and 1D array.
Jonathan Lifflander [Sat, 3 Jul 2010 21:35:11 +0000 (16:35 -0500)]
Charj: Modified array example, that uses mainchare and 1D array.

11 years agoFixed problem with bigsim environment not picking up the right CkReduce function
Filippo Gioachin [Sat, 3 Jul 2010 01:38:24 +0000 (20:38 -0500)]
Fixed problem with bigsim environment not picking up the right CkReduce function

11 years agoSetting again the breakpoint info if we are the first to set the breakpoint again...
Filippo Gioachin [Sat, 3 Jul 2010 00:03:14 +0000 (19:03 -0500)]
Setting again the breakpoint info if we are the first to set the breakpoint again after it got deleted.
Also, do not set/remove if it is already.

11 years agoRegistering merge function to avoid crash on shutdown
Filippo Gioachin [Fri, 2 Jul 2010 23:45:27 +0000 (18:45 -0500)]
Registering merge function to avoid crash on shutdown

11 years agoMerge branch 'charm' into virtualDebug
Filippo Gioachin [Fri, 2 Jul 2010 23:30:28 +0000 (18:30 -0500)]
Merge branch 'charm' into virtualDebug

11 years agoFor now make conditional available only in non-bigsim
Filippo Gioachin [Fri, 2 Jul 2010 21:42:40 +0000 (16:42 -0500)]
For now make conditional available only in non-bigsim

11 years agodisabled sync for crayxt since it does not exist on compute node (frontend where... reviewed-6.2.1
Gengbin Zheng [Fri, 2 Jul 2010 06:21:11 +0000 (01:21 -0500)]
disabled sync for crayxt since it does not exist on compute node (frontend where configure runs does have it)

11 years agoadd centrailized priority seed load balancer
Yanhua Yanhua [Thu, 1 Jul 2010 23:37:57 +0000 (18:37 -0500)]
add centrailized priority seed load balancer

11 years agoMerge branch 'charm' of charmgit:charm into charm
Filippo Gioachin [Thu, 1 Jul 2010 21:38:11 +0000 (16:38 -0500)]
Merge branch 'charm' of charmgit:charm into charm

11 years agoCharj: Forgot to include VariableInitializer.
Jonathan Lifflander [Thu, 1 Jul 2010 21:32:36 +0000 (16:32 -0500)]
Charj: Forgot to include VariableInitializer.

11 years agoCharj: Fixed dynamic cast from PointerType to ClassSymbol, which is not valid.
Jonathan Lifflander [Thu, 1 Jul 2010 16:51:52 +0000 (11:51 -0500)]
Charj: Fixed dynamic cast from PointerType to ClassSymbol, which is not valid.

11 years agoRemoving annoying output
Jonathan Lifflander [Thu, 1 Jul 2010 03:08:57 +0000 (22:08 -0500)]
Removing annoying output

11 years agoCharj: Fix of initializers in regular class (not a chare)
Jonathan Lifflander [Thu, 1 Jul 2010 03:08:36 +0000 (22:08 -0500)]
Charj: Fix of initializers in regular class (not a chare)

11 years agoCharj: Fixed PUPing problem, blocks can overlap...methods do not.
Jonathan Lifflander [Wed, 30 Jun 2010 23:35:26 +0000 (18:35 -0500)]
Charj: Fixed PUPing problem, blocks can overlap...methods do not.

Modified code so the rules do not overlap.

11 years agoCharj: Used the correct namespace resolution in the string templates.
Jonathan Lifflander [Wed, 30 Jun 2010 23:34:01 +0000 (18:34 -0500)]
Charj: Used the correct namespace resolution in the string templates.

11 years agoCharj: Fix assumption that modifier list will always exist.
Jonathan Lifflander [Wed, 30 Jun 2010 23:33:10 +0000 (18:33 -0500)]
Charj: Fix assumption that modifier list will always exist.

11 years agoCharj: Fixing bad code, catching a NPE and printing the error and moving on.
Jonathan Lifflander [Wed, 30 Jun 2010 23:30:30 +0000 (18:30 -0500)]
Charj: Fixing bad code, catching a NPE and printing the error and moving on.

Still needs more fixing...commented location where the same thing is happening,
but the NPE is actually being acted on.

11 years agoCharj: Merged changes.
Jonathan Lifflander [Wed, 30 Jun 2010 22:24:13 +0000 (17:24 -0500)]
Charj: Merged changes.

Merge branch 'charm' of charmgit:charm into charm


11 years agoCharj: Remove dead code for old constructor generator.
Jonathan Lifflander [Wed, 30 Jun 2010 21:35:14 +0000 (16:35 -0500)]
Charj: Remove dead code for old constructor generator.

11 years agoCharj: Fixed initializers. Removed dead code from AstModifier.
Jonathan Lifflander [Wed, 30 Jun 2010 21:33:53 +0000 (16:33 -0500)]
Charj: Fixed initializers. Removed dead code from AstModifier.

11 years agoCharj: Removed duplicate ENTRY definition
Jonathan Lifflander [Wed, 30 Jun 2010 20:24:02 +0000 (15:24 -0500)]
Charj: Removed duplicate ENTRY definition

11 years agoMerge branch 'charm' of charmgit:charm into charm
Filippo Gioachin [Wed, 30 Jun 2010 00:16:49 +0000 (19:16 -0500)]
Merge branch 'charm' of charmgit:charm into charm

11 years agoAdded support to record load balancer decisions during +record, and replay them durin...
Filippo Gioachin [Tue, 29 Jun 2010 23:50:19 +0000 (18:50 -0500)]
Added support to record load balancer decisions during +record, and replay them during +replay. Notice that since there are pointers in the message stored, after reloading it from file the poiters need to be corrected.

11 years agoPassing in a pointer to the message since it might need reallocation
Filippo Gioachin [Tue, 29 Jun 2010 23:44:08 +0000 (18:44 -0500)]
Passing in a pointer to the message since it might need reallocation

11 years agoCharj: Added generator for migration constructors for chare arrays.
Jonathan Lifflander [Tue, 29 Jun 2010 17:16:20 +0000 (12:16 -0500)]
Charj: Added generator for migration constructors for chare arrays.

11 years agoCharj: More pupInitMethod code.
Jonathan Lifflander [Tue, 29 Jun 2010 17:11:40 +0000 (12:11 -0500)]
Charj: More pupInitMethod code.

11 years agoCharj: Fixed emission of pupInitMethod function signature to header file.
Jonathan Lifflander [Tue, 29 Jun 2010 17:07:12 +0000 (12:07 -0500)]
Charj: Fixed emission of pupInitMethod function signature to header file.

11 years agoCharj: Added the constructorHelper() generated call.
Jonathan Lifflander [Tue, 29 Jun 2010 06:00:32 +0000 (01:00 -0500)]
Charj: Added the constructorHelper() generated call.

11 years agoCharj: Added the detection and generation of default constructors if not present.
Jonathan Lifflander [Tue, 29 Jun 2010 05:59:18 +0000 (00:59 -0500)]
Charj: Added the detection and generation of default constructors if not present.

11 years agoCharj: Remove migration code...not working yet
Jonathan Lifflander [Tue, 29 Jun 2010 05:56:20 +0000 (00:56 -0500)]
Charj: Remove migration code...not working yet

11 years agoCharj: Added before correct modifications.
Jonathan Lifflander [Tue, 29 Jun 2010 05:19:42 +0000 (00:19 -0500)]
Charj: Added before correct modifications.

11 years agoCharj: PUP method styling change to match other generated code.
Jonathan Lifflander [Tue, 29 Jun 2010 04:08:02 +0000 (23:08 -0500)]
Charj: PUP method styling change to match other generated code.

11 years agoCharj: Fix to add namespace on pup method
Jonathan Lifflander [Tue, 29 Jun 2010 04:02:16 +0000 (23:02 -0500)]
Charj: Fix to add namespace on pup method

11 years agoCharj: Code styling changes.
Jonathan Lifflander [Tue, 29 Jun 2010 03:27:53 +0000 (22:27 -0500)]
Charj: Code styling changes.

11 years agoCharj: Whitespace changes.
Jonathan Lifflander [Tue, 29 Jun 2010 03:27:26 +0000 (22:27 -0500)]
Charj: Whitespace changes.

11 years agoCharj: Completely rewrote PUPers, to use the emitter instead of modifing the AST.
Jonathan Lifflander [Tue, 29 Jun 2010 03:24:41 +0000 (22:24 -0500)]
Charj: Completely rewrote PUPers, to use the emitter instead of modifing the AST.

11 years agoCharj: Fixed output of modifier lists for objects and primitives
Jonathan Lifflander [Tue, 29 Jun 2010 01:33:42 +0000 (20:33 -0500)]
Charj: Fixed output of modifier lists for objects and primitives

11 years agoAdding ability to build cuda with pxshm enabled
Lukasz Wesolowski [Sun, 27 Jun 2010 20:01:01 +0000 (15:01 -0500)]
Adding ability to build cuda with pxshm enabled

11 years agofor mpiexec, the nodetable's IP address have to be get from compute node, instead...
Gengbin Zheng [Sat, 26 Jun 2010 07:23:32 +0000 (02:23 -0500)]
for mpiexec, the nodetable's IP address have to be get from compute node, instead of nodelist file.

11 years agoextended pemap string to l-u:s.b
Gengbin Zheng [Fri, 25 Jun 2010 22:32:03 +0000 (17:32 -0500)]
extended pemap string to   l-u:s.b
the new block field controls how many items in each subrange.

11 years agoControl Points: Fix potential startup race condition on SMP builds
Phil Miller [Fri, 25 Jun 2010 15:33:51 +0000 (10:33 -0500)]
Control Points: Fix potential startup race condition on SMP builds

I was seeing crashes at startup with control points linked in on
net-linux-x86_64. The problem seemed to be that main chares are
started in PE0 in an arbitrary order, so if one of them tries to
access stuff that's initialized in another (such as Ckpv(cp_effects)),
then it will read random bits of memory and fail. When I moved the
call to the initialization function into an initproc call, which will
precede mainchare construction, then that crash disappeared.

11 years agobuild: Update the make depends file
Ramprasad Venkataraman [Thu, 24 Jun 2010 21:22:11 +0000 (16:22 -0500)]
build: Update the make depends file

11 years agobuild: update make depends to generate the correct make commands
Ramprasad Venkataraman [Thu, 24 Jun 2010 21:17:54 +0000 (16:17 -0500)]
build: update make depends to generate the correct make commands

Actually touch the timestamp file after compiling the ci file.
Also, remove all stamp files when make clean

11 years agoMerge branch 'charm' of charmgit:charm into charm
Gengbin Zheng [Thu, 24 Jun 2010 21:08:56 +0000 (16:08 -0500)]
Merge branch 'charm' of charmgit:charm into charm

11 years agoincreased the maximun number of excludecore allowed.
Gengbin Zheng [Thu, 24 Jun 2010 21:07:31 +0000 (16:07 -0500)]
increased the maximun number of excludecore allowed.

11 years agobuild: add -intrinsic to the make commands for charm's ci files generated by make...
Ramprasad Venkataraman [Thu, 24 Jun 2010 20:18:30 +0000 (15:18 -0500)]
build: add -intrinsic to the make commands for charm's ci files generated by make depends

11 years agobuild: Modify the makefile to work with the new dependency rules generated by charmc -M
Ramprasad Venkataraman [Thu, 24 Jun 2010 19:52:22 +0000 (14:52 -0500)]
build: Modify the makefile to work with the new dependency rules generated by charmc -M

The makefile now simply appends a compilation command to every make rule for the ci timestamp files
Ideally, this should just be a pattern rule to generate from But the current mechanism
seems to be the path of least resistance.

11 years agocharmxi: Fix wrong variable name from my prev commit
Ramprasad Venkataraman [Thu, 24 Jun 2010 19:44:10 +0000 (14:44 -0500)]
charmxi: Fix wrong variable name from my prev commit

11 years agocharmc -M: Correct the path for the timestamp file in the dependency rules
Ramprasad Venkataraman [Thu, 24 Jun 2010 18:26:51 +0000 (13:26 -0500)]
charmc -M: Correct the path for the timestamp file in the dependency rules

11 years agocharmxi -M: Strip the last slash (/) too when computing basename of ci file
Ramprasad Venkataraman [Thu, 24 Jun 2010 17:43:48 +0000 (12:43 -0500)]
charmxi -M: Strip the last slash (/) too when computing basename of ci file

11 years agoMerge branch 'charm' of charmgit:charm into charm
Phil Miller [Thu, 24 Jun 2010 17:16:53 +0000 (12:16 -0500)]
Merge branch 'charm' of charmgit:charm into charm

11 years agocharmxi -M: Don't generate rules directly - let the driver script do that
Phil Miller [Thu, 24 Jun 2010 17:16:46 +0000 (12:16 -0500)]
charmxi -M: Don't generate rules directly - let the driver script do that

11 years agockcomplex: Mimic std::norm std::abs and std::isfinite for ckcomplex. Also supply...
Ramprasad Venkataraman [Thu, 24 Jun 2010 15:34:52 +0000 (10:34 -0500)]
ckcomplex: Mimic std::norm std::abs and std::isfinite for ckcomplex. Also supply operator/.

Again, these are just quick additions to provide standard-like functionality.
Very incomplete, very loose adherence to the standard.
Refer CHARM-9 for what needs to be done.

11 years agoAdding interface for the load balancer to call the CkMessageWatcher with the migratio...
Filippo Gioachin [Thu, 24 Jun 2010 03:22:34 +0000 (22:22 -0500)]
Adding interface for the load balancer to call the CkMessageWatcher with the migration message

11 years agoAdded a couple of pup routines
Filippo Gioachin [Thu, 24 Jun 2010 03:21:45 +0000 (22:21 -0500)]
Added a couple of pup routines

11 years agoUsing macro to generate process functions; added a new one for LB messages
Filippo Gioachin [Thu, 24 Jun 2010 03:21:05 +0000 (22:21 -0500)]
Using macro to generate process functions; added a new one for LB messages

11 years agoChanging return type from int to CmiBool
Filippo Gioachin [Thu, 24 Jun 2010 02:08:52 +0000 (21:08 -0500)]
Changing return type from int to CmiBool

11 years agoCharj: Wrote the second part of the constructorHelper, actually generating the helper...
Jonathan Lifflander [Thu, 24 Jun 2010 01:52:15 +0000 (20:52 -0500)]
Charj: Wrote the second part of the constructorHelper, actually generating the helper per class in ANTLR.

Replacing functionality that was in Java with ANTLR.

11 years agoCharj: Modified ANTLR code to change "type" of node when encountering a entry method...
Jonathan Lifflander [Thu, 24 Jun 2010 01:16:57 +0000 (20:16 -0500)]
Charj: Modified ANTLR code to change "type" of node when encountering a entry method or entry constructor.

Moved this functionality from the Java code to ANTLR.

11 years agoMSA: enroll without a shared count of participants
Phil Miller [Wed, 23 Jun 2010 20:10:11 +0000 (15:10 -0500)]
MSA: enroll without a shared count of participants

11 years agoSDAG: Reference messages before buffering them, unreference after delivery
Phil Miller [Wed, 23 Jun 2010 04:07:55 +0000 (23:07 -0500)]
SDAG: Reference messages before buffering them, unreference after delivery

CharmLU uses [nokeep] entry methods to make the runtime not make
excess copies of messages that it wasn't going to modify. On
conversion to SDAG, Jonathan and I found that the CmiReference calls
in the client code weren't reached before control returned to the
runtime, because SDAG buffers messages internally when the client code
isn't ready to receive them (i.e. hasn't reached the corresponding
`when' clause).

Since SDAG hangs onto the messages given to it, make it claim a
reference to those messages, and release those references after the
message has been delivered to its client code.