Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(173)

Side by Side Diff: src/objects.h

Issue 7064027: Change calls to undefined property setters to not throw (fixes issue 1355). (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 9 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | src/objects.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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 1407 matching lines...) Expand 10 before | Expand all | Expand 10 after
1418 StrictModeFlag strict_mode); 1418 StrictModeFlag strict_mode);
1419 MUST_USE_RESULT MaybeObject* SetProperty(LookupResult* result, 1419 MUST_USE_RESULT MaybeObject* SetProperty(LookupResult* result,
1420 String* key, 1420 String* key,
1421 Object* value, 1421 Object* value,
1422 PropertyAttributes attributes, 1422 PropertyAttributes attributes,
1423 StrictModeFlag strict_mode); 1423 StrictModeFlag strict_mode);
1424 MUST_USE_RESULT MaybeObject* SetPropertyWithFailedAccessCheck( 1424 MUST_USE_RESULT MaybeObject* SetPropertyWithFailedAccessCheck(
1425 LookupResult* result, 1425 LookupResult* result,
1426 String* name, 1426 String* name,
1427 Object* value, 1427 Object* value,
1428 bool check_prototype); 1428 bool check_prototype,
1429 MUST_USE_RESULT MaybeObject* SetPropertyWithCallback(Object* structure, 1429 StrictModeFlag strict_mode);
1430 String* name, 1430 MUST_USE_RESULT MaybeObject* SetPropertyWithCallback(
1431 Object* value, 1431 Object* structure,
1432 JSObject* holder); 1432 String* name,
1433 Object* value,
1434 JSObject* holder,
1435 StrictModeFlag strict_mode);
1433 MUST_USE_RESULT MaybeObject* SetPropertyWithDefinedSetter(JSFunction* setter, 1436 MUST_USE_RESULT MaybeObject* SetPropertyWithDefinedSetter(JSFunction* setter,
1434 Object* value); 1437 Object* value);
1435 MUST_USE_RESULT MaybeObject* SetPropertyWithInterceptor( 1438 MUST_USE_RESULT MaybeObject* SetPropertyWithInterceptor(
1436 String* name, 1439 String* name,
1437 Object* value, 1440 Object* value,
1438 PropertyAttributes attributes, 1441 PropertyAttributes attributes,
1439 StrictModeFlag strict_mode); 1442 StrictModeFlag strict_mode);
1440 MUST_USE_RESULT MaybeObject* SetPropertyPostInterceptor( 1443 MUST_USE_RESULT MaybeObject* SetPropertyPostInterceptor(
1441 String* name, 1444 String* name,
1442 Object* value, 1445 Object* value,
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
1649 // detailed information. 1652 // detailed information.
1650 void LocalLookup(String* name, LookupResult* result); 1653 void LocalLookup(String* name, LookupResult* result);
1651 void Lookup(String* name, LookupResult* result); 1654 void Lookup(String* name, LookupResult* result);
1652 1655
1653 // The following lookup functions skip interceptors. 1656 // The following lookup functions skip interceptors.
1654 void LocalLookupRealNamedProperty(String* name, LookupResult* result); 1657 void LocalLookupRealNamedProperty(String* name, LookupResult* result);
1655 void LookupRealNamedProperty(String* name, LookupResult* result); 1658 void LookupRealNamedProperty(String* name, LookupResult* result);
1656 void LookupRealNamedPropertyInPrototypes(String* name, LookupResult* result); 1659 void LookupRealNamedPropertyInPrototypes(String* name, LookupResult* result);
1657 void LookupCallbackSetterInPrototypes(String* name, LookupResult* result); 1660 void LookupCallbackSetterInPrototypes(String* name, LookupResult* result);
1658 MUST_USE_RESULT MaybeObject* SetElementWithCallbackSetterInPrototypes( 1661 MUST_USE_RESULT MaybeObject* SetElementWithCallbackSetterInPrototypes(
1659 uint32_t index, Object* value, bool* found); 1662 uint32_t index, Object* value, bool* found, StrictModeFlag strict_mode);
1660 void LookupCallback(String* name, LookupResult* result); 1663 void LookupCallback(String* name, LookupResult* result);
1661 1664
1662 // Returns the number of properties on this object filtering out properties 1665 // Returns the number of properties on this object filtering out properties
1663 // with the specified attributes (ignoring interceptors). 1666 // with the specified attributes (ignoring interceptors).
1664 int NumberOfLocalProperties(PropertyAttributes filter); 1667 int NumberOfLocalProperties(PropertyAttributes filter);
1665 // Returns the number of enumerable properties (ignoring interceptors). 1668 // Returns the number of enumerable properties (ignoring interceptors).
1666 int NumberOfEnumProperties(); 1669 int NumberOfEnumProperties();
1667 // Fill in details for properties into storage starting at the specified 1670 // Fill in details for properties into storage starting at the specified
1668 // index. 1671 // index.
1669 void GetLocalPropertyNames(FixedArray* storage, int index); 1672 void GetLocalPropertyNames(FixedArray* storage, int index);
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
1861 }; 1864 };
1862 1865
1863 private: 1866 private:
1864 MUST_USE_RESULT MaybeObject* GetElementWithCallback(Object* receiver, 1867 MUST_USE_RESULT MaybeObject* GetElementWithCallback(Object* receiver,
1865 Object* structure, 1868 Object* structure,
1866 uint32_t index, 1869 uint32_t index,
1867 Object* holder); 1870 Object* holder);
1868 MaybeObject* SetElementWithCallback(Object* structure, 1871 MaybeObject* SetElementWithCallback(Object* structure,
1869 uint32_t index, 1872 uint32_t index,
1870 Object* value, 1873 Object* value,
1871 JSObject* holder); 1874 JSObject* holder,
1875 StrictModeFlag strict_mode);
1872 MUST_USE_RESULT MaybeObject* SetElementWithInterceptor( 1876 MUST_USE_RESULT MaybeObject* SetElementWithInterceptor(
1873 uint32_t index, 1877 uint32_t index,
1874 Object* value, 1878 Object* value,
1875 StrictModeFlag strict_mode, 1879 StrictModeFlag strict_mode,
1876 bool check_prototype); 1880 bool check_prototype);
1877 MUST_USE_RESULT MaybeObject* SetElementWithoutInterceptor( 1881 MUST_USE_RESULT MaybeObject* SetElementWithoutInterceptor(
1878 uint32_t index, 1882 uint32_t index,
1879 Object* value, 1883 Object* value,
1880 StrictModeFlag strict_mode, 1884 StrictModeFlag strict_mode,
1881 bool check_prototype); 1885 bool check_prototype);
(...skipping 4945 matching lines...) Expand 10 before | Expand all | Expand 10 after
6827 } else { 6831 } else {
6828 value &= ~(1 << bit_position); 6832 value &= ~(1 << bit_position);
6829 } 6833 }
6830 return value; 6834 return value;
6831 } 6835 }
6832 }; 6836 };
6833 6837
6834 } } // namespace v8::internal 6838 } } // namespace v8::internal
6835 6839
6836 #endif // V8_OBJECTS_H_ 6840 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « no previous file | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698