| 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 7555 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7566 // through pointers to the first instruction in the code object. | 7566 // through pointers to the first instruction in the code object. |
| 7567 void JSFunctionIterateBody(int object_size, ObjectVisitor* v); | 7567 void JSFunctionIterateBody(int object_size, ObjectVisitor* v); |
| 7568 | 7568 |
| 7569 // Dispatched behavior. | 7569 // Dispatched behavior. |
| 7570 DECLARE_PRINTER(JSFunction) | 7570 DECLARE_PRINTER(JSFunction) |
| 7571 DECLARE_VERIFIER(JSFunction) | 7571 DECLARE_VERIFIER(JSFunction) |
| 7572 | 7572 |
| 7573 // Returns the number of allocated literals. | 7573 // Returns the number of allocated literals. |
| 7574 inline int NumberOfLiterals(); | 7574 inline int NumberOfLiterals(); |
| 7575 | 7575 |
| 7576 // Retrieve the native context from a function's literal array. | |
| 7577 static Context* NativeContextFromLiterals(FixedArray* literals); | |
| 7578 | |
| 7579 // Used for flags such as --hydrogen-filter. | 7576 // Used for flags such as --hydrogen-filter. |
| 7580 bool PassesFilter(const char* raw_filter); | 7577 bool PassesFilter(const char* raw_filter); |
| 7581 | 7578 |
| 7582 // Layout descriptors. The last property (from kNonWeakFieldsEndOffset to | 7579 // Layout descriptors. The last property (from kNonWeakFieldsEndOffset to |
| 7583 // kSize) is weak and has special handling during garbage collection. | 7580 // kSize) is weak and has special handling during garbage collection. |
| 7584 static const int kCodeEntryOffset = JSObject::kHeaderSize; | 7581 static const int kCodeEntryOffset = JSObject::kHeaderSize; |
| 7585 static const int kPrototypeOrInitialMapOffset = | 7582 static const int kPrototypeOrInitialMapOffset = |
| 7586 kCodeEntryOffset + kPointerSize; | 7583 kCodeEntryOffset + kPointerSize; |
| 7587 static const int kSharedFunctionInfoOffset = | 7584 static const int kSharedFunctionInfoOffset = |
| 7588 kPrototypeOrInitialMapOffset + kPointerSize; | 7585 kPrototypeOrInitialMapOffset + kPointerSize; |
| 7589 static const int kContextOffset = kSharedFunctionInfoOffset + kPointerSize; | 7586 static const int kContextOffset = kSharedFunctionInfoOffset + kPointerSize; |
| 7590 static const int kLiteralsOffset = kContextOffset + kPointerSize; | 7587 static const int kLiteralsOffset = kContextOffset + kPointerSize; |
| 7591 static const int kNonWeakFieldsEndOffset = kLiteralsOffset + kPointerSize; | 7588 static const int kNonWeakFieldsEndOffset = kLiteralsOffset + kPointerSize; |
| 7592 static const int kNextFunctionLinkOffset = kNonWeakFieldsEndOffset; | 7589 static const int kNextFunctionLinkOffset = kNonWeakFieldsEndOffset; |
| 7593 static const int kSize = kNextFunctionLinkOffset + kPointerSize; | 7590 static const int kSize = kNextFunctionLinkOffset + kPointerSize; |
| 7594 | 7591 |
| 7595 // Layout of the literals array. | |
| 7596 static const int kLiteralsPrefixSize = 1; | |
| 7597 static const int kLiteralNativeContextIndex = 0; | |
| 7598 | |
| 7599 // Layout of the bound-function binding array. | 7592 // Layout of the bound-function binding array. |
| 7600 static const int kBoundFunctionIndex = 0; | 7593 static const int kBoundFunctionIndex = 0; |
| 7601 static const int kBoundThisIndex = 1; | 7594 static const int kBoundThisIndex = 1; |
| 7602 static const int kBoundArgumentsStartIndex = 2; | 7595 static const int kBoundArgumentsStartIndex = 2; |
| 7603 | 7596 |
| 7604 private: | 7597 private: |
| 7605 DISALLOW_IMPLICIT_CONSTRUCTORS(JSFunction); | 7598 DISALLOW_IMPLICIT_CONSTRUCTORS(JSFunction); |
| 7606 }; | 7599 }; |
| 7607 | 7600 |
| 7608 | 7601 |
| (...skipping 3376 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10985 } else { | 10978 } else { |
| 10986 value &= ~(1 << bit_position); | 10979 value &= ~(1 << bit_position); |
| 10987 } | 10980 } |
| 10988 return value; | 10981 return value; |
| 10989 } | 10982 } |
| 10990 }; | 10983 }; |
| 10991 | 10984 |
| 10992 } } // namespace v8::internal | 10985 } } // namespace v8::internal |
| 10993 | 10986 |
| 10994 #endif // V8_OBJECTS_H_ | 10987 #endif // V8_OBJECTS_H_ |
| OLD | NEW |