charm.git
19 years agoDisable migratable memory when the user's thread finishes.
Orion Lawlor [Fri, 5 Apr 2002 20:30:25 +0000 (20:30 +0000)]
Disable migratable memory when the user's thread finishes.
Without this, all allocations after the thread dies were still
migratable!

19 years agoRather than trying to use malloc_nonmigratable everywhere,
Orion Lawlor [Fri, 5 Apr 2002 20:29:06 +0000 (20:29 +0000)]
Rather than trying to use malloc_nonmigratable everywhere,
just set the current migratable heap block list to NULL when
we get a SIGIO.

This is more reliable than the old malloc_nonmigratable version,
since now anything (including, e.g., the pcqueue) called during
CommServer will be allocated in non-migratable memory.

19 years agoCrashing bug-- extra delete[] lies outside of if, so nextseq
Orion Lawlor [Fri, 5 Apr 2002 19:35:44 +0000 (19:35 +0000)]
Crashing bug-- extra delete[] lies outside of if, so nextseq
would be deleted with *any* pupper.  Since a migration involves
at least a sizing and packing pupper, migrating an AMPI did
a double-delete and corrupted the heap.  Found with the help
of "-memory paranoid".

Could have fixed this with an extra pair of {}'s, but the more
standard and reliable place to do deallocation is in the destructor.

19 years agoadded new event MESSAGE_RECV to trace "message recv" and push to local queue.
Gengbin Zheng [Thu, 4 Apr 2002 23:14:52 +0000 (23:14 +0000)]
added new event MESSAGE_RECV to trace "message recv" and push to local queue.

19 years agofixed a prototype bug.
Gengbin Zheng [Thu, 4 Apr 2002 23:10:47 +0000 (23:10 +0000)]
fixed a prototype bug.

19 years agoadded macro for CkpvAccessOther
Gengbin Zheng [Thu, 4 Apr 2002 23:09:15 +0000 (23:09 +0000)]
added macro for CkpvAccessOther

19 years agoadded BnvAccessOther and BtvAccessOther
Gengbin Zheng [Thu, 4 Apr 2002 23:06:34 +0000 (23:06 +0000)]
added BnvAccessOther and BtvAccessOther

19 years agoadded CkIsCharmMessage.
Gengbin Zheng [Thu, 4 Apr 2002 23:01:35 +0000 (23:01 +0000)]
added CkIsCharmMessage.

19 years agoReorganized source tree.
Orion Lawlor [Thu, 4 Apr 2002 21:52:18 +0000 (21:52 +0000)]
Reorganized source tree.

19 years agoadded timestamp correction modules
Arun Singla [Thu, 4 Apr 2002 17:23:32 +0000 (17:23 +0000)]
added timestamp correction modules

19 years agoadd CpvAccessOther(v, rank) macros.
Gengbin Zheng [Thu, 4 Apr 2002 16:40:31 +0000 (16:40 +0000)]
add CpvAccessOther(v, rank) macros.

19 years agoadded traceMessageRecv for tracing message received.
Gengbin Zheng [Thu, 4 Apr 2002 07:53:13 +0000 (07:53 +0000)]
added traceMessageRecv for tracing message received.

19 years agoupdated bluegene message headers.
Gengbin Zheng [Thu, 4 Apr 2002 06:38:15 +0000 (06:38 +0000)]
updated bluegene message headers.

19 years agochanged -lmpi to -lpmpi.
Gengbin Zheng [Thu, 4 Apr 2002 06:21:38 +0000 (06:21 +0000)]
changed -lmpi to -lpmpi.

19 years agoRunnable mode (no debug statements)
Gengbin Zheng [Thu, 4 Apr 2002 05:11:39 +0000 (05:11 +0000)]
Runnable mode (no debug statements)

19 years ago+trace-root implemented in trace-summary too.
Gengbin Zheng [Tue, 2 Apr 2002 02:04:43 +0000 (02:04 +0000)]
+trace-root implemented in trace-summary too.

19 years agouse a function to decide GLIBC version for downloading.
Gengbin Zheng [Sat, 30 Mar 2002 06:10:50 +0000 (06:10 +0000)]
use a function to decide GLIBC version for downloading.
also fix a bug when using lynx method: cannot tell if a transfer succeed or not.

19 years agofix a bug that CkExit produce 2 endExecute again.
Gengbin Zheng [Sat, 30 Mar 2002 02:38:05 +0000 (02:38 +0000)]
fix a bug that CkExit produce 2 endExecute again.

19 years agoUpdated version, working I think on SGI except for end.
Gengbin Zheng [Fri, 29 Mar 2002 22:36:03 +0000 (22:36 +0000)]
Updated version, working I think on SGI except for end.

19 years agoadded CkQ::remove(pos) for convinence.
Gengbin Zheng [Thu, 28 Mar 2002 21:50:47 +0000 (21:50 +0000)]
added CkQ::remove(pos) for convinence.

19 years agofixed file dependency for bg emulator.
Gengbin Zheng [Thu, 28 Mar 2002 07:04:59 +0000 (07:04 +0000)]
fixed file dependency for bg emulator.

19 years agoin bluegene trace projections, don't set traceInitTime because BgGetTime() all start...
Gengbin Zheng [Wed, 27 Mar 2002 21:11:38 +0000 (21:11 +0000)]
in bluegene trace projections, don't set traceInitTime because BgGetTime() all start from 0.

19 years agoput traceCharmInit right before beginComputation.
Gengbin Zheng [Wed, 27 Mar 2002 21:01:32 +0000 (21:01 +0000)]
put traceCharmInit right before beginComputation.

19 years agotrace init time now is set after trace modules are actually created.
Gengbin Zheng [Wed, 27 Mar 2002 20:36:43 +0000 (20:36 +0000)]
trace init time now is set after trace modules are actually created.

19 years agoChanged values of BROADCAST constants. These constants are only passed
Orion Lawlor [Wed, 27 Mar 2002 20:05:17 +0000 (20:05 +0000)]
Changed values of BROADCAST constants.  These constants are only passed
to CmiGeneralSend.  The old values were poor choices because:
1.) -1 and -2 might have been (incorrectly) passed in by the user
as a processor number.
2.) The node and non-node versions happened to have the same value, so
they could be (improperly) used interchangeably.

19 years agoCheck for invalid processor number. Suprisingly, without this check
Orion Lawlor [Wed, 27 Mar 2002 20:02:58 +0000 (20:02 +0000)]
Check for invalid processor number.  Suprisingly, without this check
a send to an invalid processor number (like -1) doesn't crash, just
silently corrupts the heap.

19 years agoadd timing log for main::main;
Gengbin Zheng [Wed, 27 Mar 2002 18:15:21 +0000 (18:15 +0000)]
add timing log for main::main;
add tracing for message.

19 years agoseveral changes:
Gengbin Zheng [Wed, 27 Mar 2002 07:35:17 +0000 (07:35 +0000)]
several changes:
1. use sorted(minheap) for message queues sorted by recvtime;
2. worker thread suspend itself when no message instead of yield;
3. added +bglog to print out low level timing log.

19 years agoAdded user-level documentation for tcharm, the basis of AMPI, FEM, MBLOCK, ...
Orion Lawlor [Tue, 26 Mar 2002 22:54:16 +0000 (22:54 +0000)]
Added user-level documentation for tcharm, the basis of AMPI, FEM, MBLOCK, ...

19 years agoLinked into libperfex.
Gengbin Zheng [Tue, 26 Mar 2002 03:35:06 +0000 (03:35 +0000)]
Linked into libperfex.

19 years agoRemoved delete error
Joshua Unger [Tue, 26 Mar 2002 01:58:46 +0000 (01:58 +0000)]
Removed delete error

19 years agoWorking version, connect to SGI calls
Joshua Unger [Tue, 26 Mar 2002 01:35:21 +0000 (01:35 +0000)]
Working version, connect to SGI calls

19 years agoFixed minor bug in output
Joshua Unger [Tue, 26 Mar 2002 00:46:02 +0000 (00:46 +0000)]
Fixed minor bug in output

19 years agoTowards a working version.
Joshua Unger [Tue, 26 Mar 2002 00:39:02 +0000 (00:39 +0000)]
Towards a working version.

19 years agoreplaced CmiNumPes(), so that chare creations are scattered well when cldanywhere.
Gengbin Zheng [Mon, 25 Mar 2002 07:59:38 +0000 (07:59 +0000)]
replaced CmiNumPes(), so that chare creations are scattered well when cldanywhere.

19 years agoupdated.
Gengbin Zheng [Mon, 25 Mar 2002 07:52:13 +0000 (07:52 +0000)]
updated.

19 years agodefine macro for BG trace modules.
Gengbin Zheng [Mon, 25 Mar 2002 07:51:23 +0000 (07:51 +0000)]
define macro for BG trace modules.

19 years agodefine macro for trace projections.
Gengbin Zheng [Mon, 25 Mar 2002 07:50:39 +0000 (07:50 +0000)]
define macro for trace projections.

19 years agochange the timing scheme, don't count work thread overhead.
Gengbin Zheng [Mon, 25 Mar 2002 07:49:33 +0000 (07:49 +0000)]
change the timing scheme, don't count work thread overhead.

19 years agotrace projections modules now works with Blue Gene Charm++. Due to the
Gengbin Zheng [Mon, 25 Mar 2002 07:47:54 +0000 (07:47 +0000)]
trace projections modules now works with Blue Gene Charm++. Due to the
nature of the charm level simulation, trace modules in BG Charm++ only
trace Charm level events and ignore converse events like begin idle and
end idle.

19 years agoadd charm level trace module prototypes.
Gengbin Zheng [Mon, 25 Mar 2002 07:33:57 +0000 (07:33 +0000)]
add charm level trace module prototypes.

19 years agoclean BlueGene code in init.C. hack ConverseExit in BlueGene code for
Gengbin Zheng [Mon, 25 Mar 2002 07:33:08 +0000 (07:33 +0000)]
clean BlueGene code in init.C. hack ConverseExit in BlueGene code for
BgShutDown().
Also ad support Blue Gene trace projections.

19 years agochange traceCommonInit to static.
Gengbin Zheng [Mon, 25 Mar 2002 00:31:59 +0000 (00:31 +0000)]
change traceCommonInit to static.

19 years agoCorrected CkAssert(). This did not compile without
Orion Lawlor [Sun, 24 Mar 2002 17:22:34 +0000 (17:22 +0000)]
Corrected CkAssert().  This did not compile without
CMK_OPTIMIZE (which preprocesses away the assert).

19 years agoremoved unused myid.
Gengbin Zheng [Sun, 24 Mar 2002 04:28:16 +0000 (04:28 +0000)]
removed unused myid.

19 years agouse some const and &
Gengbin Zheng [Sun, 24 Mar 2002 03:52:52 +0000 (03:52 +0000)]
use some const and &

19 years agorunningObj in LBDB now is an integer, this saves another copy of LDObjHandle.
Gengbin Zheng [Sun, 24 Mar 2002 01:23:36 +0000 (01:23 +0000)]
runningObj in LBDB now is an integer, this saves another copy of LDObjHandle.

19 years agoa fix of const for compiler.
Gengbin Zheng [Sun, 24 Mar 2002 00:50:24 +0000 (00:50 +0000)]
a fix of const for compiler.

19 years agoreduced runtime stat collection overhead dramatically.
Gengbin Zheng [Sat, 23 Mar 2002 18:58:21 +0000 (18:58 +0000)]
reduced runtime stat collection overhead dramatically.

19 years agouse inline.
Gengbin Zheng [Sat, 23 Mar 2002 01:05:54 +0000 (01:05 +0000)]
use inline.

19 years agoMore updated. Almost working.
Joshua Unger [Fri, 22 Mar 2002 21:58:39 +0000 (21:58 +0000)]
More updated.  Almost working.

19 years agoEliminated CkGetGroupID API routine.
Orion Lawlor [Fri, 22 Mar 2002 20:44:31 +0000 (20:44 +0000)]
Eliminated CkGetGroupID API routine.

19 years agoRemoved _currentChare and _currentChareType global variables.
Orion Lawlor [Fri, 22 Mar 2002 20:43:55 +0000 (20:43 +0000)]
Removed _currentChare and _currentChareType global variables.
This means the old API routines CkGetChareID and CkGetGroupID
are no longer supported.  _currentGroup still does exist,
but it is only used by the group constructor.

The correct way to get your own ID is to use "thishandle"
or the CkGetChareID *member* function.

19 years agoFix memory leak-- when allocating a (nonmigratable) stack on the
Orion Lawlor [Fri, 22 Mar 2002 20:41:40 +0000 (20:41 +0000)]
Fix memory leak-- when allocating a (nonmigratable) stack on the
heap at an aligned boundary, it gets stored in CthThread->stack
instead of CthThread->base.stack.  Thus the stack isn't automatically
freed by the base class when the thread is deleted, so we have to
free it ourselves.

19 years agoChanges for (cursed) Solaris CC compiler:
Orion Lawlor [Fri, 22 Mar 2002 18:02:24 +0000 (18:02 +0000)]
Changes for (cursed) Solaris CC compiler:
-Moved templated operator|'s inside CkPupVec classes.
Having the operator|'s defined outside the classes made
Solaris CC 5.0 think they were ambiguous; it's happy with
the same operators inside the classes (!).

-Changed "len" to "l".  "len" is the name of a (private)
member of the superclass, and Solaris CC gets annoyed when
the children re-use the name ("Warning: len hides CkVec::len").

19 years agoHave to *copy* listenerData fields, because constructors
Orion Lawlor [Fri, 22 Mar 2002 17:10:25 +0000 (17:10 +0000)]
Have to *copy* listenerData fields, because constructors
that take no message delete their message right away.

19 years agoAdded new forms for callback to use inline message delivery.
Orion Lawlor [Thu, 21 Mar 2002 21:43:10 +0000 (21:43 +0000)]
Added new forms for callback to use inline message delivery.

19 years agoAdded support for "Inline" message sends, where we skip
Orion Lawlor [Thu, 21 Mar 2002 21:42:35 +0000 (21:42 +0000)]
Added support for "Inline" message sends, where we skip
the queue and just call the method directly.

This involves some minor refactoring (split out _deliver
from _process routines); but shouldn't change existing
message semantics.

19 years agoAdded implementation for inlined array message send, which amounts
Orion Lawlor [Thu, 21 Mar 2002 21:40:50 +0000 (21:40 +0000)]
Added implementation for inlined array message send, which amounts
to using "deliver" instead of "deliverViaQueue".

19 years agoAdded prototypes for "Inline" forms of CkSendMsg.
Orion Lawlor [Thu, 21 Mar 2002 21:40:00 +0000 (21:40 +0000)]
Added prototypes for "Inline" forms of CkSendMsg.

19 years agoAdded support for performance counter tracking.
Joshua Unger [Thu, 21 Mar 2002 18:11:56 +0000 (18:11 +0000)]
Added support for performance counter tracking.

19 years agoModule to measure performance counters on various machines.
Joshua Unger [Thu, 21 Mar 2002 18:09:43 +0000 (18:09 +0000)]
Module to measure performance counters on various machines.

19 years agoAdded "CkArrayListener" abstraction. This is a subclass of
Orion Lawlor [Thu, 21 Mar 2002 17:11:18 +0000 (17:11 +0000)]
Added "CkArrayListener" abstraction.  This is a subclass of
CkComponent that can be added to an array when it is created.
The ArrayListener is informed whenever an array element is
"stamped" (its creation message is created), created (both
before and after the constructor), deleted, or migrated
(both before and after leaving).

A CkArrayListener can thus keep track of:
-The total number of array elements in the system, by maintaining
a "created-deleted" count (net births) on each processor.
-The number of local array elements, by maintaining a "created+migrate in
minus deleted+migrated out" count.
-The identities of each array element.

A CkArrayListener has a spot in ArrayElement where it can store
any listener-specific data (at the listener's offset into listenerData).

CkArrayListeners were designed for use by communication libraries,
but they are actually general enough to cleanly implement parts of
the array manager itself, like the reduction interface (CkArray::reducer)
and the non-communication portion of the broadcast interface
(CkArray::broadcaster).

ckarray.[Ch] are thus substantially restructured, but very little new
code is actually present and there should be zero user-visible change
aside from a new "addListener" method for CkCreateOptions.

19 years agoChanged reductionCount and broadcastCount fields to
Orion Lawlor [Thu, 21 Mar 2002 17:03:29 +0000 (17:03 +0000)]
Changed reductionCount and broadcastCount fields to
just a uniform "listenerData" array.  This is both
simpler and more extensible.

The corresponding change in the array manager makes
reducer and broadcaster regular CkArrayListeners.

The only downside is that the envelope keeps growing,
driven by arrays.

19 years agoMoved the CkPupVec templates to charm++.h.
Orion Lawlor [Thu, 21 Mar 2002 17:00:55 +0000 (17:00 +0000)]
Moved the CkPupVec templates to charm++.h.

19 years agoAdded "CkComponent" abstraction. A CkComponent is a part of a group
Orion Lawlor [Thu, 21 Mar 2002 16:58:54 +0000 (16:58 +0000)]
Added "CkComponent" abstraction.  A CkComponent is a part of a group
that can be localbranch'd but doesn't do communication and hence
doesn't use the translator or have a proxy.

This abstraction is needed because only having "ckLocalBranch" for
Groups forces us to solve all our interface problems with inheritance.
CkComponent provides another, better place to hang virtual functions.

CkComponent was first needed to implement "Array Listeners".

19 years agoTwo small changes:
Orion Lawlor [Thu, 21 Mar 2002 16:54:47 +0000 (16:54 +0000)]
Two small changes:
-Made default CkQ size zero, to save one malloc in the common case
where the CkQ is never used. (CkQ is often used for message buffers,
etc. which are normally empty.)
-Added copy constructor and assignment operator for CkVec, which
makes CkVec more like std::vector and more convenient.

19 years agonew fem_add_node
Gunavardhan Kakulapati [Mon, 18 Mar 2002 21:24:51 +0000 (21:24 +0000)]
new fem_add_node

19 years agofixed several compiler incompatibility errors
Gengbin Zheng [Mon, 18 Mar 2002 17:43:37 +0000 (17:43 +0000)]
fixed several compiler incompatibility errors

19 years agoAdded checks for out-of-order messages. A message is first checked against
Milind Bhandarkar [Mon, 18 Mar 2002 06:48:14 +0000 (06:48 +0000)]
Added checks for out-of-order messages. A message is first checked against
the expected sequence number between any two processors. If it is indeed
expected, it goes into the message table, otherwise it is buffered.

19 years agoadded supported for thread BG Charm++, in which one thread is a Charm++ PE.
Gengbin Zheng [Mon, 18 Mar 2002 06:30:20 +0000 (06:30 +0000)]
added supported for thread BG Charm++, in which one thread is a Charm++ PE.

19 years agoadded supported for threaded bg charm++.
Gengbin Zheng [Mon, 18 Mar 2002 06:27:17 +0000 (06:27 +0000)]
added supported for threaded bg charm++.

19 years agoa lot of changes and rewrite
Gengbin Zheng [Mon, 18 Mar 2002 06:10:00 +0000 (06:10 +0000)]
a lot of changes and rewrite
1. added support for anchor a thread to a charm pe;
   in this version, handler table has to be one for each thread, instead of
   one for each blue gene node;
2. implemented thread broadcast where each broadcast send to each bg worker
   thread;
3. allow register worker thread start function.

19 years agoadded CthSwitchThread(CthThread t) to switch thread directly to t, instead of
Gengbin Zheng [Mon, 18 Mar 2002 05:58:51 +0000 (05:58 +0000)]
added CthSwitchThread(CthThread t) to switch thread directly to t, instead of
doing CthResume().

19 years agoadd macros for another bluegene charm++ version.
Gengbin Zheng [Mon, 18 Mar 2002 05:45:17 +0000 (05:45 +0000)]
add macros for another bluegene charm++ version.

19 years agofix blue timing module dependence.
Gengbin Zheng [Mon, 18 Mar 2002 05:41:05 +0000 (05:41 +0000)]
fix blue timing module dependence.

19 years agoupdated.
Gengbin Zheng [Mon, 18 Mar 2002 01:32:29 +0000 (01:32 +0000)]
updated.

19 years agonow add another version of BGCharm++, each BG thread is a Charm++ PE.
Gengbin Zheng [Sun, 17 Mar 2002 18:20:53 +0000 (18:20 +0000)]
now add another version of BGCharm++, each BG thread is a Charm++ PE.

19 years agoJust double-checking that ordinary user checkins still work.
Orion Lawlor [Sun, 17 Mar 2002 18:14:06 +0000 (18:14 +0000)]
Just double-checking that ordinary user checkins still work.

19 years agoReordered dependency list. Also a test to see if "checkout" account
checkout [Sun, 17 Mar 2002 18:07:50 +0000 (18:07 +0000)]
Reordered dependency list.  Also a test to see if "checkout" account
can actually check stuff in.

19 years agoadded SwitchPE to callbacks.(missed one place last time)
Gengbin Zheng [Sun, 17 Mar 2002 08:06:59 +0000 (08:06 +0000)]
added SwitchPE to callbacks.(missed one place last time)

19 years agoFixed Fortran90 versionof AMPI-> MPI change.
Milind Bhandarkar [Sat, 16 Mar 2002 23:04:35 +0000 (23:04 +0000)]
Fixed Fortran90 versionof AMPI-> MPI change.

19 years agoChanged AMPI_* to MPI_*. The machine layer now uses PMPI_* functions to free
Milind Bhandarkar [Sat, 16 Mar 2002 21:26:16 +0000 (21:26 +0000)]
Changed AMPI_* to MPI_*. The machine layer now uses PMPI_* functions to free
up the name space occupied by MPI_* routines, so that AMPI can use those names.

19 years agoisomalloc.h => memory-isomalloc.h
Milind Bhandarkar [Sat, 16 Mar 2002 21:23:27 +0000 (21:23 +0000)]
isomalloc.h => memory-isomalloc.h

19 years agoFixing bug in ComlibManager.C, for the USE_DIRECT option which did not work without...
Ramkumar Vadali [Sat, 16 Mar 2002 00:10:08 +0000 (00:10 +0000)]
Fixing bug in ComlibManager.C, for the USE_DIRECT option which did not work without the comid being passed to all the group members

19 years agoSmall change to array creation semantics-- reduction serial number
Orion Lawlor [Fri, 15 Mar 2002 19:50:58 +0000 (19:50 +0000)]
Small change to array creation semantics-- reduction serial number
is "stamped" on an array element when its creation *message* is
created; not when the element itself is created.

This means the addition of (another) field to the array section
of the envelope, tiny changes to the array manager, and a new
"contributorStamped" entry in the reduction manager.

19 years agoStream both printf's as well as CmiPrintf's to the old terminal
Orion Lawlor [Fri, 15 Mar 2002 15:36:17 +0000 (15:36 +0000)]
Stream both printf's as well as CmiPrintf's to the old terminal
as well as charmrun.  This lets you see per-processor printouts
when you run with ++debug or ++in-xterm.

19 years agoAdded "NETFEMAPI" calls to all user-callable routines, which are used to
Orion Lawlor [Thu, 14 Mar 2002 23:51:36 +0000 (23:51 +0000)]
Added "NETFEMAPI" calls to all user-callable routines, which are used to
disable/enable migratable memory allocation and provide call tracing.

19 years agoAdded "MBLOCKAPI" calls to all user-callable routines, which are used to
Orion Lawlor [Thu, 14 Mar 2002 23:51:30 +0000 (23:51 +0000)]
Added "MBLOCKAPI" calls to all user-callable routines, which are used to
disable/enable migratable memory allocation and provide call tracing.

19 years agoAdded "FEMAPI" calls to all user-callable routines, which are used to
Orion Lawlor [Thu, 14 Mar 2002 23:51:22 +0000 (23:51 +0000)]
Added "FEMAPI" calls to all user-callable routines, which are used to
disable/enable migratable memory allocation and provide call tracing.

19 years agoAdded "AMPIAPI" calls to all user-callable routines, which are used to
Orion Lawlor [Thu, 14 Mar 2002 23:51:10 +0000 (23:51 +0000)]
Added "AMPIAPI" calls to all user-callable routines, which are used to
disable/enable migratable memory allocation and provide call tracing.

19 years agoAdded two things:
Orion Lawlor [Thu, 14 Mar 2002 23:50:15 +0000 (23:50 +0000)]
Added two things:
-A BlockList to keep track of heap allocations when using -memory isomalloc
-A facility to trace the execution of framework API routines.

19 years agoChanged "malloc"s to "malloc_nonmigratable". These are needed because
Orion Lawlor [Thu, 14 Mar 2002 23:48:48 +0000 (23:48 +0000)]
Changed "malloc"s to "malloc_nonmigratable".  These are needed because
otherwise datagrams allocated while there was a migratable object
running would be bound to that object, and would magically disappear
when that object migrated away.  Note that this is only a problem
for incoming messages on non-smp versions; migratable objects should
be disciplined enough to de-activate their allocation list before
running other code.

19 years agoAdded memory-isomalloc.h and memory-isomalloc.c.
Orion Lawlor [Thu, 14 Mar 2002 23:44:11 +0000 (23:44 +0000)]
Added memory-isomalloc.h and memory-isomalloc.c.

19 years agoTiny change: CmiAlloc now uses malloc_nomigratable rather than ordinary
Orion Lawlor [Thu, 14 Mar 2002 23:43:37 +0000 (23:43 +0000)]
Tiny change: CmiAlloc now uses malloc_nomigratable rather than ordinary
malloc.  This is needed when the default heap allocations go to isomalloc'd,
migratable memory, because if CmiAlloc returned migratable memory, converse
would be very confused when its messages (e.g., sent w/ sendandfree)
suddenly migrated away!

19 years agoTwo changes:
Orion Lawlor [Thu, 14 Mar 2002 23:40:51 +0000 (23:40 +0000)]
Two changes:
-Now use malloc_reentrant to allocate memory.  This is needed because
the isomalloc routines can be called from within malloc, so extra care
needs to be taken with the CmiMemLock.
-Added an exclusion region for shared libraries, which might get loaded
to their own special section of the address space.

19 years agoUpdates for new isomalloc memory mode. If we're *not* using isomalloc,
Orion Lawlor [Thu, 14 Mar 2002 23:38:50 +0000 (23:38 +0000)]
Updates for new isomalloc memory mode.  If we're *not* using isomalloc,
we use plain vanilla implementations of the "memory-isomalloc.h" routines.

19 years agoUse the power of isomalloc to make migration easier, by allocating
Orion Lawlor [Thu, 14 Mar 2002 23:37:24 +0000 (23:37 +0000)]
Use the power of isomalloc to make migration easier, by allocating
all heap data in isomalloc memory.  This is enabled by "Activating"
a "BlockList", a doubly-linked circular list into which subsequent
malloc's will be linked.  "free" doesn't depend on the current
active blocklist; it always unlinks blocks from their original
context.

If there is no active context, this version falls back to the ordinary
GNU allocate.

19 years agoset CMK_TIMER_USE_RDTSC 1 for gcc. ecc doesn't support asm though.
Gengbin Zheng [Wed, 13 Mar 2002 06:07:52 +0000 (06:07 +0000)]
set CMK_TIMER_USE_RDTSC 1 for gcc. ecc doesn't support asm though.

19 years agoadded CMK_IA64 and CMK_TIMER_USE_RDTSC
Gengbin Zheng [Wed, 13 Mar 2002 06:05:27 +0000 (06:05 +0000)]
added CMK_IA64 and CMK_TIMER_USE_RDTSC