Index: src/globals.h |
=================================================================== |
--- src/globals.h (revision 3473) |
+++ src/globals.h (working copy) |
@@ -145,6 +145,14 @@ |
const intptr_t kPointerAlignment = (1 << kPointerSizeLog2); |
const intptr_t kPointerAlignmentMask = kPointerAlignment - 1; |
+// Desired alignment for maps. |
+#if V8_HOST_ARCH_64_BIT |
+const intptr_t kMapAlignmentBits = kObjectAlignmentBits; |
+#else |
+const intptr_t kMapAlignmentBits = kObjectAlignmentBits + 3; |
+#endif |
+const intptr_t kMapAlignment = (1 << kMapAlignmentBits); |
+const intptr_t kMapAlignmentMask = kMapAlignment - 1; |
// Tag information for Failure. |
const int kFailureTag = 3; |
@@ -174,6 +182,11 @@ |
#endif |
+// Number of bits to represent the page size for paged spaces. The value of 13 |
+// gives 8K bytes per page. |
+const int kPageSizeBits = 13; |
+ |
+ |
// Constants relevant to double precision floating point numbers. |
// Quiet NaNs have bits 51 to 62 set, possibly the sign bit, and no |
@@ -450,6 +463,10 @@ |
#define POINTER_SIZE_ALIGN(value) \ |
(((value) + kPointerAlignmentMask) & ~kPointerAlignmentMask) |
+// MAP_SIZE_ALIGN returns the value aligned as a map pointer. |
+#define MAP_SIZE_ALIGN(value) \ |
+ (((value) + kMapAlignmentMask) & ~kMapAlignmentMask) |
+ |
// The expression OFFSET_OF(type, field) computes the byte-offset |
// of the specified field relative to the containing type. This |
// corresponds to 'offsetof' (in stddef.h), except that it doesn't |