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

Side by Side Diff: src/objects.h

Issue 1892533004: Change calling convention of CallApiGetterStub to accept the AccessorInfo (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Importing mips patch from 1896963002 Created 4 years, 8 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
« no previous file with comments | « src/mips64/interface-descriptors-mips64.cc ('k') | 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 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 10226 matching lines...) Expand 10 before | Expand all | Expand 10 after
10237 // the request is ignored. 10237 // the request is ignored.
10238 // 10238 //
10239 // If the accessor in the prototype has the READ_ONLY property attribute, then 10239 // If the accessor in the prototype has the READ_ONLY property attribute, then
10240 // a new value is added to the derived object when the property is set. 10240 // a new value is added to the derived object when the property is set.
10241 // This shadows the accessor in the prototype. 10241 // This shadows the accessor in the prototype.
10242 class AccessorInfo: public Struct { 10242 class AccessorInfo: public Struct {
10243 public: 10243 public:
10244 DECL_ACCESSORS(name, Object) 10244 DECL_ACCESSORS(name, Object)
10245 DECL_INT_ACCESSORS(flag) 10245 DECL_INT_ACCESSORS(flag)
10246 DECL_ACCESSORS(expected_receiver_type, Object) 10246 DECL_ACCESSORS(expected_receiver_type, Object)
10247 // This directly points at a foreign C function to be used from the runtime.
10247 DECL_ACCESSORS(getter, Object) 10248 DECL_ACCESSORS(getter, Object)
10248 DECL_ACCESSORS(setter, Object) 10249 DECL_ACCESSORS(setter, Object)
10250 // This either points at the same as above, or a trampoline in case we are
10251 // running with the simulator. Use these entries from generated code.
10252 DECL_ACCESSORS(js_getter, Object)
10249 DECL_ACCESSORS(data, Object) 10253 DECL_ACCESSORS(data, Object)
10250 10254
10255 #ifdef USE_SIMULATOR
10256 static Address redirect(Isolate* isolate, Address address,
10257 AccessorComponent component);
10258 Address redirected_getter() const;
10259 #endif
10260
10251 // Dispatched behavior. 10261 // Dispatched behavior.
10252 DECLARE_PRINTER(AccessorInfo) 10262 DECLARE_PRINTER(AccessorInfo)
10253 10263
10254 inline bool all_can_read(); 10264 inline bool all_can_read();
10255 inline void set_all_can_read(bool value); 10265 inline void set_all_can_read(bool value);
10256 10266
10257 inline bool all_can_write(); 10267 inline bool all_can_write();
10258 inline void set_all_can_write(bool value); 10268 inline void set_all_can_write(bool value);
10259 10269
10260 inline bool is_special_data_property(); 10270 inline bool is_special_data_property();
(...skipping 15 matching lines...) Expand all
10276 10286
10277 // Append all descriptors to the array that are not already there. 10287 // Append all descriptors to the array that are not already there.
10278 // Return number added. 10288 // Return number added.
10279 static int AppendUnique(Handle<Object> descriptors, 10289 static int AppendUnique(Handle<Object> descriptors,
10280 Handle<FixedArray> array, 10290 Handle<FixedArray> array,
10281 int valid_descriptors); 10291 int valid_descriptors);
10282 10292
10283 static const int kNameOffset = HeapObject::kHeaderSize; 10293 static const int kNameOffset = HeapObject::kHeaderSize;
10284 static const int kFlagOffset = kNameOffset + kPointerSize; 10294 static const int kFlagOffset = kNameOffset + kPointerSize;
10285 static const int kExpectedReceiverTypeOffset = kFlagOffset + kPointerSize; 10295 static const int kExpectedReceiverTypeOffset = kFlagOffset + kPointerSize;
10286 static const int kGetterOffset = kExpectedReceiverTypeOffset + kPointerSize; 10296 static const int kSetterOffset = kExpectedReceiverTypeOffset + kPointerSize;
10287 static const int kSetterOffset = kGetterOffset + kPointerSize; 10297 static const int kGetterOffset = kSetterOffset + kPointerSize;
10288 static const int kDataOffset = kSetterOffset + kPointerSize; 10298 #ifdef USE_SIMULATOR
10299 static const int kJsGetterOffset = kGetterOffset + kPointerSize;
10300 #else
10301 static const int kJsGetterOffset = kGetterOffset;
10302 #endif
10303 static const int kDataOffset = kJsGetterOffset + kPointerSize;
10289 static const int kSize = kDataOffset + kPointerSize; 10304 static const int kSize = kDataOffset + kPointerSize;
10290 10305
10291 10306
10292 private: 10307 private:
10293 inline bool HasExpectedReceiverType(); 10308 inline bool HasExpectedReceiverType();
10294 10309
10295 // Bit positions in flag. 10310 // Bit positions in flag.
10296 static const int kAllCanReadBit = 0; 10311 static const int kAllCanReadBit = 0;
10297 static const int kAllCanWriteBit = 1; 10312 static const int kAllCanWriteBit = 1;
10298 static const int kSpecialDataProperty = 2; 10313 static const int kSpecialDataProperty = 2;
(...skipping 481 matching lines...) Expand 10 before | Expand all | Expand 10 after
10780 } 10795 }
10781 return value; 10796 return value;
10782 } 10797 }
10783 }; 10798 };
10784 10799
10785 10800
10786 } // NOLINT, false-positive due to second-order macros. 10801 } // NOLINT, false-positive due to second-order macros.
10787 } // NOLINT, false-positive due to second-order macros. 10802 } // NOLINT, false-positive due to second-order macros.
10788 10803
10789 #endif // V8_OBJECTS_H_ 10804 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « src/mips64/interface-descriptors-mips64.cc ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698