| Index: src/objects.h
|
| ===================================================================
|
| --- src/objects.h (revision 596)
|
| +++ src/objects.h (working copy)
|
| @@ -1041,7 +1041,11 @@
|
| // object is overflowed (ie, partially restore the map pointer).
|
| inline void ClearOverflow();
|
|
|
| - static inline Object* GetHeapObjectField(HeapObject* obj, int index);
|
| + // Returns the field at offset in obj, as a read/write Object* reference.
|
| + // Does no checking, and is safe to use during GC, while maps are invalid.
|
| + // Does not update remembered sets, so should only be assigned to
|
| + // during marking GC.
|
| + static inline Object* &RawField(HeapObject* obj, int offset);
|
|
|
| // Casting.
|
| static inline HeapObject* cast(Object* obj);
|
| @@ -2421,6 +2425,17 @@
|
| // Removes a code object from the code cache at the given index.
|
| void RemoveFromCodeCache(int index);
|
|
|
| + // For every transition in this map, makes the transition's
|
| + // target's prototype pointer point back to this map.
|
| + // This is undone in MarkCompactCollector::ClearNonLiveTransitions().
|
| + void CreateBackPointers();
|
| +
|
| + // Set all map transitions from this map to dead maps to null.
|
| + // Also, restore the original prototype on the targets of these
|
| + // transitions, so that we do not process this map again while
|
| + // following back pointers.
|
| + void ClearNonLiveTransitions(Object* real_prototype);
|
| +
|
| // Dispatched behavior.
|
| void MapIterateBody(ObjectVisitor* v);
|
| #ifdef DEBUG
|
| @@ -2805,7 +2820,7 @@
|
| // [builtins]: the object holding the runtime routines written in JS.
|
| DECL_ACCESSORS(builtins, JSBuiltinsObject)
|
|
|
| - // [global context]: the global context corresponding to this global objet.
|
| + // [global context]: the global context corresponding to this global object.
|
| DECL_ACCESSORS(global_context, Context)
|
|
|
| // [global receiver]: the global receiver object of the context
|
|
|