diff options
Diffstat (limited to 'deps/v8/src/compiler/access-builder.h')
-rw-r--r-- | deps/v8/src/compiler/access-builder.h | 83 |
1 files changed, 74 insertions, 9 deletions
diff --git a/deps/v8/src/compiler/access-builder.h b/deps/v8/src/compiler/access-builder.h index 8375d37600..caaf8f8c06 100644 --- a/deps/v8/src/compiler/access-builder.h +++ b/deps/v8/src/compiler/access-builder.h @@ -6,6 +6,7 @@ #define V8_COMPILER_ACCESS_BUILDER_H_ #include "src/compiler/simplified-operator.h" +#include "src/elements-kind.h" namespace v8 { namespace internal { @@ -34,12 +35,39 @@ class AccessBuilder final : public AllStatic { // Provides access to JSObject inobject property fields. static FieldAccess ForJSObjectInObjectProperty(Handle<Map> map, int index); + // Provides access to JSFunction::prototype_or_initial_map() field. + static FieldAccess ForJSFunctionPrototypeOrInitialMap(); + // Provides access to JSFunction::context() field. static FieldAccess ForJSFunctionContext(); // Provides access to JSFunction::shared() field. static FieldAccess ForJSFunctionSharedFunctionInfo(); + // Provides access to JSFunction::literals() field. + static FieldAccess ForJSFunctionLiterals(); + + // Provides access to JSFunction::code() field. + static FieldAccess ForJSFunctionCodeEntry(); + + // Provides access to JSFunction::next_function_link() field. + static FieldAccess ForJSFunctionNextFunctionLink(); + + // Provides access to JSGeneratorObject::context() field. + static FieldAccess ForJSGeneratorObjectContext(); + + // Provides access to JSGeneratorObject::continuation() field. + static FieldAccess ForJSGeneratorObjectContinuation(); + + // Provides access to JSGeneratorObject::input_or_debug_pos() field. + static FieldAccess ForJSGeneratorObjectInputOrDebugPos(); + + // Provides access to JSGeneratorObject::operand_stack() field. + static FieldAccess ForJSGeneratorObjectOperandStack(); + + // Provides access to JSGeneratorObject::resume_mode() field. + static FieldAccess ForJSGeneratorObjectResumeMode(); + // Provides access to JSArray::length() field. static FieldAccess ForJSArrayLength(ElementsKind elements_kind); @@ -52,6 +80,15 @@ class AccessBuilder final : public AllStatic { // Provides access to JSArrayBufferView::buffer() field. static FieldAccess ForJSArrayBufferViewBuffer(); + // Provides access to JSArrayBufferView::byteLength() field. + static FieldAccess ForJSArrayBufferViewByteLength(); + + // Provides access to JSArrayBufferView::byteOffset() field. + static FieldAccess ForJSArrayBufferViewByteOffset(); + + // Provides access to JSTypedArray::length() field. + static FieldAccess ForJSTypedArrayLength(); + // Provides access to JSDate fields. static FieldAccess ForJSDateField(JSDate::FieldIndex index); @@ -70,6 +107,12 @@ class AccessBuilder final : public AllStatic { // Provides access to FixedArray::length() field. static FieldAccess ForFixedArrayLength(); + // Provides access to FixedTypedArrayBase::base_pointer() field. + static FieldAccess ForFixedTypedArrayBaseBasePointer(); + + // Provides access to FixedTypedArrayBase::external_pointer() field. + static FieldAccess ForFixedTypedArrayBaseExternalPointer(); + // Provides access to DescriptorArray::enum_cache() field. static FieldAccess ForDescriptorArrayEnumCache(); @@ -91,9 +134,39 @@ class AccessBuilder final : public AllStatic { // Provides access to Map::prototype() field. static FieldAccess ForMapPrototype(); + // Provides access to Name::hash_field() field. + static FieldAccess ForNameHashField(); + // Provides access to String::length() field. static FieldAccess ForStringLength(); + // Provides access to ConsString::first() field. + static FieldAccess ForConsStringFirst(); + + // Provides access to ConsString::second() field. + static FieldAccess ForConsStringSecond(); + + // Provides access to SlicedString::offset() field. + static FieldAccess ForSlicedStringOffset(); + + // Provides access to SlicedString::parent() field. + static FieldAccess ForSlicedStringParent(); + + // Provides access to ExternalString::resource_data() field. + static FieldAccess ForExternalStringResourceData(); + + // Provides access to ExternalOneByteString characters. + static ElementAccess ForExternalOneByteStringCharacter(); + + // Provides access to ExternalTwoByteString characters. + static ElementAccess ForExternalTwoByteStringCharacter(); + + // Provides access to SeqOneByteString characters. + static ElementAccess ForSeqOneByteStringCharacter(); + + // Provides access to SeqTwoByteString characters. + static ElementAccess ForSeqTwoByteStringCharacter(); + // Provides access to JSGlobalObject::global_proxy() field. static FieldAccess ForJSGlobalObjectGlobalProxy(); @@ -117,11 +190,9 @@ class AccessBuilder final : public AllStatic { static FieldAccess ForPropertyCellValue(); static FieldAccess ForPropertyCellValue(Type* type); - // Provides access to SharedFunctionInfo::feedback_vector() field. - static FieldAccess ForSharedFunctionInfoTypeFeedbackVector(); - // Provides access to FixedArray elements. static ElementAccess ForFixedArrayElement(); + static ElementAccess ForFixedArrayElement(ElementsKind kind); // Provides access to FixedDoubleArray elements. static ElementAccess ForFixedDoubleArrayElement(); @@ -130,12 +201,6 @@ class AccessBuilder final : public AllStatic { static ElementAccess ForTypedArrayElement(ExternalArrayType type, bool is_external); - // =========================================================================== - // Access to global per-isolate variables (based on external reference). - - // Provides access to the backing store of a StatsCounter. - static FieldAccess ForStatsCounter(); - private: DISALLOW_IMPLICIT_CONSTRUCTORS(AccessBuilder); }; |