v8  3.11.10(node0.8.26)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
heap.cc File Reference
#include "v8.h"
#include "accessors.h"
#include "api.h"
#include "bootstrapper.h"
#include "codegen.h"
#include "compilation-cache.h"
#include "debug.h"
#include "deoptimizer.h"
#include "global-handles.h"
#include "heap-profiler.h"
#include "incremental-marking.h"
#include "liveobjectlist-inl.h"
#include "mark-compact.h"
#include "natives.h"
#include "objects-visiting.h"
#include "objects-visiting-inl.h"
#include "once.h"
#include "runtime-profiler.h"
#include "scopeinfo.h"
#include "snapshot.h"
#include "store-buffer.h"
#include "v8threads.h"
#include "vm-state-inl.h"
Include dependency graph for heap.cc:

Go to the source code of this file.

Data Structures

class  ScavengeVisitor
 
class  ScavengeWeakObjectRetainer
 
class  NewSpaceScavenger
 
class  ScavengingVisitor< marks_handling, logging_and_profiling_mode >
 
class  HeapObjectsFilter
 
class  UnreachableObjectsFilter
 

Namespaces

 v8
 
 v8::internal
 

Macros

#define LUMP_OF_MEMORY   MB
 
#define STRING_TYPE_ELEMENT(type, size, name, camel_name)   {type, size, k##camel_name##MapRootIndex},
 
#define CONSTANT_SYMBOL_ELEMENT(name, contents)   {contents, k##name##RootIndex},
 
#define STRUCT_TABLE_ELEMENT(NAME, Name, name)   { NAME##_TYPE, Name::kSize, k##Name##MapRootIndex },
 
#define MAKE_CASE(NAME, Name, name)   case NAME##_TYPE: map = name##_map(); break;
 

Enumerations

enum  LoggingAndProfiling { LOGGING_AND_PROFILING_ENABLED, LOGGING_AND_PROFILING_DISABLED }
 
enum  MarksHandling { TRANSFER_MARKS, IGNORE_MARKS }
 

Functions

 STATIC_ASSERT ((FixedDoubleArray::kHeaderSize &kDoubleAlignmentMask)==0)
 
 INLINE (static HeapObject *EnsureDoubleAligned(Heap *heap, HeapObject *object, int size))
 
 V8_DECLARE_ONCE (initialize_gc_once)
 

Macro Definition Documentation

#define CONSTANT_SYMBOL_ELEMENT (   name,
  contents 
)    {contents, k##name##RootIndex},
#define LUMP_OF_MEMORY   MB
#define MAKE_CASE (   NAME,
  Name,
  name 
)    case NAME##_TYPE: map = name##_map(); break;

Referenced by Heap::AllocateStruct().

#define STRING_TYPE_ELEMENT (   type,
  size,
  name,
  camel_name 
)    {type, size, k##camel_name##MapRootIndex},
#define STRUCT_TABLE_ELEMENT (   NAME,
  Name,
  name 
)    { NAME##_TYPE, Name::kSize, k##Name##MapRootIndex },