]> git.proxmox.com Git - mirror_edk2.git/commitdiff
* MdeModulePkg/Core/Pei/Dependency/Dependency.h
authorjljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 12 Feb 2009 17:15:08 +0000 (17:15 +0000)
committerjljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 12 Feb 2009 17:15:08 +0000 (17:15 +0000)
Decrease MAX_GRAMMAR_SIZE from 256 to 64.

In Dependency.c => PeimDispatchReadiness, a local variable 'EvalStack'
makes an array of EVAL_STACK_ENTRY structures to store a stack for
processing the dependency expression.

Due to alignment considerations, sizeof (EVAL_STACK_ENTRY) is 16 bytes
on 64 bit architectures.  This means the size of the EvalStack local
variable in PeimDispatchReadiness grows to 4kb.

In the PEI phase, the stack area may be very small, and therefore 4kb is
much to large.  Reducing MAX_GRAMMAR_SIZE to 64 will lower the size
of EvalStack to 1kb.

While reducing this to 1kb solves an issue seen with GCC on X64, it is
still a large usage of stack for the PEI phase, and future improvements
may still need to be made.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7514 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Core/Pei/Dependency/Dependency.h

index c15fd0d816ad017534c4ec541b93549f938b8054..ff99783ac298ff4d860a0f50bcb3e39b93dbd55c 100644 (file)
@@ -17,7 +17,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #define _PEI_DEPENDENCY_H_\r
 \r
 \r
 #define _PEI_DEPENDENCY_H_\r
 \r
 \r
-#define MAX_GRAMMAR_SIZE  256\r
+#define MAX_GRAMMAR_SIZE  64\r
 \r
 //\r
 // type definitions\r
 \r
 //\r
 // type definitions\r