OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 10621 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10632 static const int kAccessCheckInfoOffset = | 10632 static const int kAccessCheckInfoOffset = |
10633 kInstanceCallHandlerOffset + kPointerSize; | 10633 kInstanceCallHandlerOffset + kPointerSize; |
10634 static const int kFlagOffset = kAccessCheckInfoOffset + kPointerSize; | 10634 static const int kFlagOffset = kAccessCheckInfoOffset + kPointerSize; |
10635 static const int kLengthOffset = kFlagOffset + kPointerSize; | 10635 static const int kLengthOffset = kFlagOffset + kPointerSize; |
10636 static const int kSize = kLengthOffset + kPointerSize; | 10636 static const int kSize = kLengthOffset + kPointerSize; |
10637 | 10637 |
10638 // Returns true if |object| is an instance of this function template. | 10638 // Returns true if |object| is an instance of this function template. |
10639 bool IsTemplateFor(Object* object); | 10639 bool IsTemplateFor(Object* object); |
10640 bool IsTemplateFor(Map* map); | 10640 bool IsTemplateFor(Map* map); |
10641 | 10641 |
| 10642 // Returns the holder JSObject if the function can legally be called with this |
| 10643 // receiver. Returns Heap::null_value() if the call is illegal. |
| 10644 Object* GetCompatibleReceiver(Isolate* isolate, Object* receiver); |
| 10645 |
10642 private: | 10646 private: |
10643 // Bit position in the flag, from least significant bit position. | 10647 // Bit position in the flag, from least significant bit position. |
10644 static const int kHiddenPrototypeBit = 0; | 10648 static const int kHiddenPrototypeBit = 0; |
10645 static const int kUndetectableBit = 1; | 10649 static const int kUndetectableBit = 1; |
10646 static const int kNeedsAccessCheckBit = 2; | 10650 static const int kNeedsAccessCheckBit = 2; |
10647 static const int kReadOnlyPrototypeBit = 3; | 10651 static const int kReadOnlyPrototypeBit = 3; |
10648 static const int kRemovePrototypeBit = 4; | 10652 static const int kRemovePrototypeBit = 4; |
10649 static const int kDoNotCacheBit = 5; | 10653 static const int kDoNotCacheBit = 5; |
10650 | 10654 |
10651 DISALLOW_IMPLICIT_CONSTRUCTORS(FunctionTemplateInfo); | 10655 DISALLOW_IMPLICIT_CONSTRUCTORS(FunctionTemplateInfo); |
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10922 } else { | 10926 } else { |
10923 value &= ~(1 << bit_position); | 10927 value &= ~(1 << bit_position); |
10924 } | 10928 } |
10925 return value; | 10929 return value; |
10926 } | 10930 } |
10927 }; | 10931 }; |
10928 | 10932 |
10929 } } // namespace v8::internal | 10933 } } // namespace v8::internal |
10930 | 10934 |
10931 #endif // V8_OBJECTS_H_ | 10935 #endif // V8_OBJECTS_H_ |
OLD | NEW |