| 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 |