| Index: src/property.h
|
| diff --git a/src/property.h b/src/property.h
|
| index 0500e57ae48ff093566f640b9ecc246fb5199fab..a49309c6ed5a33397026c86797e198202ecc98fd 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;
|
|
|