summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Core/Pei
diff options
context:
space:
mode:
authorjljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524>2009-02-12 17:15:08 +0000
committerjljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524>2009-02-12 17:15:08 +0000
commit4ad9d87d7ac1cf831b9b95af4dcac5a88fac9a6f (patch)
treeb6241b80dace8da16f2529591a424322a3184b62 /MdeModulePkg/Core/Pei
parentcb0b858d6ec4e57633e80303db4564b06fbe9ee4 (diff)
downloadedk2-4ad9d87d7ac1cf831b9b95af4dcac5a88fac9a6f.zip
edk2-4ad9d87d7ac1cf831b9b95af4dcac5a88fac9a6f.tar.gz
edk2-4ad9d87d7ac1cf831b9b95af4dcac5a88fac9a6f.tar.bz2
* MdeModulePkg/Core/Pei/Dependency/Dependency.h
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
Diffstat (limited to 'MdeModulePkg/Core/Pei')
-rw-r--r--MdeModulePkg/Core/Pei/Dependency/Dependency.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/MdeModulePkg/Core/Pei/Dependency/Dependency.h b/MdeModulePkg/Core/Pei/Dependency/Dependency.h
index c15fd0d..ff99783 100644
--- a/MdeModulePkg/Core/Pei/Dependency/Dependency.h
+++ b/MdeModulePkg/Core/Pei/Dependency/Dependency.h
@@ -17,7 +17,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#define _PEI_DEPENDENCY_H_
-#define MAX_GRAMMAR_SIZE 256
+#define MAX_GRAMMAR_SIZE 64
//
// type definitions