| Index: src/objects-inl.h
|
| diff --git a/src/objects-inl.h b/src/objects-inl.h
|
| index 581935f9d44489aefb906a47b9b048558e7329e0..5d4d9d3715be14a17f795d6366adda03262c1a4d 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(PropertyCell, 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->IsPropertyCell() && !val->IsCell());
|
| WRITE_FIELD(this, kValueOffset, val);
|
| }
|
|
|
|
|
| +Object* PropertyCell::type_raw() {
|
| + return READ_FIELD(this, kTypeOffset);
|
| +}
|
| +
|
| +
|
| +void PropertyCell::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
|
| @@ -2080,30 +2091,6 @@ void FixedArray::set_the_hole(int index) {
|
| }
|
|
|
|
|
| -void FixedArray::set_unchecked(int index, Smi* value) {
|
| - ASSERT(reinterpret_cast<Object*>(value)->IsSmi());
|
| - int offset = kHeaderSize + index * kPointerSize;
|
| - WRITE_FIELD(this, offset, value);
|
| -}
|
| -
|
| -
|
| -void FixedArray::set_unchecked(Heap* heap,
|
| - int index,
|
| - Object* value,
|
| - WriteBarrierMode mode) {
|
| - int offset = kHeaderSize + index * kPointerSize;
|
| - WRITE_FIELD(this, offset, value);
|
| - CONDITIONAL_WRITE_BARRIER(heap, this, offset, value, mode);
|
| -}
|
| -
|
| -
|
| -void FixedArray::set_null_unchecked(Heap* heap, int index) {
|
| - ASSERT(index >= 0 && index < this->length());
|
| - ASSERT(!heap->InNewSpace(heap->null_value()));
|
| - WRITE_FIELD(this, kHeaderSize + index * kPointerSize, heap->null_value());
|
| -}
|
| -
|
| -
|
| double* FixedDoubleArray::data_start() {
|
| return reinterpret_cast<double*>(FIELD_ADDR(this, kHeaderSize));
|
| }
|
| @@ -2552,7 +2539,8 @@ CAST_ACCESSOR(Smi)
|
| CAST_ACCESSOR(HeapObject)
|
| CAST_ACCESSOR(HeapNumber)
|
| CAST_ACCESSOR(Oddball)
|
| -CAST_ACCESSOR(JSGlobalPropertyCell)
|
| +CAST_ACCESSOR(Cell)
|
| +CAST_ACCESSOR(PropertyCell)
|
| CAST_ACCESSOR(SharedFunctionInfo)
|
| CAST_ACCESSOR(Map)
|
| CAST_ACCESSOR(JSFunction)
|
| @@ -3565,11 +3553,6 @@ bool Map::is_dictionary_map() {
|
| }
|
|
|
|
|
| -JSFunction* Map::unchecked_constructor() {
|
| - return reinterpret_cast<JSFunction*>(READ_FIELD(this, kConstructorOffset));
|
| -}
|
| -
|
| -
|
| Code::Flags Code::flags() {
|
| return static_cast<Flags>(READ_INT_FIELD(this, kFlagsOffset));
|
| }
|
| @@ -3641,6 +3624,9 @@ bool Map::CanBeDeprecated() {
|
| details.representation().IsHeapObject()) {
|
| return true;
|
| }
|
| + if (FLAG_track_fields && details.type() == CONSTANT_FUNCTION) {
|
| + return true;
|
| + }
|
| }
|
| return false;
|
| }
|
| @@ -4732,11 +4718,6 @@ Code* SharedFunctionInfo::code() {
|
| }
|
|
|
|
|
| -Code* SharedFunctionInfo::unchecked_code() {
|
| - return reinterpret_cast<Code*>(READ_FIELD(this, kCodeOffset));
|
| -}
|
| -
|
| -
|
| void SharedFunctionInfo::set_code(Code* value, WriteBarrierMode mode) {
|
| WRITE_FIELD(this, kCodeOffset, value);
|
| CONDITIONAL_WRITE_BARRIER(value->GetHeap(), this, kCodeOffset, value, mode);
|
| @@ -4969,12 +4950,6 @@ Object* JSFunction::unchecked_context() {
|
| }
|
|
|
|
|
| -SharedFunctionInfo* JSFunction::unchecked_shared() {
|
| - return reinterpret_cast<SharedFunctionInfo*>(
|
| - READ_FIELD(this, kSharedFunctionInfoOffset));
|
| -}
|
| -
|
| -
|
| void JSFunction::set_context(Object* value) {
|
| ASSERT(value->IsUndefined() || value->IsContext());
|
| WRITE_FIELD(this, kContextOffset, value);
|
| @@ -5279,12 +5254,6 @@ int Code::body_size() {
|
| }
|
|
|
|
|
| -FixedArray* Code::unchecked_deoptimization_data() {
|
| - return reinterpret_cast<FixedArray*>(
|
| - READ_FIELD(this, kDeoptimizationDataOffset));
|
| -}
|
| -
|
| -
|
| ByteArray* Code::unchecked_relocation_info() {
|
| return reinterpret_cast<ByteArray*>(READ_FIELD(this, kRelocationInfoOffset));
|
| }
|
| @@ -5360,12 +5329,6 @@ JSRegExp::Type JSRegExp::TypeTag() {
|
| }
|
|
|
|
|
| -JSRegExp::Type JSRegExp::TypeTagUnchecked() {
|
| - Smi* smi = Smi::cast(DataAtUnchecked(kTagIndex));
|
| - return static_cast<JSRegExp::Type>(smi->value());
|
| -}
|
| -
|
| -
|
| int JSRegExp::CaptureCount() {
|
| switch (TypeTag()) {
|
| case ATOM:
|
| @@ -5401,13 +5364,6 @@ Object* JSRegExp::DataAt(int index) {
|
| }
|
|
|
|
|
| -Object* JSRegExp::DataAtUnchecked(int index) {
|
| - FixedArray* fa = reinterpret_cast<FixedArray*>(data());
|
| - int offset = FixedArray::kHeaderSize + index * kPointerSize;
|
| - return READ_FIELD(fa, offset);
|
| -}
|
| -
|
| -
|
| void JSRegExp::SetDataAt(int index, Object* value) {
|
| ASSERT(TypeTag() != NOT_COMPILED);
|
| ASSERT(index >= kDataIndex); // Only implementation data can be set this way.
|
| @@ -5415,18 +5371,6 @@ void JSRegExp::SetDataAt(int index, Object* value) {
|
| }
|
|
|
|
|
| -void JSRegExp::SetDataAtUnchecked(int index, Object* value, Heap* heap) {
|
| - ASSERT(index >= kDataIndex); // Only implementation data can be set this way.
|
| - FixedArray* fa = reinterpret_cast<FixedArray*>(data());
|
| - if (value->IsSmi()) {
|
| - fa->set_unchecked(index, Smi::cast(value));
|
| - } else {
|
| - // We only do this during GC, so we don't need to notify the write barrier.
|
| - fa->set_unchecked(heap, index, value, SKIP_WRITE_BARRIER);
|
| - }
|
| -}
|
| -
|
| -
|
| ElementsKind JSObject::GetElementsKind() {
|
| ElementsKind kind = map()->elements_kind();
|
| #if DEBUG
|
| @@ -6020,13 +5964,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));
|
| }
|
|
|
|
|
|
|