| Index: src/objects-inl.h
|
| diff --git a/src/objects-inl.h b/src/objects-inl.h
|
| index ec2ffdb5373703bc3611c3cc7fa39798a29556fe..a62334a7943a9573f59773cff5cc6f50eda66ad7 100644
|
| --- a/src/objects-inl.h
|
| +++ b/src/objects-inl.h
|
| @@ -99,6 +99,12 @@ PropertyDetails PropertyDetails::AsDeleted() const {
|
| void holder::set_##name(int value) { WRITE_INT_FIELD(this, offset, value); }
|
|
|
|
|
| +#define REGLIST_ACCESSORS(holder, name, offset) \
|
| + RegList holder::name() { return READ_REGLIST_FIELD(this, offset); } \
|
| + void holder::set_##name(RegList value) \
|
| + { WRITE_REGLIST_FIELD(this, offset, value); }
|
| +
|
| +
|
| #define ACCESSORS(holder, name, type, offset) \
|
| type* holder::name() { return type::cast(READ_FIELD(this, offset)); } \
|
| void holder::set_##name(type* value, WriteBarrierMode mode) { \
|
| @@ -1184,6 +1190,12 @@ MaybeObject* Object::GetProperty(Name* key, PropertyAttributes* attributes) {
|
| #define WRITE_BYTE_FIELD(p, offset, value) \
|
| (*reinterpret_cast<byte*>(FIELD_ADDR(p, offset)) = value)
|
|
|
| +#define READ_REGLIST_FIELD(p, offset) \
|
| + (*reinterpret_cast<RegList*>(FIELD_ADDR(p, offset)))
|
| +
|
| +#define WRITE_REGLIST_FIELD(p, offset, value) \
|
| + (*reinterpret_cast<RegList*>(FIELD_ADDR(p, offset)) = value)
|
| +
|
|
|
| Object** HeapObject::RawField(HeapObject* obj, int byte_offset) {
|
| return &READ_FIELD(obj, byte_offset);
|
| @@ -5694,6 +5706,10 @@ JSMessageObject* JSMessageObject::cast(Object* obj) {
|
|
|
| INT_ACCESSORS(Code, instruction_size, kInstructionSizeOffset)
|
| INT_ACCESSORS(Code, prologue_offset, kPrologueOffset)
|
| +#if V8_TARGET_ARCH_ARM
|
| +REGLIST_ACCESSORS(Code, registers_mask, kCoresMaskOffset)
|
| +REGLIST_ACCESSORS(Code, double_registers_mask, kDoublesMaskOffset)
|
| +#endif
|
| ACCESSORS(Code, relocation_info, ByteArray, kRelocationInfoOffset)
|
| ACCESSORS(Code, handler_table, FixedArray, kHandlerTableOffset)
|
| ACCESSORS(Code, deoptimization_data, FixedArray, kDeoptimizationDataOffset)
|
| @@ -6746,6 +6762,7 @@ void FlexibleBodyDescriptor<start_offset>::IterateBody(HeapObject* obj,
|
| #undef TYPE_CHECKER
|
| #undef CAST_ACCESSOR
|
| #undef INT_ACCESSORS
|
| +#undef REGLIST_ACCESSORS
|
| #undef ACCESSORS
|
| #undef ACCESSORS_TO_SMI
|
| #undef SMI_ACCESSORS
|
| @@ -6768,6 +6785,8 @@ void FlexibleBodyDescriptor<start_offset>::IterateBody(HeapObject* obj,
|
| #undef WRITE_SHORT_FIELD
|
| #undef READ_BYTE_FIELD
|
| #undef WRITE_BYTE_FIELD
|
| +#undef READ_REGLIST_FIELD
|
| +#undef WRITE_REGLIST_FIELD
|
|
|
| } } // namespace v8::internal
|
|
|
|
|