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 1978 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1989 // of its prototype, and if it's a detached proxy, then you can't have | 1989 // of its prototype, and if it's a detached proxy, then you can't have |
1990 // hidden properties. | 1990 // hidden properties. |
1991 | 1991 |
1992 // Sets a hidden property on this object. Returns this object if successful, | 1992 // Sets a hidden property on this object. Returns this object if successful, |
1993 // undefined if called on a detached proxy. | 1993 // undefined if called on a detached proxy. |
1994 static Handle<Object> SetHiddenProperty(Handle<JSObject> obj, | 1994 static Handle<Object> SetHiddenProperty(Handle<JSObject> obj, |
1995 Handle<Name> key, | 1995 Handle<Name> key, |
1996 Handle<Object> value); | 1996 Handle<Object> value); |
1997 // Returns a failure if a GC is required. | 1997 // Returns a failure if a GC is required. |
1998 MUST_USE_RESULT MaybeObject* SetHiddenProperty(Name* key, Object* value); | 1998 MUST_USE_RESULT MaybeObject* SetHiddenProperty(Name* key, Object* value); |
1999 // Gets the value of a hidden property with the given key. Returns undefined | 1999 // Gets the value of a hidden property with the given key. Returns the hole |
2000 // if the property doesn't exist (or if called on a detached proxy), | 2000 // if the property doesn't exist (or if called on a detached proxy), |
2001 // otherwise returns the value set for the key. | 2001 // otherwise returns the value set for the key. |
2002 Object* GetHiddenProperty(Name* key); | 2002 Object* GetHiddenProperty(Name* key); |
2003 // Deletes a hidden property. Deleting a non-existing property is | 2003 // Deletes a hidden property. Deleting a non-existing property is |
2004 // considered successful. | 2004 // considered successful. |
2005 void DeleteHiddenProperty(Name* key); | 2005 void DeleteHiddenProperty(Name* key); |
2006 // Returns true if the object has a property with the hidden string as name. | 2006 // Returns true if the object has a property with the hidden string as name. |
2007 bool HasHiddenProperties(); | 2007 bool HasHiddenProperties(); |
2008 | 2008 |
2009 static int GetIdentityHash(Handle<JSObject> obj); | 2009 static int GetIdentityHash(Handle<JSObject> obj); |
(...skipping 7715 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9725 } else { | 9725 } else { |
9726 value &= ~(1 << bit_position); | 9726 value &= ~(1 << bit_position); |
9727 } | 9727 } |
9728 return value; | 9728 return value; |
9729 } | 9729 } |
9730 }; | 9730 }; |
9731 | 9731 |
9732 } } // namespace v8::internal | 9732 } } // namespace v8::internal |
9733 | 9733 |
9734 #endif // V8_OBJECTS_H_ | 9734 #endif // V8_OBJECTS_H_ |
OLD | NEW |