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

Side by Side Diff: src/objects.h

Issue 1960663002: Convert primitive receivers for API property callbacks (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: updates Created 4 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
OLDNEW
1 // Copyright 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_OBJECTS_H_ 5 #ifndef V8_OBJECTS_H_
6 #define V8_OBJECTS_H_ 6 #define V8_OBJECTS_H_
7 7
8 #include <iosfwd> 8 #include <iosfwd>
9 9
10 #include "src/assert-scope.h" 10 #include "src/assert-scope.h"
(...skipping 10184 matching lines...) Expand 10 before | Expand all | Expand 10 after
10195 10195
10196 inline bool all_can_read(); 10196 inline bool all_can_read();
10197 inline void set_all_can_read(bool value); 10197 inline void set_all_can_read(bool value);
10198 10198
10199 inline bool all_can_write(); 10199 inline bool all_can_write();
10200 inline void set_all_can_write(bool value); 10200 inline void set_all_can_write(bool value);
10201 10201
10202 inline bool is_special_data_property(); 10202 inline bool is_special_data_property();
10203 inline void set_is_special_data_property(bool value); 10203 inline void set_is_special_data_property(bool value);
10204 10204
10205 inline bool is_sloppy();
10206 inline void set_is_sloppy(bool value);
10207
10205 inline PropertyAttributes property_attributes(); 10208 inline PropertyAttributes property_attributes();
10206 inline void set_property_attributes(PropertyAttributes attributes); 10209 inline void set_property_attributes(PropertyAttributes attributes);
10207 10210
10208 // Checks whether the given receiver is compatible with this accessor. 10211 // Checks whether the given receiver is compatible with this accessor.
10209 static bool IsCompatibleReceiverMap(Isolate* isolate, 10212 static bool IsCompatibleReceiverMap(Isolate* isolate,
10210 Handle<AccessorInfo> info, 10213 Handle<AccessorInfo> info,
10211 Handle<Map> map); 10214 Handle<Map> map);
10212 inline bool IsCompatibleReceiver(Object* receiver); 10215 inline bool IsCompatibleReceiver(Object* receiver);
10213 10216
10214 DECLARE_CAST(AccessorInfo) 10217 DECLARE_CAST(AccessorInfo)
(...skipping 17 matching lines...) Expand all
10232 static const int kSize = kDataOffset + kPointerSize; 10235 static const int kSize = kDataOffset + kPointerSize;
10233 10236
10234 10237
10235 private: 10238 private:
10236 inline bool HasExpectedReceiverType(); 10239 inline bool HasExpectedReceiverType();
10237 10240
10238 // Bit positions in flag. 10241 // Bit positions in flag.
10239 static const int kAllCanReadBit = 0; 10242 static const int kAllCanReadBit = 0;
10240 static const int kAllCanWriteBit = 1; 10243 static const int kAllCanWriteBit = 1;
10241 static const int kSpecialDataProperty = 2; 10244 static const int kSpecialDataProperty = 2;
10242 class AttributesField : public BitField<PropertyAttributes, 3, 3> {}; 10245 static const int kIsSloppy = 3;
10246 class AttributesField : public BitField<PropertyAttributes, 4, 3> {};
10243 10247
10244 DISALLOW_IMPLICIT_CONSTRUCTORS(AccessorInfo); 10248 DISALLOW_IMPLICIT_CONSTRUCTORS(AccessorInfo);
10245 }; 10249 };
10246 10250
10247 10251
10248 // Support for JavaScript accessors: A pair of a getter and a setter. Each 10252 // Support for JavaScript accessors: A pair of a getter and a setter. Each
10249 // accessor can either be 10253 // accessor can either be
10250 // * a pointer to a JavaScript function or proxy: a real accessor 10254 // * a pointer to a JavaScript function or proxy: a real accessor
10251 // * undefined: considered an accessor by the spec, too, strangely enough 10255 // * undefined: considered an accessor by the spec, too, strangely enough
10252 // * the hole: an accessor which has not been set 10256 // * the hole: an accessor which has not been set
(...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after
10723 } 10727 }
10724 return value; 10728 return value;
10725 } 10729 }
10726 }; 10730 };
10727 10731
10728 10732
10729 } // NOLINT, false-positive due to second-order macros. 10733 } // NOLINT, false-positive due to second-order macros.
10730 } // NOLINT, false-positive due to second-order macros. 10734 } // NOLINT, false-positive due to second-order macros.
10731 10735
10732 #endif // V8_OBJECTS_H_ 10736 #endif // V8_OBJECTS_H_
OLDNEW
« src/accessors.cc ('K') | « src/factory.cc ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698