OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 2592 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2603 // Transform slow named properties to fast variants. | 2603 // Transform slow named properties to fast variants. |
2604 static void TransformToFastProperties(Handle<JSObject> object, | 2604 static void TransformToFastProperties(Handle<JSObject> object, |
2605 int unused_property_fields); | 2605 int unused_property_fields); |
2606 | 2606 |
2607 // Access fast-case object properties at index. | 2607 // Access fast-case object properties at index. |
2608 static Handle<Object> FastPropertyAt(Handle<JSObject> object, | 2608 static Handle<Object> FastPropertyAt(Handle<JSObject> object, |
2609 Representation representation, | 2609 Representation representation, |
2610 int index); | 2610 int index); |
2611 inline Object* RawFastPropertyAt(int index); | 2611 inline Object* RawFastPropertyAt(int index); |
2612 inline void FastPropertyAtPut(int index, Object* value); | 2612 inline void FastPropertyAtPut(int index, Object* value); |
| 2613 void WriteToField(int descriptor, Object* value); |
2613 | 2614 |
2614 // Access to in object properties. | 2615 // Access to in object properties. |
2615 inline int GetInObjectPropertyOffset(int index); | 2616 inline int GetInObjectPropertyOffset(int index); |
2616 inline Object* InObjectPropertyAt(int index); | 2617 inline Object* InObjectPropertyAt(int index); |
2617 inline Object* InObjectPropertyAtPut(int index, | 2618 inline Object* InObjectPropertyAtPut(int index, |
2618 Object* value, | 2619 Object* value, |
2619 WriteBarrierMode mode | 2620 WriteBarrierMode mode |
2620 = UPDATE_WRITE_BARRIER); | 2621 = UPDATE_WRITE_BARRIER); |
2621 | 2622 |
2622 // Set the object's prototype (only JSReceiver and null are allowed values). | 2623 // Set the object's prototype (only JSReceiver and null are allowed values). |
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2893 | 2894 |
2894 // Add a property to a fast-case object. | 2895 // Add a property to a fast-case object. |
2895 static void AddFastProperty(Handle<JSObject> object, | 2896 static void AddFastProperty(Handle<JSObject> object, |
2896 Handle<Name> name, | 2897 Handle<Name> name, |
2897 Handle<Object> value, | 2898 Handle<Object> value, |
2898 PropertyAttributes attributes, | 2899 PropertyAttributes attributes, |
2899 StoreFromKeyed store_mode, | 2900 StoreFromKeyed store_mode, |
2900 ValueType value_type, | 2901 ValueType value_type, |
2901 TransitionFlag flag); | 2902 TransitionFlag flag); |
2902 | 2903 |
| 2904 static void MigrateToNewProperty(Handle<JSObject> object, |
| 2905 Handle<Map> transition, |
| 2906 Handle<Object> value); |
| 2907 |
2903 // Add a property to a slow-case object. | 2908 // Add a property to a slow-case object. |
2904 static void AddSlowProperty(Handle<JSObject> object, | 2909 static void AddSlowProperty(Handle<JSObject> object, |
2905 Handle<Name> name, | 2910 Handle<Name> name, |
2906 Handle<Object> value, | 2911 Handle<Object> value, |
2907 PropertyAttributes attributes); | 2912 PropertyAttributes attributes); |
2908 | 2913 |
2909 MUST_USE_RESULT static MaybeHandle<Object> DeleteProperty( | 2914 MUST_USE_RESULT static MaybeHandle<Object> DeleteProperty( |
2910 Handle<JSObject> object, | 2915 Handle<JSObject> object, |
2911 Handle<Name> name, | 2916 Handle<Name> name, |
2912 DeleteMode mode); | 2917 DeleteMode mode); |
(...skipping 8129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11042 } else { | 11047 } else { |
11043 value &= ~(1 << bit_position); | 11048 value &= ~(1 << bit_position); |
11044 } | 11049 } |
11045 return value; | 11050 return value; |
11046 } | 11051 } |
11047 }; | 11052 }; |
11048 | 11053 |
11049 } } // namespace v8::internal | 11054 } } // namespace v8::internal |
11050 | 11055 |
11051 #endif // V8_OBJECTS_H_ | 11056 #endif // V8_OBJECTS_H_ |
OLD | NEW |