Index: src/objects.h |
=================================================================== |
--- src/objects.h (revision 2377) |
+++ src/objects.h (working copy) |
@@ -823,12 +823,14 @@ |
// Failure is used for reporting out of memory situations and |
// propagating exceptions through the runtime system. Failure objects |
-// are transient and cannot occur as part of the objects graph. |
+// are transient and cannot occur as part of the object graph. |
// |
// Failures are a single word, encoded as follows: |
// +-------------------------+---+--+--+ |
// |rrrrrrrrrrrrrrrrrrrrrrrrr|sss|tt|11| |
// +-------------------------+---+--+--+ |
+// 3 7 6 4 32 10 |
+// 1 |
// |
// The low two bits, 0-1, are the failure tag, 11. The next two bits, |
// 2-3, are a failure type tag 'tt' with possible values: |
@@ -839,18 +841,13 @@ |
// |
// The next three bits, 4-6, are an allocation space tag 'sss'. The |
// allocation space tag is 000 for all failure types except |
-// RETRY_AFTER_GC. For RETRY_AFTER_GC, the possible values are |
-// (the encoding is found in globals.h): |
-// 000 NEW_SPACE |
-// 001 OLD_SPACE |
-// 010 CODE_SPACE |
-// 011 MAP_SPACE |
-// 100 LO_SPACE |
+// RETRY_AFTER_GC. For RETRY_AFTER_GC, the possible values are the |
+// allocation spaces (the encoding is found in globals.h). |
// |
-// The remaining bits is the number of words requested by the |
-// allocation request that failed, and is zeroed except for |
-// RETRY_AFTER_GC failures. The 25 bits (on a 32 bit platform) gives |
-// a representable range of 2^27 bytes (128MB). |
+// The remaining bits is the size of the allocation request in units |
+// of the pointer size, and is zeroed except for RETRY_AFTER_GC |
+// failures. The 25 bits (on a 32 bit platform) gives a representable |
+// range of 2^27 bytes (128MB). |
// Failure type tag info. |
const int kFailureTypeTagSize = 2; |
@@ -980,14 +977,6 @@ |
inline Address ToEncodedAddress(); |
- private: |
- // HeapObject calls the private constructor and directly reads the value. |
- friend class HeapObject; |
- |
- explicit MapWord(uintptr_t value) : value_(value) {} |
- |
- uintptr_t value_; |
- |
// Bits used by the marking phase of the garbage collector. |
// |
// The first word of a heap object is normally a map pointer. The last two |
@@ -1029,6 +1018,14 @@ |
// 0xFFE00000 |
static const uint32_t kForwardingOffsetMask = |
~(kMapPageIndexMask | kMapPageOffsetMask); |
+ |
+ private: |
+ // HeapObject calls the private constructor and directly reads the value. |
+ friend class HeapObject; |
+ |
+ explicit MapWord(uintptr_t value) : value_(value) {} |
+ |
+ uintptr_t value_; |
}; |