| Index: src/v8globals.h
|
| ===================================================================
|
| --- src/v8globals.h (revision 9531)
|
| +++ src/v8globals.h (working copy)
|
| @@ -79,18 +79,20 @@
|
| reinterpret_cast<Address>(V8_UINT64_C(0x1beefdad0beefdaf));
|
| const uint64_t kDebugZapValue = V8_UINT64_C(0xbadbaddbbadbaddb);
|
| const uint64_t kSlotsZapValue = V8_UINT64_C(0xbeefdeadbeefdeef);
|
| +const uint64_t kFreeListZapValue = 0xfeed1eaffeed1eaf;
|
| #else
|
| const Address kZapValue = reinterpret_cast<Address>(0xdeadbeef);
|
| const Address kHandleZapValue = reinterpret_cast<Address>(0xbaddeaf);
|
| const Address kFromSpaceZapValue = reinterpret_cast<Address>(0xbeefdaf);
|
| const uint32_t kSlotsZapValue = 0xbeefdeef;
|
| const uint32_t kDebugZapValue = 0xbadbaddb;
|
| +const uint32_t kFreeListZapValue = 0xfeed1eaf;
|
| #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;
|
| +// Number of bits to represent the page size for paged spaces. The value of 20
|
| +// gives 1Mb bytes per page.
|
| +const int kPageSizeBits = 20;
|
|
|
| // On Intel architecture, cache line size is 64 bytes.
|
| // On ARM it may be less (32 bytes), but as far this constant is
|
| @@ -98,10 +100,6 @@
|
| const int kProcessorCacheLineSize = 64;
|
|
|
| // Constants relevant to double precision floating point numbers.
|
| -
|
| -// Quiet NaNs have bits 51 to 62 set, possibly the sign bit, and no
|
| -// other bits set.
|
| -const uint64_t kQuietNaNMask = static_cast<uint64_t>(0xfff) << 51;
|
| // If looking only at the top 32 bits, the QNaN mask is bits 19 to 30.
|
| const uint32_t kQuietNaNHighBitsMask = 0xfff << (51 - 32);
|
|
|
| @@ -131,6 +129,7 @@
|
| class FunctionEntry;
|
| class FunctionLiteral;
|
| class FunctionTemplateInfo;
|
| +class MemoryChunk;
|
| class NumberDictionary;
|
| class StringDictionary;
|
| template <typename T> class Handle;
|
| @@ -254,12 +253,6 @@
|
| };
|
|
|
|
|
| -// Callback function on object slots, used for iterating heap object slots in
|
| -// HeapObjects, global pointers to heap objects, etc. The callback allows the
|
| -// callback function to change the value of the slot.
|
| -typedef void (*ObjectSlotCallback)(HeapObject** pointer);
|
| -
|
| -
|
| // Callback function used for iterating objects in heap spaces,
|
| // for example, scanning heap objects.
|
| typedef int (*HeapObjectCallback)(HeapObject* obj);
|
| @@ -306,7 +299,9 @@
|
| NO_CALL_FUNCTION_FLAGS = 0,
|
| // Receiver might implicitly be the global objects. If it is, the
|
| // hole is passed to the call function stub.
|
| - RECEIVER_MIGHT_BE_IMPLICIT = 1 << 0
|
| + RECEIVER_MIGHT_BE_IMPLICIT = 1 << 0,
|
| + // The call target is cached in the instruction stream.
|
| + RECORD_CALL_TARGET = 1 << 1
|
| };
|
|
|
|
|
| @@ -316,6 +311,19 @@
|
| };
|
|
|
|
|
| +// The Store Buffer (GC).
|
| +typedef enum {
|
| + kStoreBufferFullEvent,
|
| + kStoreBufferStartScanningPagesEvent,
|
| + kStoreBufferScanningPageEvent
|
| +} StoreBufferEvent;
|
| +
|
| +
|
| +typedef void (*StoreBufferCallback)(Heap* heap,
|
| + MemoryChunk* page,
|
| + StoreBufferEvent event);
|
| +
|
| +
|
| // Type of properties.
|
| // Order of properties is significant.
|
| // Must fit in the BitField PropertyDetails::TypeField.
|
|
|