summaryrefslogtreecommitdiff
path: root/deps/v8/src/field-index.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/field-index.h')
-rw-r--r--deps/v8/src/field-index.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/deps/v8/src/field-index.h b/deps/v8/src/field-index.h
index 2862d36bdb..404c0f613f 100644
--- a/deps/v8/src/field-index.h
+++ b/deps/v8/src/field-index.h
@@ -27,10 +27,12 @@ class FieldIndex final {
static FieldIndex ForInObjectOffset(int offset, Map* map = NULL);
static FieldIndex ForDescriptor(Map* map, int descriptor_index);
static FieldIndex ForLoadByFieldIndex(Map* map, int index);
+ static FieldIndex ForLoadByFieldOffset(Map* map, int index);
static FieldIndex ForKeyedLookupCacheIndex(Map* map, int index);
static FieldIndex FromFieldAccessStubKey(int key);
int GetLoadByFieldIndex() const;
+ int GetLoadByFieldOffset() const;
bool is_inobject() const {
return IsInObjectBits::decode(bit_field_);
@@ -74,6 +76,11 @@ class FieldIndex final {
(IsInObjectBits::kMask | IsDoubleBits::kMask | IndexBits::kMask);
}
+ bool operator==(FieldIndex const& other) const {
+ return bit_field_ == other.bit_field_;
+ }
+ bool operator!=(FieldIndex const& other) const { return !(*this == other); }
+
private:
FieldIndex(bool is_inobject, int local_index, bool is_double,
int inobject_properties, int first_inobject_property_offset,