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

Side by Side Diff: src/objects.h

Issue 22990003: Add RemovePrototype to FunctionTemplate (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 4 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 9821 matching lines...) Expand 10 before | Expand all | Expand 10 after
9832 inline int length(); 9832 inline int length();
9833 inline void set_length(int value); 9833 inline void set_length(int value);
9834 9834
9835 // Following properties use flag bits. 9835 // Following properties use flag bits.
9836 DECL_BOOLEAN_ACCESSORS(hidden_prototype) 9836 DECL_BOOLEAN_ACCESSORS(hidden_prototype)
9837 DECL_BOOLEAN_ACCESSORS(undetectable) 9837 DECL_BOOLEAN_ACCESSORS(undetectable)
9838 // If the bit is set, object instances created by this function 9838 // If the bit is set, object instances created by this function
9839 // requires access check. 9839 // requires access check.
9840 DECL_BOOLEAN_ACCESSORS(needs_access_check) 9840 DECL_BOOLEAN_ACCESSORS(needs_access_check)
9841 DECL_BOOLEAN_ACCESSORS(read_only_prototype) 9841 DECL_BOOLEAN_ACCESSORS(read_only_prototype)
9842 DECL_BOOLEAN_ACCESSORS(remove_prototype)
9842 9843
9843 static inline FunctionTemplateInfo* cast(Object* obj); 9844 static inline FunctionTemplateInfo* cast(Object* obj);
9844 9845
9845 // Dispatched behavior. 9846 // Dispatched behavior.
9846 DECLARE_PRINTER(FunctionTemplateInfo) 9847 DECLARE_PRINTER(FunctionTemplateInfo)
9847 DECLARE_VERIFIER(FunctionTemplateInfo) 9848 DECLARE_VERIFIER(FunctionTemplateInfo)
9848 9849
9849 static const int kSerialNumberOffset = TemplateInfo::kHeaderSize; 9850 static const int kSerialNumberOffset = TemplateInfo::kHeaderSize;
9850 static const int kCallCodeOffset = kSerialNumberOffset + kPointerSize; 9851 static const int kCallCodeOffset = kSerialNumberOffset + kPointerSize;
9851 static const int kPropertyAccessorsOffset = kCallCodeOffset + kPointerSize; 9852 static const int kPropertyAccessorsOffset = kCallCodeOffset + kPointerSize;
(...skipping 15 matching lines...) Expand all
9867 static const int kFlagOffset = kAccessCheckInfoOffset + kPointerSize; 9868 static const int kFlagOffset = kAccessCheckInfoOffset + kPointerSize;
9868 static const int kLengthOffset = kFlagOffset + kPointerSize; 9869 static const int kLengthOffset = kFlagOffset + kPointerSize;
9869 static const int kSize = kLengthOffset + kPointerSize; 9870 static const int kSize = kLengthOffset + kPointerSize;
9870 9871
9871 private: 9872 private:
9872 // Bit position in the flag, from least significant bit position. 9873 // Bit position in the flag, from least significant bit position.
9873 static const int kHiddenPrototypeBit = 0; 9874 static const int kHiddenPrototypeBit = 0;
9874 static const int kUndetectableBit = 1; 9875 static const int kUndetectableBit = 1;
9875 static const int kNeedsAccessCheckBit = 2; 9876 static const int kNeedsAccessCheckBit = 2;
9876 static const int kReadOnlyPrototypeBit = 3; 9877 static const int kReadOnlyPrototypeBit = 3;
9878 static const int kRemovePrototypeBit = 4;
9877 9879
9878 DISALLOW_IMPLICIT_CONSTRUCTORS(FunctionTemplateInfo); 9880 DISALLOW_IMPLICIT_CONSTRUCTORS(FunctionTemplateInfo);
9879 }; 9881 };
9880 9882
9881 9883
9882 class ObjectTemplateInfo: public TemplateInfo { 9884 class ObjectTemplateInfo: public TemplateInfo {
9883 public: 9885 public:
9884 DECL_ACCESSORS(constructor, Object) 9886 DECL_ACCESSORS(constructor, Object)
9885 DECL_ACCESSORS(internal_field_count, Object) 9887 DECL_ACCESSORS(internal_field_count, Object)
9886 9888
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
10169 } else { 10171 } else {
10170 value &= ~(1 << bit_position); 10172 value &= ~(1 << bit_position);
10171 } 10173 }
10172 return value; 10174 return value;
10173 } 10175 }
10174 }; 10176 };
10175 10177
10176 } } // namespace v8::internal 10178 } } // namespace v8::internal
10177 10179
10178 #endif // V8_OBJECTS_H_ 10180 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « src/macros.py ('k') | src/objects-inl.h » ('j') | test/cctest/test-api.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698