summaryrefslogtreecommitdiff
path: root/deps/v8/src/compiler/access-builder.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/compiler/access-builder.h')
-rw-r--r--deps/v8/src/compiler/access-builder.h83
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);
};