diff options
Diffstat (limited to 'chromium/v8/src/compiler/access-builder.cc')
-rw-r--r-- | chromium/v8/src/compiler/access-builder.cc | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/chromium/v8/src/compiler/access-builder.cc b/chromium/v8/src/compiler/access-builder.cc index e19067f3c1c..656b250a1c2 100644 --- a/chromium/v8/src/compiler/access-builder.cc +++ b/chromium/v8/src/compiler/access-builder.cc @@ -17,6 +17,7 @@ #include "src/objects/objects-inl.h" #include "src/objects/ordered-hash-table.h" #include "src/objects/source-text-module.h" +#include "torque-generated/exported-class-definitions-tq.h" namespace v8 { namespace internal { @@ -530,6 +531,26 @@ FieldAccess AccessBuilder::ForFixedArrayLength() { } // static +FieldAccess AccessBuilder::ForSloppyArgumentsElementsContext() { + FieldAccess access = { + kTaggedBase, SloppyArgumentsElements::kContextOffset, + MaybeHandle<Name>(), MaybeHandle<Map>(), + Type::Any(), MachineType::TaggedPointer(), + kPointerWriteBarrier}; + return access; +} + +// static +FieldAccess AccessBuilder::ForSloppyArgumentsElementsArguments() { + FieldAccess access = { + kTaggedBase, SloppyArgumentsElements::kArgumentsOffset, + MaybeHandle<Name>(), MaybeHandle<Map>(), + Type::Any(), MachineType::TaggedPointer(), + kPointerWriteBarrier}; + return access; +} + +// static FieldAccess AccessBuilder::ForPropertyArrayLengthAndHash() { FieldAccess access = { kTaggedBase, PropertyArray::kLengthAndHashOffset, @@ -867,6 +888,14 @@ ElementAccess AccessBuilder::ForFixedArrayElement() { } // static +ElementAccess AccessBuilder::ForSloppyArgumentsElementsMappedEntry() { + ElementAccess access = { + kTaggedBase, SloppyArgumentsElements::kMappedEntriesOffset, Type::Any(), + MachineType::AnyTagged(), kFullWriteBarrier}; + return access; +} + +// statics ElementAccess AccessBuilder::ForFixedArrayElement( ElementsKind kind, LoadSensitivity load_sensitivity) { ElementAccess access = {kTaggedBase, FixedArray::kHeaderSize, @@ -1139,6 +1168,15 @@ FieldAccess AccessBuilder::ForDictionaryObjectHashIndex() { return access; } +// static +FieldAccess AccessBuilder::ForFeedbackCellValue() { + FieldAccess access = {kTaggedBase, FeedbackCell::kValueOffset, + Handle<Name>(), MaybeHandle<Map>(), + Type::Any(), MachineType::TaggedPointer(), + kFullWriteBarrier}; + return access; +} + } // namespace compiler } // namespace internal } // namespace v8 |