| Index: src/compiler/access-builder.cc
|
| diff --git a/src/compiler/access-builder.cc b/src/compiler/access-builder.cc
|
| index 146279e94dbf3f092268de7feb045854899630d5..76e8b0688e644f843c4d181c1daed944b826bd3a 100644
|
| --- a/src/compiler/access-builder.cc
|
| +++ b/src/compiler/access-builder.cc
|
| @@ -131,6 +131,14 @@ FieldAccess AccessBuilder::ForStringLength(Zone* zone) {
|
|
|
|
|
| // static
|
| +FieldAccess AccessBuilder::ForGlobalObjectNativeContext() {
|
| + FieldAccess access = {kTaggedBase, GlobalObject::kNativeContextOffset,
|
| + Handle<Name>(), Type::Any(), kMachAnyTagged};
|
| + return access;
|
| +}
|
| +
|
| +
|
| +// static
|
| FieldAccess AccessBuilder::ForValue() {
|
| FieldAccess access = {kTaggedBase, JSValue::kValueOffset, Handle<Name>(),
|
| Type::Any(), kMachAnyTagged};
|
| @@ -139,6 +147,25 @@ FieldAccess AccessBuilder::ForValue() {
|
|
|
|
|
| // static
|
| +FieldAccess AccessBuilder::ForArgumentsLength() {
|
| + int offset =
|
| + JSObject::kHeaderSize + Heap::kArgumentsLengthIndex * kPointerSize;
|
| + FieldAccess access = {kTaggedBase, offset, Handle<Name>(), Type::Any(),
|
| + kMachAnyTagged};
|
| + return access;
|
| +}
|
| +
|
| +
|
| +// static
|
| +FieldAccess AccessBuilder::ForFixedArraySlot(size_t index) {
|
| + int offset = FixedArray::OffsetOfElementAt(static_cast<int>(index));
|
| + FieldAccess access = {kTaggedBase, offset, Handle<Name>(), Type::Any(),
|
| + kMachAnyTagged};
|
| + return access;
|
| +}
|
| +
|
| +
|
| +// static
|
| FieldAccess AccessBuilder::ForContextSlot(size_t index) {
|
| int offset = Context::kHeaderSize + static_cast<int>(index) * kPointerSize;
|
| DCHECK_EQ(offset,
|
|
|