Index: src/property.h |
diff --git a/src/property.h b/src/property.h |
index 2ef27fded298f820ad4bf06b03a6d841c8aec052..941b51d9ec99dc1eb355ac29a8dff563708e8c97 100644 |
--- a/src/property.h |
+++ b/src/property.h |
@@ -155,6 +155,18 @@ class PropertyIndex { |
return value(); |
} |
+ bool is_inobject(Handle<JSObject> holder) { |
+ if (is_header_index()) return true; |
+ return field_index() < holder->map()->inobject_properties(); |
+ } |
+ |
+ int translate(Handle<JSObject> holder) { |
+ if (is_header_index()) return header_index(); |
+ int index = field_index() - holder->map()->inobject_properties(); |
+ if (index >= 0) return index; |
+ return index + holder->map()->instance_size() / kPointerSize; |
+ } |
+ |
private: |
static const int kHeaderIndexBit = 1 << 31; |
static const int kIndexMask = ~kHeaderIndexBit; |