Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index dd21db333b7d567c9e48d74de85641c617978cd7..7771eb4058df4651869a2507a6ca02537ba21dbe 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -2571,7 +2571,7 @@ class FixedArray: public FixedArrayBase { |
inline void set(int index, Object* value); |
inline bool is_the_hole(int index); |
- // Setter that doesn't need write barrier. |
+ // Setter that doesn't need write barrier). |
inline void set(int index, Smi* value); |
// Setter with explicit barrier mode. |
inline void set(int index, Object* value, WriteBarrierMode mode); |
@@ -2585,6 +2585,12 @@ class FixedArray: public FixedArrayBase { |
inline void set_null(Heap* heap, int index); |
inline void set_the_hole(int index); |
+ // Setters with less debug checks for the GC to use. |
+ inline void set_unchecked(int index, Smi* value); |
+ inline void set_null_unchecked(Heap* heap, int index); |
+ inline void set_unchecked(Heap* heap, int index, Object* value, |
+ WriteBarrierMode mode); |
+ |
inline Object** GetFirstElementAddress(); |
inline bool ContainsOnlySmisOrHoles(); |
@@ -4547,6 +4553,7 @@ class Code: public HeapObject { |
// Unchecked accessors to be used during GC. |
inline ByteArray* unchecked_relocation_info(); |
+ inline FixedArray* unchecked_deoptimization_data(); |
inline int relocation_size(); |
@@ -5313,6 +5320,8 @@ class Map: public HeapObject { |
// [constructor]: points back to the function responsible for this map. |
DECL_ACCESSORS(constructor, Object) |
+ inline JSFunction* unchecked_constructor(); |
+ |
// [instance descriptors]: describes the object. |
DECL_ACCESSORS(instance_descriptors, DescriptorArray) |
inline void InitializeDescriptors(DescriptorArray* descriptors); |
@@ -5364,7 +5373,8 @@ class Map: public HeapObject { |
inline void SetNumberOfProtoTransitions(int value) { |
FixedArray* cache = GetPrototypeTransitions(); |
ASSERT(cache->length() != 0); |
- cache->set(kProtoTransitionNumberOfEntriesOffset, Smi::FromInt(value)); |
+ cache->set_unchecked(kProtoTransitionNumberOfEntriesOffset, |
+ Smi::FromInt(value)); |
} |
// Lookup in the map's instance descriptors and fill out the result |
@@ -5930,6 +5940,8 @@ class SharedFunctionInfo: public HeapObject { |
// [construct stub]: Code stub for constructing instances of this function. |
DECL_ACCESSORS(construct_stub, Code) |
+ inline Code* unchecked_code(); |
+ |
// Returns if this function has been compiled to native code yet. |
inline bool is_compiled(); |
@@ -7120,6 +7132,11 @@ class JSRegExp: public JSObject { |
// Set implementation data after the object has been prepared. |
inline void SetDataAt(int index, Object* value); |
+ // Used during GC when flushing code or setting age. |
+ inline Object* DataAtUnchecked(int index); |
+ inline void SetDataAtUnchecked(int index, Object* value, Heap* heap); |
+ inline Type TypeTagUnchecked(); |
+ |
static int code_index(bool is_ascii) { |
if (is_ascii) { |
return kIrregexpASCIICodeIndex; |