OLD | NEW |
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 7238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7249 DECL_ACCESSORS(prototype_or_initial_map, Object) | 7249 DECL_ACCESSORS(prototype_or_initial_map, Object) |
7250 | 7250 |
7251 // [shared]: The information about the function that | 7251 // [shared]: The information about the function that |
7252 // can be shared by instances. | 7252 // can be shared by instances. |
7253 DECL_ACCESSORS(shared, SharedFunctionInfo) | 7253 DECL_ACCESSORS(shared, SharedFunctionInfo) |
7254 | 7254 |
7255 // [context]: The context for this function. | 7255 // [context]: The context for this function. |
7256 inline Context* context(); | 7256 inline Context* context(); |
7257 inline void set_context(Object* context); | 7257 inline void set_context(Object* context); |
7258 | 7258 |
| 7259 // [constant_pool]: The constant pool for this function. |
| 7260 inline ConstantPoolArray* constant_pool(); |
| 7261 inline void set_constant_pool(Object* context); |
| 7262 |
7259 // [code]: The generated code object for this function. Executed | 7263 // [code]: The generated code object for this function. Executed |
7260 // when the function is invoked, e.g. foo() or new foo(). See | 7264 // when the function is invoked, e.g. foo() or new foo(). See |
7261 // [[Call]] and [[Construct]] description in ECMA-262, section | 7265 // [[Call]] and [[Construct]] description in ECMA-262, section |
7262 // 8.6.2, page 27. | 7266 // 8.6.2, page 27. |
7263 inline Code* code(); | 7267 inline Code* code(); |
7264 inline void set_code(Code* code); | 7268 inline void set_code(Code* code); |
7265 inline void set_code_no_write_barrier(Code* code); | 7269 inline void set_code_no_write_barrier(Code* code); |
7266 inline void ReplaceCode(Code* code); | 7270 inline void ReplaceCode(Code* code); |
7267 | 7271 |
7268 // Tells whether this function is builtin. | 7272 // Tells whether this function is builtin. |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7393 bool PassesFilter(const char* raw_filter); | 7397 bool PassesFilter(const char* raw_filter); |
7394 | 7398 |
7395 // Layout descriptors. The last property (from kNonWeakFieldsEndOffset to | 7399 // Layout descriptors. The last property (from kNonWeakFieldsEndOffset to |
7396 // kSize) is weak and has special handling during garbage collection. | 7400 // kSize) is weak and has special handling during garbage collection. |
7397 static const int kCodeEntryOffset = JSObject::kHeaderSize; | 7401 static const int kCodeEntryOffset = JSObject::kHeaderSize; |
7398 static const int kPrototypeOrInitialMapOffset = | 7402 static const int kPrototypeOrInitialMapOffset = |
7399 kCodeEntryOffset + kPointerSize; | 7403 kCodeEntryOffset + kPointerSize; |
7400 static const int kSharedFunctionInfoOffset = | 7404 static const int kSharedFunctionInfoOffset = |
7401 kPrototypeOrInitialMapOffset + kPointerSize; | 7405 kPrototypeOrInitialMapOffset + kPointerSize; |
7402 static const int kContextOffset = kSharedFunctionInfoOffset + kPointerSize; | 7406 static const int kContextOffset = kSharedFunctionInfoOffset + kPointerSize; |
7403 static const int kLiteralsOffset = kContextOffset + kPointerSize; | 7407 static const int kConstantPoolOffset = kContextOffset + kPointerSize; |
| 7408 static const int kLiteralsOffset = kConstantPoolOffset + kPointerSize; |
7404 static const int kNonWeakFieldsEndOffset = kLiteralsOffset + kPointerSize; | 7409 static const int kNonWeakFieldsEndOffset = kLiteralsOffset + kPointerSize; |
7405 static const int kNextFunctionLinkOffset = kNonWeakFieldsEndOffset; | 7410 static const int kNextFunctionLinkOffset = kNonWeakFieldsEndOffset; |
7406 static const int kSize = kNextFunctionLinkOffset + kPointerSize; | 7411 static const int kSize = kNextFunctionLinkOffset + kPointerSize; |
7407 | 7412 |
7408 // Layout of the literals array. | 7413 // Layout of the literals array. |
7409 static const int kLiteralsPrefixSize = 1; | 7414 static const int kLiteralsPrefixSize = 1; |
7410 static const int kLiteralNativeContextIndex = 0; | 7415 static const int kLiteralNativeContextIndex = 0; |
7411 | 7416 |
7412 // Layout of the bound-function binding array. | 7417 // Layout of the bound-function binding array. |
7413 static const int kBoundFunctionIndex = 0; | 7418 static const int kBoundFunctionIndex = 0; |
(...skipping 3216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10630 } else { | 10635 } else { |
10631 value &= ~(1 << bit_position); | 10636 value &= ~(1 << bit_position); |
10632 } | 10637 } |
10633 return value; | 10638 return value; |
10634 } | 10639 } |
10635 }; | 10640 }; |
10636 | 10641 |
10637 } } // namespace v8::internal | 10642 } } // namespace v8::internal |
10638 | 10643 |
10639 #endif // V8_OBJECTS_H_ | 10644 #endif // V8_OBJECTS_H_ |
OLD | NEW |