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

Side by Side Diff: src/objects.h

Issue 23182003: Push SetAccessor to Template (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: missed something Created 7 years, 3 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
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 9508 matching lines...) Expand 10 before | Expand all | Expand 10 after
9519 inline void set_property_attributes(PropertyAttributes attributes); 9519 inline void set_property_attributes(PropertyAttributes attributes);
9520 9520
9521 // Checks whether the given receiver is compatible with this accessor. 9521 // Checks whether the given receiver is compatible with this accessor.
9522 inline bool IsCompatibleReceiver(Object* receiver); 9522 inline bool IsCompatibleReceiver(Object* receiver);
9523 9523
9524 static inline AccessorInfo* cast(Object* obj); 9524 static inline AccessorInfo* cast(Object* obj);
9525 9525
9526 // Dispatched behavior. 9526 // Dispatched behavior.
9527 DECLARE_VERIFIER(AccessorInfo) 9527 DECLARE_VERIFIER(AccessorInfo)
9528 9528
9529 static int AppendUnique(Handle<Object> descriptors,
Michael Starzinger 2013/09/03 14:00:57 nit: Can we have a short one-liner comment describ
9530 Handle<FixedArray> array,
9531 int valid_descriptors);
9529 9532
9530 static const int kNameOffset = HeapObject::kHeaderSize; 9533 static const int kNameOffset = HeapObject::kHeaderSize;
9531 static const int kFlagOffset = kNameOffset + kPointerSize; 9534 static const int kFlagOffset = kNameOffset + kPointerSize;
9532 static const int kExpectedReceiverTypeOffset = kFlagOffset + kPointerSize; 9535 static const int kExpectedReceiverTypeOffset = kFlagOffset + kPointerSize;
9533 static const int kSize = kExpectedReceiverTypeOffset + kPointerSize; 9536 static const int kSize = kExpectedReceiverTypeOffset + kPointerSize;
9534 9537
9535 private: 9538 private:
9536 // Bit positions in flag. 9539 // Bit positions in flag.
9537 static const int kAllCanReadBit = 0; 9540 static const int kAllCanReadBit = 0;
9538 static const int kAllCanWriteBit = 1; 9541 static const int kAllCanWriteBit = 1;
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after
9812 9815
9813 private: 9816 private:
9814 DISALLOW_IMPLICIT_CONSTRUCTORS(CallHandlerInfo); 9817 DISALLOW_IMPLICIT_CONSTRUCTORS(CallHandlerInfo);
9815 }; 9818 };
9816 9819
9817 9820
9818 class TemplateInfo: public Struct { 9821 class TemplateInfo: public Struct {
9819 public: 9822 public:
9820 DECL_ACCESSORS(tag, Object) 9823 DECL_ACCESSORS(tag, Object)
9821 DECL_ACCESSORS(property_list, Object) 9824 DECL_ACCESSORS(property_list, Object)
9825 DECL_ACCESSORS(property_accessors, Object)
9822 9826
9823 DECLARE_VERIFIER(TemplateInfo) 9827 DECLARE_VERIFIER(TemplateInfo)
9824 9828
9825 static const int kTagOffset = HeapObject::kHeaderSize; 9829 static const int kTagOffset = HeapObject::kHeaderSize;
9826 static const int kPropertyListOffset = kTagOffset + kPointerSize; 9830 static const int kPropertyListOffset = kTagOffset + kPointerSize;
9827 static const int kHeaderSize = kPropertyListOffset + kPointerSize; 9831 static const int kPropertyAccessorsOffset =
9832 kPropertyListOffset + kPointerSize;
9833 static const int kHeaderSize = kPropertyAccessorsOffset + kPointerSize;
9828 9834
9829 private: 9835 private:
9830 DISALLOW_IMPLICIT_CONSTRUCTORS(TemplateInfo); 9836 DISALLOW_IMPLICIT_CONSTRUCTORS(TemplateInfo);
9831 }; 9837 };
9832 9838
9833 9839
9834 class FunctionTemplateInfo: public TemplateInfo { 9840 class FunctionTemplateInfo: public TemplateInfo {
9835 public: 9841 public:
9836 DECL_ACCESSORS(serial_number, Object) 9842 DECL_ACCESSORS(serial_number, Object)
9837 DECL_ACCESSORS(call_code, Object) 9843 DECL_ACCESSORS(call_code, Object)
9838 DECL_ACCESSORS(property_accessors, Object)
9839 DECL_ACCESSORS(prototype_template, Object) 9844 DECL_ACCESSORS(prototype_template, Object)
9840 DECL_ACCESSORS(parent_template, Object) 9845 DECL_ACCESSORS(parent_template, Object)
9841 DECL_ACCESSORS(named_property_handler, Object) 9846 DECL_ACCESSORS(named_property_handler, Object)
9842 DECL_ACCESSORS(indexed_property_handler, Object) 9847 DECL_ACCESSORS(indexed_property_handler, Object)
9843 DECL_ACCESSORS(instance_template, Object) 9848 DECL_ACCESSORS(instance_template, Object)
9844 DECL_ACCESSORS(class_name, Object) 9849 DECL_ACCESSORS(class_name, Object)
9845 DECL_ACCESSORS(signature, Object) 9850 DECL_ACCESSORS(signature, Object)
9846 DECL_ACCESSORS(instance_call_handler, Object) 9851 DECL_ACCESSORS(instance_call_handler, Object)
9847 DECL_ACCESSORS(access_check_info, Object) 9852 DECL_ACCESSORS(access_check_info, Object)
9848 DECL_ACCESSORS(flag, Smi) 9853 DECL_ACCESSORS(flag, Smi)
(...skipping 10 matching lines...) Expand all
9859 DECL_BOOLEAN_ACCESSORS(read_only_prototype) 9864 DECL_BOOLEAN_ACCESSORS(read_only_prototype)
9860 9865
9861 static inline FunctionTemplateInfo* cast(Object* obj); 9866 static inline FunctionTemplateInfo* cast(Object* obj);
9862 9867
9863 // Dispatched behavior. 9868 // Dispatched behavior.
9864 DECLARE_PRINTER(FunctionTemplateInfo) 9869 DECLARE_PRINTER(FunctionTemplateInfo)
9865 DECLARE_VERIFIER(FunctionTemplateInfo) 9870 DECLARE_VERIFIER(FunctionTemplateInfo)
9866 9871
9867 static const int kSerialNumberOffset = TemplateInfo::kHeaderSize; 9872 static const int kSerialNumberOffset = TemplateInfo::kHeaderSize;
9868 static const int kCallCodeOffset = kSerialNumberOffset + kPointerSize; 9873 static const int kCallCodeOffset = kSerialNumberOffset + kPointerSize;
9869 static const int kPropertyAccessorsOffset = kCallCodeOffset + kPointerSize;
9870 static const int kPrototypeTemplateOffset = 9874 static const int kPrototypeTemplateOffset =
9871 kPropertyAccessorsOffset + kPointerSize; 9875 kCallCodeOffset + kPointerSize;
9872 static const int kParentTemplateOffset = 9876 static const int kParentTemplateOffset =
9873 kPrototypeTemplateOffset + kPointerSize; 9877 kPrototypeTemplateOffset + kPointerSize;
9874 static const int kNamedPropertyHandlerOffset = 9878 static const int kNamedPropertyHandlerOffset =
9875 kParentTemplateOffset + kPointerSize; 9879 kParentTemplateOffset + kPointerSize;
9876 static const int kIndexedPropertyHandlerOffset = 9880 static const int kIndexedPropertyHandlerOffset =
9877 kNamedPropertyHandlerOffset + kPointerSize; 9881 kNamedPropertyHandlerOffset + kPointerSize;
9878 static const int kInstanceTemplateOffset = 9882 static const int kInstanceTemplateOffset =
9879 kIndexedPropertyHandlerOffset + kPointerSize; 9883 kIndexedPropertyHandlerOffset + kPointerSize;
9880 static const int kClassNameOffset = kInstanceTemplateOffset + kPointerSize; 9884 static const int kClassNameOffset = kInstanceTemplateOffset + kPointerSize;
9881 static const int kSignatureOffset = kClassNameOffset + kPointerSize; 9885 static const int kSignatureOffset = kClassNameOffset + kPointerSize;
(...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after
10187 } else { 10191 } else {
10188 value &= ~(1 << bit_position); 10192 value &= ~(1 << bit_position);
10189 } 10193 }
10190 return value; 10194 return value;
10191 } 10195 }
10192 }; 10196 };
10193 10197
10194 } } // namespace v8::internal 10198 } } // namespace v8::internal
10195 10199
10196 #endif // V8_OBJECTS_H_ 10200 #endif // V8_OBJECTS_H_
OLDNEW
« src/factory.cc ('K') | « src/macros.py ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698