Commit e7c9a058 by Pascal Obry Committed by Arnaud Charlet

system-mingw.ads (Underlying_Priorities): Update the priority mapping table to…

system-mingw.ads (Underlying_Priorities): Update the priority mapping table to take advantage of the 16 priority levels...

2006-02-13  Pascal Obry  <obry@adacore.com>

	* system-mingw.ads (Underlying_Priorities): Update the priority mapping
	table to take advantage of the 16 priority levels available on Windows
	2000 and XP. On NT4 there are only 7 priority levels, this is properly
	supported by this new mapping.

From-SVN: r111027
parent 57d8e34e
...@@ -5,9 +5,9 @@ ...@@ -5,9 +5,9 @@
-- S Y S T E M -- -- S Y S T E M --
-- -- -- --
-- S p e c -- -- S p e c --
-- (NT Version) -- -- (Windows Version) --
-- -- -- --
-- Copyright (C) 1992-2005, Free Software Foundation, Inc. -- -- Copyright (C) 1992-2006, Free Software Foundation, Inc. --
-- -- -- --
-- This specification is derived from the Ada Reference Manual for use with -- -- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow -- -- GNAT. The copyright notice above, and the license provisions that follow --
...@@ -133,7 +133,7 @@ private ...@@ -133,7 +133,7 @@ private
Preallocated_Stacks : constant Boolean := False; Preallocated_Stacks : constant Boolean := False;
Signed_Zeros : constant Boolean := True; Signed_Zeros : constant Boolean := True;
Stack_Check_Default : constant Boolean := False; Stack_Check_Default : constant Boolean := False;
Stack_Check_Probes : constant Boolean := False; Stack_Check_Probes : constant Boolean := True;
Support_64_Bit_Divides : constant Boolean := True; Support_64_Bit_Divides : constant Boolean := True;
Support_Aggregates : constant Boolean := True; Support_Aggregates : constant Boolean := True;
Support_Composite_Assign : constant Boolean := True; Support_Composite_Assign : constant Boolean := True;
...@@ -168,16 +168,27 @@ private ...@@ -168,16 +168,27 @@ private
-- Suppress initialization in case gnat.adc specifies Normalize_Scalars -- Suppress initialization in case gnat.adc specifies Normalize_Scalars
Underlying_Priorities : constant Priorities_Mapping := Underlying_Priorities : constant Priorities_Mapping :=
(Priority'First .. 1 => -15, (Priority'First ..
2 .. Default_Priority - 2 => -2, Default_Priority - 8 => -15,
Default_Priority - 1 => -1, Default_Priority - 7 => -7,
Default_Priority => 0, Default_Priority - 6 => -6,
Default_Priority + 1 .. 19 => 1, Default_Priority - 5 => -5,
20 .. Priority'Last => 2, Default_Priority - 4 => -4,
Interrupt_Priority => 15); Default_Priority - 3 => -3,
-- On NT, the default mapping preserves the standard 31 priorities Default_Priority - 2 => -2,
-- of the Ada model, but maps them using compression onto the 7 Default_Priority - 1 => -1,
-- priority levels available in NT. Default_Priority => 0,
Default_Priority + 1 => 1,
Default_Priority + 2 => 2,
Default_Priority + 3 => 3,
Default_Priority + 4 => 4,
Default_Priority + 5 => 5,
Default_Priority + 6 ..
Priority'Last => 6,
Interrupt_Priority => 15);
-- The default mapping preserves the standard 31 priorities of the Ada
-- model, but maps them using compression onto the 7 priority levels
-- available in NT and on the 16 priority levels available in 2000/XP.
-- To replace the default values of the Underlying_Priorities mapping, -- To replace the default values of the Underlying_Priorities mapping,
-- copy this source file into your build directory, edit the file to -- copy this source file into your build directory, edit the file to
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment