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

Side by Side Diff: src/objects.h

Issue 5188006: Push version 2.5.7 to trunk.... (Closed) Base URL: http://v8.googlecode.com/svn/trunk/
Patch Set: Created 10 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
« no previous file with comments | « src/mark-compact.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 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 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 5309 matching lines...) Expand 10 before | Expand all | Expand 10 after
5320 // If the accessor in the prototype has the READ_ONLY property attribute, then 5320 // If the accessor in the prototype has the READ_ONLY property attribute, then
5321 // a new value is added to the local object when the property is set. 5321 // a new value is added to the local object when the property is set.
5322 // This shadows the accessor in the prototype. 5322 // This shadows the accessor in the prototype.
5323 class AccessorInfo: public Struct { 5323 class AccessorInfo: public Struct {
5324 public: 5324 public:
5325 DECL_ACCESSORS(getter, Object) 5325 DECL_ACCESSORS(getter, Object)
5326 DECL_ACCESSORS(setter, Object) 5326 DECL_ACCESSORS(setter, Object)
5327 DECL_ACCESSORS(data, Object) 5327 DECL_ACCESSORS(data, Object)
5328 DECL_ACCESSORS(name, Object) 5328 DECL_ACCESSORS(name, Object)
5329 DECL_ACCESSORS(flag, Smi) 5329 DECL_ACCESSORS(flag, Smi)
5330 DECL_ACCESSORS(load_stub_cache, Object)
5331 5330
5332 inline bool all_can_read(); 5331 inline bool all_can_read();
5333 inline void set_all_can_read(bool value); 5332 inline void set_all_can_read(bool value);
5334 5333
5335 inline bool all_can_write(); 5334 inline bool all_can_write();
5336 inline void set_all_can_write(bool value); 5335 inline void set_all_can_write(bool value);
5337 5336
5338 inline bool prohibits_overwriting(); 5337 inline bool prohibits_overwriting();
5339 inline void set_prohibits_overwriting(bool value); 5338 inline void set_prohibits_overwriting(bool value);
5340 5339
5341 inline PropertyAttributes property_attributes(); 5340 inline PropertyAttributes property_attributes();
5342 inline void set_property_attributes(PropertyAttributes attributes); 5341 inline void set_property_attributes(PropertyAttributes attributes);
5343 5342
5344 static inline AccessorInfo* cast(Object* obj); 5343 static inline AccessorInfo* cast(Object* obj);
5345 5344
5346 #ifdef DEBUG 5345 #ifdef DEBUG
5347 void AccessorInfoPrint(); 5346 void AccessorInfoPrint();
5348 void AccessorInfoVerify(); 5347 void AccessorInfoVerify();
5349 #endif 5348 #endif
5350 5349
5351 static const int kGetterOffset = HeapObject::kHeaderSize; 5350 static const int kGetterOffset = HeapObject::kHeaderSize;
5352 static const int kSetterOffset = kGetterOffset + kPointerSize; 5351 static const int kSetterOffset = kGetterOffset + kPointerSize;
5353 static const int kDataOffset = kSetterOffset + kPointerSize; 5352 static const int kDataOffset = kSetterOffset + kPointerSize;
5354 static const int kNameOffset = kDataOffset + kPointerSize; 5353 static const int kNameOffset = kDataOffset + kPointerSize;
5355 static const int kFlagOffset = kNameOffset + kPointerSize; 5354 static const int kFlagOffset = kNameOffset + kPointerSize;
5356 static const int kLoadStubCacheOffset = kFlagOffset + kPointerSize; 5355 static const int kSize = kFlagOffset + kPointerSize;
5357 static const int kSize = kLoadStubCacheOffset + kPointerSize;
5358 5356
5359 private: 5357 private:
5360 // Bit positions in flag. 5358 // Bit positions in flag.
5361 static const int kAllCanReadBit = 0; 5359 static const int kAllCanReadBit = 0;
5362 static const int kAllCanWriteBit = 1; 5360 static const int kAllCanWriteBit = 1;
5363 static const int kProhibitsOverwritingBit = 2; 5361 static const int kProhibitsOverwritingBit = 2;
5364 class AttributesField: public BitField<PropertyAttributes, 3, 3> {}; 5362 class AttributesField: public BitField<PropertyAttributes, 3, 3> {};
5365 5363
5366 DISALLOW_IMPLICIT_CONSTRUCTORS(AccessorInfo); 5364 DISALLOW_IMPLICIT_CONSTRUCTORS(AccessorInfo);
5367 }; 5365 };
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
5416 5414
5417 private: 5415 private:
5418 DISALLOW_IMPLICIT_CONSTRUCTORS(InterceptorInfo); 5416 DISALLOW_IMPLICIT_CONSTRUCTORS(InterceptorInfo);
5419 }; 5417 };
5420 5418
5421 5419
5422 class CallHandlerInfo: public Struct { 5420 class CallHandlerInfo: public Struct {
5423 public: 5421 public:
5424 DECL_ACCESSORS(callback, Object) 5422 DECL_ACCESSORS(callback, Object)
5425 DECL_ACCESSORS(data, Object) 5423 DECL_ACCESSORS(data, Object)
5426 DECL_ACCESSORS(call_stub_cache, Object)
5427 5424
5428 static inline CallHandlerInfo* cast(Object* obj); 5425 static inline CallHandlerInfo* cast(Object* obj);
5429 5426
5430 #ifdef DEBUG 5427 #ifdef DEBUG
5431 void CallHandlerInfoPrint(); 5428 void CallHandlerInfoPrint();
5432 void CallHandlerInfoVerify(); 5429 void CallHandlerInfoVerify();
5433 #endif 5430 #endif
5434 5431
5435 static const int kCallbackOffset = HeapObject::kHeaderSize; 5432 static const int kCallbackOffset = HeapObject::kHeaderSize;
5436 static const int kDataOffset = kCallbackOffset + kPointerSize; 5433 static const int kDataOffset = kCallbackOffset + kPointerSize;
5437 static const int kCallStubCacheOffset = kDataOffset + kPointerSize; 5434 static const int kSize = kDataOffset + kPointerSize;
5438 static const int kSize = kCallStubCacheOffset + kPointerSize;
5439 5435
5440 private: 5436 private:
5441 DISALLOW_IMPLICIT_CONSTRUCTORS(CallHandlerInfo); 5437 DISALLOW_IMPLICIT_CONSTRUCTORS(CallHandlerInfo);
5442 }; 5438 };
5443 5439
5444 5440
5445 class TemplateInfo: public Struct { 5441 class TemplateInfo: public Struct {
5446 public: 5442 public:
5447 DECL_ACCESSORS(tag, Object) 5443 DECL_ACCESSORS(tag, Object)
5448 DECL_ACCESSORS(property_list, Object) 5444 DECL_ACCESSORS(property_list, Object)
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
5774 } else { 5770 } else {
5775 value &= ~(1 << bit_position); 5771 value &= ~(1 << bit_position);
5776 } 5772 }
5777 return value; 5773 return value;
5778 } 5774 }
5779 }; 5775 };
5780 5776
5781 } } // namespace v8::internal 5777 } } // namespace v8::internal
5782 5778
5783 #endif // V8_OBJECTS_H_ 5779 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « src/mark-compact.cc ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698