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 4036 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4047 V(ContextLocalCount) \ | 4047 V(ContextLocalCount) \ |
4048 V(ContextGlobalCount) \ | 4048 V(ContextGlobalCount) \ |
4049 V(StrongModeFreeVariableCount) | 4049 V(StrongModeFreeVariableCount) |
4050 | 4050 |
4051 #define FIELD_ACCESSORS(name) \ | 4051 #define FIELD_ACCESSORS(name) \ |
4052 inline void Set##name(int value); \ | 4052 inline void Set##name(int value); \ |
4053 inline int name(); | 4053 inline int name(); |
4054 FOR_EACH_SCOPE_INFO_NUMERIC_FIELD(FIELD_ACCESSORS) | 4054 FOR_EACH_SCOPE_INFO_NUMERIC_FIELD(FIELD_ACCESSORS) |
4055 #undef FIELD_ACCESSORS | 4055 #undef FIELD_ACCESSORS |
4056 | 4056 |
4057 private: | |
4058 enum { | 4057 enum { |
4059 #define DECL_INDEX(name) k##name, | 4058 #define DECL_INDEX(name) k##name, |
4060 FOR_EACH_SCOPE_INFO_NUMERIC_FIELD(DECL_INDEX) | 4059 FOR_EACH_SCOPE_INFO_NUMERIC_FIELD(DECL_INDEX) |
4061 #undef DECL_INDEX | 4060 #undef DECL_INDEX |
4062 kVariablePartIndex | 4061 kVariablePartIndex |
4063 }; | 4062 }; |
4064 | 4063 |
| 4064 private: |
4065 // The layout of the variable part of a ScopeInfo is as follows: | 4065 // The layout of the variable part of a ScopeInfo is as follows: |
4066 // 1. ParameterEntries: | 4066 // 1. ParameterEntries: |
4067 // This part stores the names of the parameters for function scopes. One | 4067 // This part stores the names of the parameters for function scopes. One |
4068 // slot is used per parameter, so in total this part occupies | 4068 // slot is used per parameter, so in total this part occupies |
4069 // ParameterCount() slots in the array. For other scopes than function | 4069 // ParameterCount() slots in the array. For other scopes than function |
4070 // scopes ParameterCount() is 0. | 4070 // scopes ParameterCount() is 0. |
4071 // 2. StackLocalFirstSlot: | 4071 // 2. StackLocalFirstSlot: |
4072 // Index of a first stack slot for stack local. Stack locals belonging to | 4072 // Index of a first stack slot for stack local. Stack locals belonging to |
4073 // this scope are located on a stack at slots starting from this index. | 4073 // this scope are located on a stack at slots starting from this index. |
4074 // 3. StackLocalEntries: | 4074 // 3. StackLocalEntries: |
(...skipping 6486 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10561 | 10561 |
10562 Isolate* isolate_; | 10562 Isolate* isolate_; |
10563 Handle<FixedArray> keys_; | 10563 Handle<FixedArray> keys_; |
10564 Handle<OrderedHashSet> set_; | 10564 Handle<OrderedHashSet> set_; |
10565 int length_; | 10565 int length_; |
10566 DISALLOW_COPY_AND_ASSIGN(KeyAccumulator); | 10566 DISALLOW_COPY_AND_ASSIGN(KeyAccumulator); |
10567 }; | 10567 }; |
10568 } } // namespace v8::internal | 10568 } } // namespace v8::internal |
10569 | 10569 |
10570 #endif // V8_OBJECTS_H_ | 10570 #endif // V8_OBJECTS_H_ |
OLD | NEW |