Index: src/objects-inl.h |
diff --git a/src/objects-inl.h b/src/objects-inl.h |
index 581935f9d44489aefb906a47b9b048558e7329e0..4e7b58cd3aa43cd28f7acdb22eddf37c0f06cf59 100644 |
--- a/src/objects-inl.h |
+++ b/src/objects-inl.h |
@@ -668,7 +668,8 @@ template <> inline bool Is<JSFunction>(Object* obj) { |
TYPE_CHECKER(Code, CODE_TYPE) |
TYPE_CHECKER(Oddball, ODDBALL_TYPE) |
-TYPE_CHECKER(JSGlobalPropertyCell, JS_GLOBAL_PROPERTY_CELL_TYPE) |
+TYPE_CHECKER(Cell, CELL_TYPE) |
+TYPE_CHECKER(JSGlobalPropertyCell, PROPERTY_CELL_TYPE) |
TYPE_CHECKER(SharedFunctionInfo, SHARED_FUNCTION_INFO_TYPE) |
TYPE_CHECKER(JSGeneratorObject, JS_GENERATOR_OBJECT_TYPE) |
TYPE_CHECKER(JSModule, JS_MODULE_TYPE) |
@@ -1621,18 +1622,28 @@ void Oddball::set_kind(byte value) { |
} |
-Object* JSGlobalPropertyCell::value() { |
+Object* Cell::value() { |
return READ_FIELD(this, kValueOffset); |
} |
-void JSGlobalPropertyCell::set_value(Object* val, WriteBarrierMode ignored) { |
+void Cell::set_value(Object* val, WriteBarrierMode ignored) { |
// The write barrier is not used for global property cells. |
- ASSERT(!val->IsJSGlobalPropertyCell()); |
+ ASSERT(!val->IsJSGlobalPropertyCell() && !val->IsCell()); |
WRITE_FIELD(this, kValueOffset, val); |
} |
+Object* JSGlobalPropertyCell::type_raw() { |
+ return READ_FIELD(this, kTypeOffset); |
+} |
+ |
+ |
+void JSGlobalPropertyCell::set_type_raw(Object* val, WriteBarrierMode ignored) { |
+ WRITE_FIELD(this, kTypeOffset, val); |
+} |
+ |
+ |
int JSObject::GetHeaderSize() { |
InstanceType type = map()->instance_type(); |
// Check for the most common kind of JavaScript object before |
@@ -2552,6 +2563,7 @@ CAST_ACCESSOR(Smi) |
CAST_ACCESSOR(HeapObject) |
CAST_ACCESSOR(HeapNumber) |
CAST_ACCESSOR(Oddball) |
+CAST_ACCESSOR(Cell) |
CAST_ACCESSOR(JSGlobalPropertyCell) |
CAST_ACCESSOR(SharedFunctionInfo) |
CAST_ACCESSOR(Map) |
@@ -6020,13 +6032,13 @@ TypeFeedbackId TypeFeedbackCells::AstId(int index) { |
} |
-void TypeFeedbackCells::SetCell(int index, JSGlobalPropertyCell* cell) { |
+void TypeFeedbackCells::SetCell(int index, Cell* cell) { |
set(index * 2, cell); |
} |
-JSGlobalPropertyCell* TypeFeedbackCells::Cell(int index) { |
- return JSGlobalPropertyCell::cast(get(index * 2)); |
+Cell* TypeFeedbackCells::GetCell(int index) { |
+ return Cell::cast(get(index * 2)); |
} |