Index: src/globals.h |
diff --git a/src/globals.h b/src/globals.h |
index e93fa3b07ead3f33d9453a507dd5a7f221595f3c..da1e32071b3c51a6bd8f9c7930e168fa280b528b 100644 |
--- a/src/globals.h |
+++ b/src/globals.h |
@@ -75,6 +75,14 @@ namespace internal { |
// Determine whether the architecture uses an out-of-line constant pool. |
#define V8_OOL_CONSTANT_POOL 0 |
+// Determine whether the architecture uses an embedded constant pool |
+// (contiguous constant pool embedded in code object). |
+#if V8_TARGET_ARCH_PPC |
+#define V8_EMBEDDED_CONSTANT_POOL 1 |
+#else |
+#define V8_EMBEDDED_CONSTANT_POOL 0 |
+#endif |
+ |
#ifdef V8_TARGET_ARCH_ARM |
// Set stack limit lower for ARM than for other architectures because |
// stack allocating MacroAssembler takes 120K bytes. |
@@ -461,13 +469,15 @@ enum ParseRestriction { |
// A CodeDesc describes a buffer holding instructions and relocation |
// information. The instructions start at the beginning of the buffer |
// and grow forward, the relocation information starts at the end of |
-// the buffer and grows backward. |
+// the buffer and grows backward. A constant pool may exist at the |
+// end of the instructions. |
// |
-// |<--------------- buffer_size ---------------->| |
-// |<-- instr_size -->| |<-- reloc_size -->| |
-// +==================+========+==================+ |
-// | instructions | free | reloc info | |
-// +==================+========+==================+ |
+// |<--------------- buffer_size ----------------------------------->| |
+// |<------------- instr_size ---------->| |<-- reloc_size -->| |
+// | |<- const_pool_size ->| | |
+// +=====================================+========+==================+ |
+// | instructions | data | free | reloc info | |
+// +=====================================+========+==================+ |
// ^ |
// | |
// buffer |
@@ -477,6 +487,7 @@ struct CodeDesc { |
int buffer_size; |
int instr_size; |
int reloc_size; |
+ int constant_pool_size; |
Assembler* origin; |
}; |