summaryrefslogtreecommitdiffstats
path: root/cpukit/score/Makefile.am (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 2005-05-14 Sergei Organov <osv@topconrd.ru>Joel Sherrill2005-05-201-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR 746/rtems Optimize realloc(). The problem is that realloc() can neither grow nor shrink efficiently the current memory region without support from underlying heap/region modules. The patch introduces one new routine for each of heap and region modules, _Heap_Resize_block(), and rtems_region_resize_segment(), respectively, and uses the latter to optimize realloc(). The implementation of _Heap_Resize_block() lead to changing of the heap allocation strategy: now the heap manager, when splits larger free block into used and new free parts, makes the first part of the block used, not the last one as it was before. Due to this new strategy, _Heap_Resize_block() never needs to change the user pointer. Caveat: unlike previous heap implementation, first few bytes of the contents of the memory allocated from the heap are now almost never all zero. This can trigger bugs in client code that have not been visible before this patch. * libcsupport/src/malloc.c (realloc): try to resize segment in place using new rtems_region_resize_segment() routine before falling back to the malloc()/free() method. * score/src/heap.c: (_Heap_Initialize): change initial heap layout to reflect new allocation strategy of using of the lower part of a previously free block when splitting it for the purpose of allocation. (_Heap_Block_allocate): when split, make the lower part used, and leave the upper part free. Return type changed from Heap_Block* to uint32_t. * score/include/rtems/score/heap.h: (Heap_Statistics): added 'resizes' field. (Heap_Resize_status): new enum. (_Heap_Resize_block): new routine. (_Heap_Block_allocate): return type changed from Heap_Block* to uint32_t. * score/src/heapwalk.c: reflect new heap layout in checks. * score/src/heapsizeofuserarea.c: more assertions added. * score/src/heapresizeblock.c: new file. (_Heap_Resize_block): new routine. * score/src/heapfree.c: reverse the checks _Heap_Is_block_in() and _Heap_Is_prev_used() on entry to be in this order. * score/src/heapallocate.c, score/src/heapallocatealigned.c: ignore return value of _Heap_Block_allocate(). * score/Makefile.am (HEAP_C_FILES): added src/heapresizeblock.c. * rtems/include/rtems/rtems/region.h: (rtems_region_resize_segment): new interface routine. (_Region_Process_queue): new internal routine called from rtems_region_resize_segment() and rtems_region_return_segment(). * rtems/src/regionreturnsegment.c: move queue management code into the new internal routine _Region_Process_queue() and call it. * rtems/src/regionresizesegment.c: new file. (rtems_region_resize_segment): new interface routine. * rtems/src/regionprocessqueue.c: new file. (_Region_Process_queue): new internal routine containing queue management code factored out from 'regionreturnsegment.c'. * rtems/Makefile.am (REGION_C_FILES): Added src/regionresizesegment.c, and src/regionprocessqueue.c. * ada/rtems.adb, ada/rtems.ads: Added Region_Resize_Segment.
* Cosmetics.Ralf Corsepius2005-02-081-2/+0
|
* Split preinstallation rules in to separate files (preinstall.am).Ralf Corsepius2005-02-081-324/+6
|
* 2005-01-20 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2005-01-201-1/+1
| | | | | | | PR 745/rtems * rtems/src/ratemoncreate.c, rtems/src/timercreate.c: Make sure internal timer structures are initialized so object control reuse is safe.
* 2005-01-07 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-01-071-1/+1
| | | | | | | | * httpd/Makefile.am, itron/Makefile.am, libblock/Makefile.am, libcsupport/Makefile.am, libfs/Makefile.am, libmisc/Makefile.am, libnetworking/Makefile.am, librpc/Makefile.am, posix/Makefile.am, rtems/Makefile.am, sapi/Makefile.am, score/Makefile.am: Eliminate CFLAGS_OPTIMIZE_V.
* 2005-01-01 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-01-011-9/+3
| | | | | | | | | * automake/compile.am, httpd/Makefile.am, itron/Makefile.am, libblock/Makefile.am, libcsupport/Makefile.am, libfs/Makefile.am, libmisc/Makefile.am, libnetworking/Makefile.am, librpc/Makefile.am, posix/Makefile.am, rtems/Makefile.am, sapi/Makefile.am, score/Makefile.am, wrapup/Makefile.am: Remove build-variant support.
* 2004-11-29 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2004-11-291-1/+2
| | | | | | | | | | | | * libcsupport/src/mallocfreespace.c, rtems/Makefile.am, rtems/include/rtems/rtems/region.h, score/Makefile.am, score/include/rtems/score/heap.h, score/src/heapgetinfo.c: Add capability to return information about just the free blocks in a region or heap. Also changed the semantics of free space available to be the largest block of memory that can be allocated. * rtems/src/regiongetfreeinfo.c, score/src/heapgetfreeinfo.c: New files. : score/include/rtems/score/object.h, score/src/objectinitializeinformation.c: Remove warning.
* 2004-01-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius2004-01-191-2/+4
| | | | * Makefile.am: Add PREINSTALL_DIRS.
* 2004-01-14 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius2004-01-141-0/+6
| | | | | | * Makefile.am: Re-add dirstamps to PREINSTALL_FILES. Add PREINSTALL_FILES to CLEANFILES. Add cpuopts.h to DISTCLEANFILES.
* 2004-01-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius2004-01-111-2/+1
| | | | * Makefile.am: Include compile.am, again.
* 2004-01-08 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius2004-01-091-1/+3
| | | | | * Makefile.am: Add libs to CLEANFILES Set lib*_g_a_SOURCES = lib*_a_SOURCES.
* 2004-01-08 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius2004-01-091-7/+7
| | | | | * Makefile.am: Build libscore$(LIB_VARIANT).a instead of $(ARCH)/libscore.a.
* 2004-01-07 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius2004-01-071-14/+8
| | | | * Makefile.am: Build library using EXTRA_LIBRARIES and automake rules.
* 2003-12-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius2003-12-121-4/+2
| | | | * Makefile.am: Use mkdir_p. Remove dirs from PRE/TMPINSTALL_FILES.
* 2003-11-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius2003-12-011-2/+2
| | | | | * Makefile.am: Add $(dirstamp) to preinstallation rules. Remove MACROS.
* 2003-11-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius2003-11-301-159/+158
| | | | | * Makefile.am: Add $(dirstamp) to preinstallation rules. Remove MACROS.
* 2003-11-23 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius2003-11-231-100/+402
| | | | * Makefile.am: Don't use gmake to preinstall.
* 2003-08-14 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2003-08-141-1/+2
| | | | | | | | | * Makefile.am, include/rtems/score/object.h, include/rtems/score/objectmp.h, src/objectmp.c, src/objectnametoid.c: Added ID to name lookup service and changed name of id/name translation status code. This propagated to multiple functions. The user API service added was rtems_object_id_to_name() * src/objectidtoname.c: New file.
* 2003-08-14 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2003-08-141-1/+1
| | | | | | | | | | | PR 408/filesystem * score/Makefile.am, score/include/rtems/score/thread.h: Added sync() service. As part of adding this service, the new RTEMS service rtems_iterate_over_all_threads() was also added. This new service makes it easier to iterate over all the tasks/threads in a system and perform an action on them. * score/src/iterateoverthreads.c: New file. * ChangeLog: Fixed screwup.
* 2002-12-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius2002-12-121-1/+0
| | | | Makefile.am: Don't create $ARCH.
* 2002-12-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius2002-12-091-1/+1
| | | | Makefile.am: Fix macro-file installation.
* 2002-12-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius2002-12-091-2/+2
| | | | Makefile.am: Move include/rtems/score/cpuopts.h to STD_H_FILES.
* 2002-12-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius2002-12-091-1/+180
| | | | | | | | * include/Makefile.am: Remove. * inline/Makefile.am: Remove. * macros/Makefile.am: Remove. * src/Makefile.am: Remove. * Makefile.am: Merge-in removed Makefile.ams.
* 2002-06-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius2002-06-171-2/+2
| | | | * Include $(top_srcdir)/automake/*.am.
* 2002-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-03-281-1/+0
| | | | | | | | | * cpu/Makefile.am: Remove AUTOMAKE_OPTIONS. * src/Makefile.am: Remove AUTOMAKE_OPTIONS. * Makefile.am: Remove AUTOMAKE_OPTIONS. * include/Makefile.am: Remove AUTOMAKE_OPTIONS. * inline/Makefile.am: Remove AUTOMAKE_OPTIONS. * macros/Makefile.am: Remove AUTOMAKE_OPTIONS.
* 2001-10-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2001-10-161-1/+1
| | | | | | | | | | | | | * include/rtems/Makefile.am: Remove. * include/rtems/Makefile.am: Remove. * include/Makefile.am: Handle subdirs, require automake-1.5. * macros/rtems/Makefile.am: Remove. * macros/rtems/score/Makefile.am: Remove. * macros/Makefile.am: Handle subdirs, require automake-1.5. * inline/rtems/Makefile.am: Remove. * inline/rtems/score/Makefile.am: Remove. * inline/Makefile.am: Handle subdirs, require automake-1.5. * Makefile.am: require automake-1.5
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de> to make fix bugJoel Sherrill1999-10-041-3/+3
| | | | where wrapup left pieces out of the librtemsall.a.
* Applied patch rtems-rc-19990820-6.diff.gz fromJoel Sherrill1999-09-071-0/+10
Ralf Corsepius <corsepiu@faw.uni-ulm.de> which converted many Makefile.in's to Makefile.am's. This added a lot of files.