This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Ada] Change default stack size on native platforms


Tested on i686-linux, committed on trunk

This patch changes the default stack size used for Ada tasks on all native
platforms to 2megs. Previousely we were using 20kb on most platforms, and
other values on some (e.g. 100000 bytes on solaris, 2megs on linux, ...).
On most OSes, it does not make sense to allow very low stacks, so use a
more reasonable default of 2 megs (allowing up to 1024 concurrent tasks
on a 2gig virtual memory). Note that the default can also be changed on
a task basis using the standard 'Storage_Size attribute, or using the new
gnatbind switch -d.

Implement also support for thread stack size on Windows XP. The
previous implementation was limited due to older version of Windows not
supporting thread stack size reservation. The thread stack size on up to
Win2K was only the initial stack size, the stack was adjsuted if needed.
Starting with WinXP it is possible to set the maximum thread stack size.

2006-02-13  Arnaud Charlet  <charlet@adacore.com>

	* s-parame-mingw.adb, s-parame-linux.adb,
	s-parame-solaris.adb: Removed, replaced by s-parame.adb

	* s-parame-vxworks.ads: Fix typo.

	* s-parame-vxworks.adb: New file.

	* s-parame.adb: Version now used by all native platforms.
	(Default_Stack_Size): Use 2 megs for default stack size and use
	__gl_default_stack_size when available.
	(Minimum_Stack_Size): Use 12K.

	* s-taprop-mingw.adb: Set default stack size linker switch to 2megs.
	(Create_Task): Refine implementation taking advantage of the XP stack
	size support. On XP, we now create the thread using the flag
	STACK_SIZE_PARAM_IS_A_RESERVATION.

	* s-osinte-mingw.ads (Stack_Size_Param_Is_A_Reservation): New constant.

	* sysdep.c (__gnat_is_windows_xp): New routine, returns 1 on Windows
	XP and 0 on older Windows versions.

	* interfac-vms.ads: Removed, no longer used.

Attachment: difs.14
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]