Chromium Code Reviews| Index: src/objects-inl.h |
| diff --git a/src/objects-inl.h b/src/objects-inl.h |
| index 0873620eef88ed3dd706966f9b19ae7cfa158365..6f9e93f5cdb855268f450a8e3792685932059b9a 100644 |
| --- a/src/objects-inl.h |
| +++ b/src/objects-inl.h |
| @@ -67,79 +67,6 @@ int PropertyDetails::field_width_in_words() const { |
| return representation().IsDouble() ? kDoubleSize / kPointerSize : 1; |
| } |
| -#define INT_ACCESSORS(holder, name, offset) \ |
| - int holder::name() const { return READ_INT_FIELD(this, offset); } \ |
| - void holder::set_##name(int value) { WRITE_INT_FIELD(this, offset, value); } |
| - |
| -#define ACCESSORS_CHECKED2(holder, name, type, offset, get_condition, \ |
| - set_condition) \ |
| - type* holder::name() const { \ |
| - DCHECK(get_condition); \ |
| - return type::cast(READ_FIELD(this, offset)); \ |
| - } \ |
| - void holder::set_##name(type* value, WriteBarrierMode mode) { \ |
| - DCHECK(set_condition); \ |
| - WRITE_FIELD(this, offset, value); \ |
| - CONDITIONAL_WRITE_BARRIER(GetHeap(), this, offset, value, mode); \ |
| - } |
| -#define ACCESSORS_CHECKED(holder, name, type, offset, condition) \ |
| - ACCESSORS_CHECKED2(holder, name, type, offset, condition, condition) |
| - |
| -#define ACCESSORS(holder, name, type, offset) \ |
| - ACCESSORS_CHECKED(holder, name, type, offset, true) |
| - |
| -// Getter that returns a Smi as an int and writes an int as a Smi. |
| -#define SMI_ACCESSORS_CHECKED(holder, name, offset, condition) \ |
| - int holder::name() const { \ |
| - DCHECK(condition); \ |
| - Object* value = READ_FIELD(this, offset); \ |
| - return Smi::cast(value)->value(); \ |
| - } \ |
| - void holder::set_##name(int value) { \ |
| - DCHECK(condition); \ |
| - WRITE_FIELD(this, offset, Smi::FromInt(value)); \ |
| - } |
| - |
| -#define SMI_ACCESSORS(holder, name, offset) \ |
| - SMI_ACCESSORS_CHECKED(holder, name, offset, true) |
| - |
| -#define SYNCHRONIZED_SMI_ACCESSORS(holder, name, offset) \ |
| - int holder::synchronized_##name() const { \ |
| - Object* value = ACQUIRE_READ_FIELD(this, offset); \ |
| - return Smi::cast(value)->value(); \ |
| - } \ |
| - void holder::synchronized_set_##name(int value) { \ |
| - RELEASE_WRITE_FIELD(this, offset, Smi::FromInt(value)); \ |
| - } |
| - |
| -#define NOBARRIER_SMI_ACCESSORS(holder, name, offset) \ |
| - int holder::nobarrier_##name() const { \ |
| - Object* value = NOBARRIER_READ_FIELD(this, offset); \ |
| - return Smi::cast(value)->value(); \ |
| - } \ |
| - void holder::nobarrier_set_##name(int value) { \ |
| - NOBARRIER_WRITE_FIELD(this, offset, Smi::FromInt(value)); \ |
| - } |
| - |
| -#define BOOL_GETTER(holder, field, name, offset) \ |
| - bool holder::name() const { \ |
| - return BooleanBit::get(field(), offset); \ |
| - } \ |
| - |
| - |
| -#define BOOL_ACCESSORS(holder, field, name, offset) \ |
| - bool holder::name() const { \ |
| - return BooleanBit::get(field(), offset); \ |
| - } \ |
| - void holder::set_##name(bool value) { \ |
| - set_##field(BooleanBit::set(field(), offset, value)); \ |
| - } |
| - |
| -#define TYPE_CHECKER(type, instancetype) \ |
| - bool HeapObject::Is##type() const { \ |
| - return map()->instance_type() == instancetype; \ |
| - } |
| - |
| TYPE_CHECKER(BreakPointInfo, TUPLE2_TYPE) |
| TYPE_CHECKER(ByteArray, BYTE_ARRAY_TYPE) |
| TYPE_CHECKER(BytecodeArray, BYTECODE_ARRAY_TYPE) |
| @@ -602,9 +529,15 @@ bool Object::IsMinusZero() const { |
| // Cast operations |
| CAST_ACCESSOR(AbstractCode) |
| +CAST_ACCESSOR(AccessCheckInfo) |
|
jgruber
2017/05/23 09:58:36
Sorted and added all STRUCT types except for Debug
|
| +CAST_ACCESSOR(AccessorInfo) |
| +CAST_ACCESSOR(AccessorPair) |
| +CAST_ACCESSOR(AliasedArgumentsEntry) |
| +CAST_ACCESSOR(AllocationMemento) |
| +CAST_ACCESSOR(AllocationSite) |
| CAST_ACCESSOR(ArrayList) |
| +CAST_ACCESSOR(AsyncGeneratorRequest) |
| CAST_ACCESSOR(BoilerplateDescription) |
| -CAST_ACCESSOR(BreakPointInfo) |
| CAST_ACCESSOR(ByteArray) |
| CAST_ACCESSOR(BytecodeArray) |
| CAST_ACCESSOR(CallHandlerInfo) |
| @@ -612,6 +545,7 @@ CAST_ACCESSOR(Cell) |
| CAST_ACCESSOR(Code) |
| CAST_ACCESSOR(ConsString) |
| CAST_ACCESSOR(ConstantElementsPair) |
| +CAST_ACCESSOR(ContextExtension) |
| CAST_ACCESSOR(DeoptimizationInputData) |
| CAST_ACCESSOR(DeoptimizationOutputData) |
| CAST_ACCESSOR(DependentCode) |
| @@ -624,19 +558,23 @@ CAST_ACCESSOR(FixedArrayBase) |
| CAST_ACCESSOR(FixedDoubleArray) |
| CAST_ACCESSOR(FixedTypedArrayBase) |
| CAST_ACCESSOR(Foreign) |
| +CAST_ACCESSOR(FunctionTemplateInfo) |
| CAST_ACCESSOR(GlobalDictionary) |
| CAST_ACCESSOR(HandlerTable) |
| CAST_ACCESSOR(HeapObject) |
| +CAST_ACCESSOR(InterceptorInfo) |
| CAST_ACCESSOR(JSArgumentsObject); |
| CAST_ACCESSOR(JSArray) |
| CAST_ACCESSOR(JSArrayBuffer) |
| CAST_ACCESSOR(JSArrayBufferView) |
| +CAST_ACCESSOR(JSArrayIterator) |
| +CAST_ACCESSOR(JSAsyncFromSyncIterator) |
| +CAST_ACCESSOR(JSAsyncGeneratorObject) |
| CAST_ACCESSOR(JSBoundFunction) |
| CAST_ACCESSOR(JSDataView) |
| CAST_ACCESSOR(JSDate) |
| CAST_ACCESSOR(JSFunction) |
| CAST_ACCESSOR(JSGeneratorObject) |
| -CAST_ACCESSOR(JSAsyncGeneratorObject) |
| CAST_ACCESSOR(JSGlobalObject) |
| CAST_ACCESSOR(JSGlobalProxy) |
| CAST_ACCESSOR(JSMap) |
| @@ -644,65 +582,67 @@ CAST_ACCESSOR(JSMapIterator) |
| CAST_ACCESSOR(JSMessageObject) |
| CAST_ACCESSOR(JSModuleNamespace) |
| CAST_ACCESSOR(JSObject) |
| +CAST_ACCESSOR(JSPromise) |
| +CAST_ACCESSOR(JSPromiseCapability) |
| CAST_ACCESSOR(JSProxy) |
| CAST_ACCESSOR(JSReceiver) |
| CAST_ACCESSOR(JSRegExp) |
| -CAST_ACCESSOR(JSPromiseCapability) |
| -CAST_ACCESSOR(JSPromise) |
| CAST_ACCESSOR(JSSet) |
| CAST_ACCESSOR(JSSetIterator) |
| CAST_ACCESSOR(JSSloppyArgumentsObject) |
| -CAST_ACCESSOR(JSAsyncFromSyncIterator) |
| CAST_ACCESSOR(JSStringIterator) |
| -CAST_ACCESSOR(JSArrayIterator) |
| CAST_ACCESSOR(JSTypedArray) |
| CAST_ACCESSOR(JSValue) |
| CAST_ACCESSOR(JSWeakCollection) |
| CAST_ACCESSOR(JSWeakMap) |
| CAST_ACCESSOR(JSWeakSet) |
| CAST_ACCESSOR(LayoutDescriptor) |
| +CAST_ACCESSOR(Module) |
| CAST_ACCESSOR(ModuleInfo) |
| +CAST_ACCESSOR(ModuleInfoEntry) |
| CAST_ACCESSOR(Name) |
| CAST_ACCESSOR(NameDictionary) |
| CAST_ACCESSOR(NormalizedMapCache) |
| CAST_ACCESSOR(Object) |
| -CAST_ACCESSOR(ObjectHashTable) |
| CAST_ACCESSOR(ObjectHashSet) |
| +CAST_ACCESSOR(ObjectHashTable) |
| +CAST_ACCESSOR(ObjectTemplateInfo) |
| CAST_ACCESSOR(Oddball) |
| CAST_ACCESSOR(OrderedHashMap) |
| CAST_ACCESSOR(OrderedHashSet) |
| +CAST_ACCESSOR(PromiseReactionJobInfo) |
| +CAST_ACCESSOR(PromiseResolveThenableJobInfo) |
| CAST_ACCESSOR(PropertyCell) |
| -CAST_ACCESSOR(TemplateList) |
| +CAST_ACCESSOR(PrototypeInfo) |
| CAST_ACCESSOR(RegExpMatchInfo) |
| CAST_ACCESSOR(ScopeInfo) |
| +CAST_ACCESSOR(Script) |
| CAST_ACCESSOR(SeededNumberDictionary) |
| CAST_ACCESSOR(SeqOneByteString) |
| CAST_ACCESSOR(SeqString) |
| CAST_ACCESSOR(SeqTwoByteString) |
| CAST_ACCESSOR(SharedFunctionInfo) |
| -CAST_ACCESSOR(SourcePositionTableWithFrameCache) |
| CAST_ACCESSOR(SlicedString) |
| CAST_ACCESSOR(SloppyArgumentsElements) |
| CAST_ACCESSOR(Smi) |
| +CAST_ACCESSOR(SourcePositionTableWithFrameCache) |
| +CAST_ACCESSOR(StackFrameInfo) |
| CAST_ACCESSOR(String) |
| CAST_ACCESSOR(StringSet) |
| CAST_ACCESSOR(StringTable) |
| CAST_ACCESSOR(Struct) |
| CAST_ACCESSOR(Symbol) |
| CAST_ACCESSOR(TemplateInfo) |
| +CAST_ACCESSOR(TemplateList) |
| CAST_ACCESSOR(ThinString) |
| +CAST_ACCESSOR(Tuple2) |
| +CAST_ACCESSOR(Tuple3) |
| CAST_ACCESSOR(TypeFeedbackInfo) |
| CAST_ACCESSOR(UnseededNumberDictionary) |
| CAST_ACCESSOR(WeakCell) |
| CAST_ACCESSOR(WeakFixedArray) |
| CAST_ACCESSOR(WeakHashTable) |
| -#define MAKE_STRUCT_CAST(NAME, Name, name) CAST_ACCESSOR(Name) |
| -STRUCT_LIST(MAKE_STRUCT_CAST) |
| -#undef MAKE_STRUCT_CAST |
| - |
| -#undef CAST_ACCESSOR |
| - |
| bool Object::HasValidElements() { |
| // Dictionary is covered under FixedArray. |
| return IsFixedArray() || IsFixedDoubleArray() || IsFixedTypedArrayBase(); |
| @@ -1267,150 +1207,6 @@ bool JSObject::PrototypeHasNoElements(Isolate* isolate, JSObject* object) { |
| return true; |
| } |
| -#define FIELD_ADDR(p, offset) \ |
| - (reinterpret_cast<byte*>(p) + offset - kHeapObjectTag) |
| - |
| -#define FIELD_ADDR_CONST(p, offset) \ |
| - (reinterpret_cast<const byte*>(p) + offset - kHeapObjectTag) |
| - |
| -#define READ_FIELD(p, offset) \ |
| - (*reinterpret_cast<Object* const*>(FIELD_ADDR_CONST(p, offset))) |
| - |
| -#define ACQUIRE_READ_FIELD(p, offset) \ |
| - reinterpret_cast<Object*>(base::Acquire_Load( \ |
| - reinterpret_cast<const base::AtomicWord*>(FIELD_ADDR_CONST(p, offset)))) |
| - |
| -#define NOBARRIER_READ_FIELD(p, offset) \ |
| - reinterpret_cast<Object*>(base::NoBarrier_Load( \ |
| - reinterpret_cast<const base::AtomicWord*>(FIELD_ADDR_CONST(p, offset)))) |
| - |
| -#ifdef V8_CONCURRENT_MARKING |
| -#define WRITE_FIELD(p, offset, value) \ |
| - base::NoBarrier_Store( \ |
| - reinterpret_cast<base::AtomicWord*>(FIELD_ADDR(p, offset)), \ |
| - reinterpret_cast<base::AtomicWord>(value)); |
| -#else |
| -#define WRITE_FIELD(p, offset, value) \ |
| - (*reinterpret_cast<Object**>(FIELD_ADDR(p, offset)) = value) |
| -#endif |
| - |
| -#define RELEASE_WRITE_FIELD(p, offset, value) \ |
| - base::Release_Store( \ |
| - reinterpret_cast<base::AtomicWord*>(FIELD_ADDR(p, offset)), \ |
| - reinterpret_cast<base::AtomicWord>(value)); |
| - |
| -#define NOBARRIER_WRITE_FIELD(p, offset, value) \ |
| - base::NoBarrier_Store( \ |
| - reinterpret_cast<base::AtomicWord*>(FIELD_ADDR(p, offset)), \ |
| - reinterpret_cast<base::AtomicWord>(value)); |
| - |
| -#define WRITE_BARRIER(heap, object, offset, value) \ |
| - heap->incremental_marking()->RecordWrite( \ |
| - object, HeapObject::RawField(object, offset), value); \ |
| - heap->RecordWrite(object, offset, value); |
| - |
| -#define FIXED_ARRAY_ELEMENTS_WRITE_BARRIER(heap, array, start, length) \ |
| - do { \ |
| - heap->RecordFixedArrayElements(array, start, length); \ |
| - heap->incremental_marking()->IterateBlackObject(array); \ |
| - } while (false) |
| - |
| -#define CONDITIONAL_WRITE_BARRIER(heap, object, offset, value, mode) \ |
| - if (mode != SKIP_WRITE_BARRIER) { \ |
| - if (mode == UPDATE_WRITE_BARRIER) { \ |
| - heap->incremental_marking()->RecordWrite( \ |
| - object, HeapObject::RawField(object, offset), value); \ |
| - } \ |
| - heap->RecordWrite(object, offset, value); \ |
| - } |
| - |
| -#define READ_DOUBLE_FIELD(p, offset) \ |
| - ReadDoubleValue(FIELD_ADDR_CONST(p, offset)) |
| - |
| -#define WRITE_DOUBLE_FIELD(p, offset, value) \ |
| - WriteDoubleValue(FIELD_ADDR(p, offset), value) |
| - |
| -#define READ_INT_FIELD(p, offset) \ |
| - (*reinterpret_cast<const int*>(FIELD_ADDR_CONST(p, offset))) |
| - |
| -#define WRITE_INT_FIELD(p, offset, value) \ |
| - (*reinterpret_cast<int*>(FIELD_ADDR(p, offset)) = value) |
| - |
| -#define READ_INTPTR_FIELD(p, offset) \ |
| - (*reinterpret_cast<const intptr_t*>(FIELD_ADDR_CONST(p, offset))) |
| - |
| -#define WRITE_INTPTR_FIELD(p, offset, value) \ |
| - (*reinterpret_cast<intptr_t*>(FIELD_ADDR(p, offset)) = value) |
| - |
| -#define READ_UINT8_FIELD(p, offset) \ |
| - (*reinterpret_cast<const uint8_t*>(FIELD_ADDR_CONST(p, offset))) |
| - |
| -#define WRITE_UINT8_FIELD(p, offset, value) \ |
| - (*reinterpret_cast<uint8_t*>(FIELD_ADDR(p, offset)) = value) |
| - |
| -#define READ_INT8_FIELD(p, offset) \ |
| - (*reinterpret_cast<const int8_t*>(FIELD_ADDR_CONST(p, offset))) |
| - |
| -#define WRITE_INT8_FIELD(p, offset, value) \ |
| - (*reinterpret_cast<int8_t*>(FIELD_ADDR(p, offset)) = value) |
| - |
| -#define READ_UINT16_FIELD(p, offset) \ |
| - (*reinterpret_cast<const uint16_t*>(FIELD_ADDR_CONST(p, offset))) |
| - |
| -#define WRITE_UINT16_FIELD(p, offset, value) \ |
| - (*reinterpret_cast<uint16_t*>(FIELD_ADDR(p, offset)) = value) |
| - |
| -#define READ_INT16_FIELD(p, offset) \ |
| - (*reinterpret_cast<const int16_t*>(FIELD_ADDR_CONST(p, offset))) |
| - |
| -#define WRITE_INT16_FIELD(p, offset, value) \ |
| - (*reinterpret_cast<int16_t*>(FIELD_ADDR(p, offset)) = value) |
| - |
| -#define READ_UINT32_FIELD(p, offset) \ |
| - (*reinterpret_cast<const uint32_t*>(FIELD_ADDR_CONST(p, offset))) |
| - |
| -#define WRITE_UINT32_FIELD(p, offset, value) \ |
| - (*reinterpret_cast<uint32_t*>(FIELD_ADDR(p, offset)) = value) |
| - |
| -#define READ_INT32_FIELD(p, offset) \ |
| - (*reinterpret_cast<const int32_t*>(FIELD_ADDR_CONST(p, offset))) |
| - |
| -#define WRITE_INT32_FIELD(p, offset, value) \ |
| - (*reinterpret_cast<int32_t*>(FIELD_ADDR(p, offset)) = value) |
| - |
| -#define READ_FLOAT_FIELD(p, offset) \ |
| - (*reinterpret_cast<const float*>(FIELD_ADDR_CONST(p, offset))) |
| - |
| -#define WRITE_FLOAT_FIELD(p, offset, value) \ |
| - (*reinterpret_cast<float*>(FIELD_ADDR(p, offset)) = value) |
| - |
| -#define READ_UINT64_FIELD(p, offset) \ |
| - (*reinterpret_cast<const uint64_t*>(FIELD_ADDR_CONST(p, offset))) |
| - |
| -#define WRITE_UINT64_FIELD(p, offset, value) \ |
| - (*reinterpret_cast<uint64_t*>(FIELD_ADDR(p, offset)) = value) |
| - |
| -#define READ_INT64_FIELD(p, offset) \ |
| - (*reinterpret_cast<const int64_t*>(FIELD_ADDR_CONST(p, offset))) |
| - |
| -#define WRITE_INT64_FIELD(p, offset, value) \ |
| - (*reinterpret_cast<int64_t*>(FIELD_ADDR(p, offset)) = value) |
| - |
| -#define READ_BYTE_FIELD(p, offset) \ |
| - (*reinterpret_cast<const byte*>(FIELD_ADDR_CONST(p, offset))) |
| - |
| -#define NOBARRIER_READ_BYTE_FIELD(p, offset) \ |
| - static_cast<byte>(base::NoBarrier_Load( \ |
| - reinterpret_cast<base::Atomic8*>(FIELD_ADDR(p, offset)))) |
| - |
| -#define WRITE_BYTE_FIELD(p, offset, value) \ |
| - (*reinterpret_cast<byte*>(FIELD_ADDR(p, offset)) = value) |
| - |
| -#define NOBARRIER_WRITE_BYTE_FIELD(p, offset, value) \ |
| - base::NoBarrier_Store( \ |
| - reinterpret_cast<base::Atomic8*>(FIELD_ADDR(p, offset)), \ |
| - static_cast<base::Atomic8>(value)); |
| - |
| Object** HeapObject::RawField(HeapObject* obj, int byte_offset) { |
| return reinterpret_cast<Object**>(FIELD_ADDR(obj, byte_offset)); |
| } |
| @@ -5845,41 +5641,6 @@ void Script::set_origin_options(ScriptOriginOptions origin_options) { |
| (origin_options.Flags() << kOriginOptionsShift)); |
| } |
| - |
| -ACCESSORS(DebugInfo, shared, SharedFunctionInfo, kSharedFunctionInfoIndex) |
| -SMI_ACCESSORS(DebugInfo, debugger_hints, kDebuggerHintsIndex) |
| -ACCESSORS(DebugInfo, debug_bytecode_array, Object, kDebugBytecodeArrayIndex) |
| -ACCESSORS(DebugInfo, break_points, FixedArray, kBreakPointsStateIndex) |
| - |
| -bool DebugInfo::HasDebugBytecodeArray() { |
| - return debug_bytecode_array()->IsBytecodeArray(); |
| -} |
| - |
| -bool DebugInfo::HasDebugCode() { |
| - Code* code = shared()->code(); |
| - bool has = code->kind() == Code::FUNCTION; |
| - DCHECK(!has || code->has_debug_break_slots()); |
| - return has; |
| -} |
| - |
| -BytecodeArray* DebugInfo::OriginalBytecodeArray() { |
| - DCHECK(HasDebugBytecodeArray()); |
| - return shared()->bytecode_array(); |
| -} |
| - |
| -BytecodeArray* DebugInfo::DebugBytecodeArray() { |
| - DCHECK(HasDebugBytecodeArray()); |
| - return BytecodeArray::cast(debug_bytecode_array()); |
| -} |
| - |
| -Code* DebugInfo::DebugCode() { |
| - DCHECK(HasDebugCode()); |
| - return shared()->code(); |
| -} |
| - |
| -SMI_ACCESSORS(BreakPointInfo, source_position, kSourcePositionIndex) |
| -ACCESSORS(BreakPointInfo, break_point_objects, Object, kBreakPointObjectsIndex) |
| - |
| SMI_ACCESSORS(StackFrameInfo, line_number, kLineNumberIndex) |
| SMI_ACCESSORS(StackFrameInfo, column_number, kColumnNumberIndex) |
| SMI_ACCESSORS(StackFrameInfo, script_id, kScriptIdIndex) |
| @@ -6217,29 +5978,11 @@ bool SharedFunctionInfo::HasDebugInfo() const { |
| return has_debug_info; |
| } |
| -DebugInfo* SharedFunctionInfo::GetDebugInfo() const { |
| - DCHECK(HasDebugInfo()); |
| - return DebugInfo::cast(debug_info()); |
| -} |
| - |
| bool SharedFunctionInfo::HasDebugCode() const { |
| if (HasBaselineCode()) return code()->has_debug_break_slots(); |
| return HasBytecodeArray(); |
| } |
| -int SharedFunctionInfo::debugger_hints() const { |
| - if (HasDebugInfo()) return GetDebugInfo()->debugger_hints(); |
| - return Smi::cast(debug_info())->value(); |
| -} |
| - |
| -void SharedFunctionInfo::set_debugger_hints(int value) { |
| - if (HasDebugInfo()) { |
| - GetDebugInfo()->set_debugger_hints(value); |
| - } else { |
| - set_debug_info(Smi::FromInt(value)); |
| - } |
| -} |
| - |
| bool SharedFunctionInfo::IsApiFunction() { |
| return function_data()->IsFunctionTemplateInfo(); |
| } |
| @@ -8222,6 +7965,7 @@ ACCESSORS(JSAsyncFromSyncIterator, sync_iterator, JSReceiver, |
| ACCESSORS(JSStringIterator, string, String, kStringOffset) |
| SMI_ACCESSORS(JSStringIterator, index, kNextIndexOffset) |
| +#undef CAST_ACCESSORS |
|
marja
2017/05/23 10:38:55
What's this?
jgruber
2017/05/23 10:50:52
Removed all of these as they're now in object-macr
|
| #undef INT_ACCESSORS |
| #undef ACCESSORS |
| #undef ACCESSORS_CHECKED |