Chromium Code Reviews| 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 "src/allocation.h" | 8 #include "src/allocation.h" |
| 9 #include "src/assert-scope.h" | 9 #include "src/assert-scope.h" |
| 10 #include "src/builtins.h" | 10 #include "src/builtins.h" |
| (...skipping 7581 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 7592 public: | 7592 public: |
| 7593 // [prototype_or_initial_map]: | 7593 // [prototype_or_initial_map]: |
| 7594 DECL_ACCESSORS(prototype_or_initial_map, Object) | 7594 DECL_ACCESSORS(prototype_or_initial_map, Object) |
| 7595 | 7595 |
| 7596 // [shared]: The information about the function that | 7596 // [shared]: The information about the function that |
| 7597 // can be shared by instances. | 7597 // can be shared by instances. |
| 7598 DECL_ACCESSORS(shared, SharedFunctionInfo) | 7598 DECL_ACCESSORS(shared, SharedFunctionInfo) |
| 7599 | 7599 |
| 7600 // [context]: The context for this function. | 7600 // [context]: The context for this function. |
| 7601 inline Context* context(); | 7601 inline Context* context(); |
| 7602 inline JSObject* global_proxy(); | |
|
Igor Sheludko
2014/07/01 08:35:42
Consider moving declaration and definition of this
| |
| 7602 inline void set_context(Object* context); | 7603 inline void set_context(Object* context); |
| 7603 | 7604 |
| 7604 // [code]: The generated code object for this function. Executed | 7605 // [code]: The generated code object for this function. Executed |
| 7605 // when the function is invoked, e.g. foo() or new foo(). See | 7606 // when the function is invoked, e.g. foo() or new foo(). See |
| 7606 // [[Call]] and [[Construct]] description in ECMA-262, section | 7607 // [[Call]] and [[Construct]] description in ECMA-262, section |
| 7607 // 8.6.2, page 27. | 7608 // 8.6.2, page 27. |
| 7608 inline Code* code(); | 7609 inline Code* code(); |
| 7609 inline void set_code(Code* code); | 7610 inline void set_code(Code* code); |
| 7610 inline void set_code_no_write_barrier(Code* code); | 7611 inline void set_code_no_write_barrier(Code* code); |
| 7611 inline void ReplaceCode(Code* code); | 7612 inline void ReplaceCode(Code* code); |
| (...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 7846 public: | 7847 public: |
| 7847 // [builtins]: the object holding the runtime routines written in JS. | 7848 // [builtins]: the object holding the runtime routines written in JS. |
| 7848 DECL_ACCESSORS(builtins, JSBuiltinsObject) | 7849 DECL_ACCESSORS(builtins, JSBuiltinsObject) |
| 7849 | 7850 |
| 7850 // [native context]: the natives corresponding to this global object. | 7851 // [native context]: the natives corresponding to this global object. |
| 7851 DECL_ACCESSORS(native_context, Context) | 7852 DECL_ACCESSORS(native_context, Context) |
| 7852 | 7853 |
| 7853 // [global context]: the most recent (i.e. innermost) global context. | 7854 // [global context]: the most recent (i.e. innermost) global context. |
| 7854 DECL_ACCESSORS(global_context, Context) | 7855 DECL_ACCESSORS(global_context, Context) |
| 7855 | 7856 |
| 7856 // [global receiver]: the global receiver object of the context | 7857 // [global receiver]: the global receiver object of the context |
|
Igor Sheludko
2014/07/01 08:35:42
Outdated comment.
| |
| 7857 DECL_ACCESSORS(global_receiver, JSObject) | 7858 DECL_ACCESSORS(global_proxy, JSObject) |
| 7858 | 7859 |
| 7859 // Retrieve the property cell used to store a property. | 7860 // Retrieve the property cell used to store a property. |
| 7860 PropertyCell* GetPropertyCell(LookupResult* result); | 7861 PropertyCell* GetPropertyCell(LookupResult* result); |
| 7861 | 7862 |
| 7862 DECLARE_CAST(GlobalObject) | 7863 DECLARE_CAST(GlobalObject) |
| 7863 | 7864 |
| 7864 // Layout description. | 7865 // Layout description. |
| 7865 static const int kBuiltinsOffset = JSObject::kHeaderSize; | 7866 static const int kBuiltinsOffset = JSObject::kHeaderSize; |
| 7866 static const int kNativeContextOffset = kBuiltinsOffset + kPointerSize; | 7867 static const int kNativeContextOffset = kBuiltinsOffset + kPointerSize; |
| 7867 static const int kGlobalContextOffset = kNativeContextOffset + kPointerSize; | 7868 static const int kGlobalContextOffset = kNativeContextOffset + kPointerSize; |
| 7868 static const int kGlobalReceiverOffset = kGlobalContextOffset + kPointerSize; | 7869 static const int kGlobalProxyOffset = kGlobalContextOffset + kPointerSize; |
| 7869 static const int kHeaderSize = kGlobalReceiverOffset + kPointerSize; | 7870 static const int kHeaderSize = kGlobalProxyOffset + kPointerSize; |
| 7870 | 7871 |
| 7871 private: | 7872 private: |
| 7872 DISALLOW_IMPLICIT_CONSTRUCTORS(GlobalObject); | 7873 DISALLOW_IMPLICIT_CONSTRUCTORS(GlobalObject); |
| 7873 }; | 7874 }; |
| 7874 | 7875 |
| 7875 | 7876 |
| 7876 // JavaScript global object. | 7877 // JavaScript global object. |
| 7877 class JSGlobalObject: public GlobalObject { | 7878 class JSGlobalObject: public GlobalObject { |
| 7878 public: | 7879 public: |
| 7879 DECLARE_CAST(JSGlobalObject) | 7880 DECLARE_CAST(JSGlobalObject) |
| (...skipping 3296 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 11176 } else { | 11177 } else { |
| 11177 value &= ~(1 << bit_position); | 11178 value &= ~(1 << bit_position); |
| 11178 } | 11179 } |
| 11179 return value; | 11180 return value; |
| 11180 } | 11181 } |
| 11181 }; | 11182 }; |
| 11182 | 11183 |
| 11183 } } // namespace v8::internal | 11184 } } // namespace v8::internal |
| 11184 | 11185 |
| 11185 #endif // V8_OBJECTS_H_ | 11186 #endif // V8_OBJECTS_H_ |
| OLD | NEW |