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

Side by Side Diff: src/objects.h

Issue 11365111: Object.observe: generate change records for indexed properties. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 8 years, 1 month 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
OLDNEW
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 1452 matching lines...) Expand 10 before | Expand all | Expand 10 after
1463 1463
1464 // Returns the constructor name (the name (possibly, inferred name) of the 1464 // Returns the constructor name (the name (possibly, inferred name) of the
1465 // function that was used to instantiate the object). 1465 // function that was used to instantiate the object).
1466 String* constructor_name(); 1466 String* constructor_name();
1467 1467
1468 inline PropertyAttributes GetPropertyAttribute(String* name); 1468 inline PropertyAttributes GetPropertyAttribute(String* name);
1469 PropertyAttributes GetPropertyAttributeWithReceiver(JSReceiver* receiver, 1469 PropertyAttributes GetPropertyAttributeWithReceiver(JSReceiver* receiver,
1470 String* name); 1470 String* name);
1471 PropertyAttributes GetLocalPropertyAttribute(String* name); 1471 PropertyAttributes GetLocalPropertyAttribute(String* name);
1472 1472
1473 inline PropertyAttributes GetElementAttribute(uint32_t index);
1474 PropertyAttributes GetElementAttributeWithReceiver(JSReceiver* receiver,
1475 uint32_t index);
1476 inline PropertyAttributes GetLocalElementAttribute(uint32_t index);
1477
1473 // Can cause a GC. 1478 // Can cause a GC.
1474 inline bool HasProperty(String* name); 1479 inline bool HasProperty(String* name);
1475 inline bool HasLocalProperty(String* name); 1480 inline bool HasLocalProperty(String* name);
1476 inline bool HasElement(uint32_t index); 1481 inline bool HasElement(uint32_t index);
1482 inline bool HasLocalElement(uint32_t index);
1477 1483
1478 // Return the object's prototype (might be Heap::null_value()). 1484 // Return the object's prototype (might be Heap::null_value()).
1479 inline Object* GetPrototype(); 1485 inline Object* GetPrototype();
1480 1486
1481 // Return the constructor function (may be Heap::null_value()). 1487 // Return the constructor function (may be Heap::null_value()).
1482 inline Object* GetConstructor(); 1488 inline Object* GetConstructor();
1483 1489
1484 // Set the object's prototype (only JSReceiver and null are allowed). 1490 // Set the object's prototype (only JSReceiver and null are allowed).
1485 MUST_USE_RESULT MaybeObject* SetPrototype(Object* value, 1491 MUST_USE_RESULT MaybeObject* SetPrototype(Object* value,
1486 bool skip_hidden_prototypes); 1492 bool skip_hidden_prototypes);
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
1681 String* name, 1687 String* name,
1682 bool continue_search); 1688 bool continue_search);
1683 PropertyAttributes GetPropertyAttributeWithInterceptor(JSObject* receiver, 1689 PropertyAttributes GetPropertyAttributeWithInterceptor(JSObject* receiver,
1684 String* name, 1690 String* name,
1685 bool continue_search); 1691 bool continue_search);
1686 PropertyAttributes GetPropertyAttributeWithFailedAccessCheck( 1692 PropertyAttributes GetPropertyAttributeWithFailedAccessCheck(
1687 Object* receiver, 1693 Object* receiver,
1688 LookupResult* result, 1694 LookupResult* result,
1689 String* name, 1695 String* name,
1690 bool continue_search); 1696 bool continue_search);
1697 PropertyAttributes GetLocalElementAttribute(uint32_t index);
1691 1698
1692 static void DefineAccessor(Handle<JSObject> object, 1699 static void DefineAccessor(Handle<JSObject> object,
1693 Handle<String> name, 1700 Handle<String> name,
1694 Handle<Object> getter, 1701 Handle<Object> getter,
1695 Handle<Object> setter, 1702 Handle<Object> setter,
1696 PropertyAttributes attributes); 1703 PropertyAttributes attributes);
1697 // Can cause GC. 1704 // Can cause GC.
1698 MUST_USE_RESULT MaybeObject* DefineAccessor(String* name, 1705 MUST_USE_RESULT MaybeObject* DefineAccessor(String* name,
1699 Object* getter, 1706 Object* getter,
1700 Object* setter, 1707 Object* setter,
(...skipping 7274 matching lines...) Expand 10 before | Expand all | Expand 10 after
8975 } else { 8982 } else {
8976 value &= ~(1 << bit_position); 8983 value &= ~(1 << bit_position);
8977 } 8984 }
8978 return value; 8985 return value;
8979 } 8986 }
8980 }; 8987 };
8981 8988
8982 } } // namespace v8::internal 8989 } } // namespace v8::internal
8983 8990
8984 #endif // V8_OBJECTS_H_ 8991 #endif // V8_OBJECTS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698