Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: src/objects.h

Issue 2300373002: Shorten some names in ScopeInfo. (Closed)
Patch Set: Rebase. Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/ast/scopeinfo.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 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 #include <memory> 9 #include <memory>
10 10
(...skipping 4420 matching lines...) Expand 10 before | Expand all | Expand 10 after
4431 4431
4432 enum { 4432 enum {
4433 #define DECL_INDEX(name) k##name, 4433 #define DECL_INDEX(name) k##name,
4434 FOR_EACH_SCOPE_INFO_NUMERIC_FIELD(DECL_INDEX) 4434 FOR_EACH_SCOPE_INFO_NUMERIC_FIELD(DECL_INDEX)
4435 #undef DECL_INDEX 4435 #undef DECL_INDEX
4436 kVariablePartIndex 4436 kVariablePartIndex
4437 }; 4437 };
4438 4438
4439 private: 4439 private:
4440 // The layout of the variable part of a ScopeInfo is as follows: 4440 // The layout of the variable part of a ScopeInfo is as follows:
4441 // 1. ParameterEntries: 4441 // 1. ParameterNames:
4442 // This part stores the names of the parameters for function scopes. One 4442 // This part stores the names of the parameters for function scopes. One
4443 // slot is used per parameter, so in total this part occupies 4443 // slot is used per parameter, so in total this part occupies
4444 // ParameterCount() slots in the array. For other scopes than function 4444 // ParameterCount() slots in the array. For other scopes than function
4445 // scopes ParameterCount() is 0. 4445 // scopes ParameterCount() is 0.
4446 // 2. StackLocalFirstSlot: 4446 // 2. StackLocalFirstSlot:
4447 // Index of a first stack slot for stack local. Stack locals belonging to 4447 // Index of a first stack slot for stack local. Stack locals belonging to
4448 // this scope are located on a stack at slots starting from this index. 4448 // this scope are located on a stack at slots starting from this index.
4449 // 3. StackLocalEntries: 4449 // 3. StackLocalNames:
4450 // Contains the names of local variables that are allocated on the stack, 4450 // Contains the names of local variables that are allocated on the stack,
4451 // in increasing order of the stack slot index. First local variable has a 4451 // in increasing order of the stack slot index. First local variable has a
4452 // stack slot index defined in StackLocalFirstSlot (point 2 above). 4452 // stack slot index defined in StackLocalFirstSlot (point 2 above).
4453 // One slot is used per stack local, so in total this part occupies 4453 // One slot is used per stack local, so in total this part occupies
4454 // StackLocalCount() slots in the array. 4454 // StackLocalCount() slots in the array.
4455 // 4. ContextLocalNameEntries: 4455 // 4. ContextLocalNames:
4456 // Contains the names of local variables and parameters that are allocated 4456 // Contains the names of local variables and parameters that are allocated
4457 // in the context. They are stored in increasing order of the context slot 4457 // in the context. They are stored in increasing order of the context slot
4458 // index starting with Context::MIN_CONTEXT_SLOTS. One slot is used per 4458 // index starting with Context::MIN_CONTEXT_SLOTS. One slot is used per
4459 // context local, so in total this part occupies ContextLocalCount() slots 4459 // context local, so in total this part occupies ContextLocalCount() slots
4460 // in the array. 4460 // in the array.
4461 // 5. ContextLocalInfoEntries: 4461 // 5. ContextLocalInfos:
4462 // Contains the variable modes and initialization flags corresponding to 4462 // Contains the variable modes and initialization flags corresponding to
4463 // the context locals in ContextLocalNameEntries. One slot is used per 4463 // the context locals in ContextLocalNames. One slot is used per
4464 // context local, so in total this part occupies ContextLocalCount() 4464 // context local, so in total this part occupies ContextLocalCount()
4465 // slots in the array. 4465 // slots in the array.
4466 // 6. ReceiverEntry: 4466 // 6. ReceiverInfo:
4467 // If the scope binds a "this" value, one slot is reserved to hold the 4467 // If the scope binds a "this" value, one slot is reserved to hold the
4468 // context or stack slot index for the variable. 4468 // context or stack slot index for the variable.
4469 // 7. FunctionNameEntry: 4469 // 7. FunctionNameInfo:
4470 // If the scope belongs to a named function expression this part contains 4470 // If the scope belongs to a named function expression this part contains
4471 // information about the function variable. It always occupies two array 4471 // information about the function variable. It always occupies two array
4472 // slots: a. The name of the function variable. 4472 // slots: a. The name of the function variable.
4473 // b. The context or stack slot index for the variable. 4473 // b. The context or stack slot index for the variable.
4474 // 8. OuterScopeInfoEntryIndex: 4474 // 8. OuterScopeInfoIndex:
4475 // The outer scope's ScopeInfo or the hole if there's none. 4475 // The outer scope's ScopeInfo or the hole if there's none.
4476 // 9. ModuleInfoEntry, ModuleVariableCount, and ModuleVariableEntries: 4476 // 9. ModuleInfo, ModuleVariableCount, and ModuleVariables:
4477 // For a module scope, this part contains the ModuleInfo, the number of 4477 // For a module scope, this part contains the ModuleInfo, the number of
4478 // MODULE-allocated variables, and the metadata of those variables. For 4478 // MODULE-allocated variables, and the metadata of those variables. For
4479 // non-module scopes it is empty. 4479 // non-module scopes it is empty.
4480 int ParameterEntriesIndex(); 4480 int ParameterNamesIndex();
4481 int StackLocalFirstSlotIndex(); 4481 int StackLocalFirstSlotIndex();
4482 int StackLocalEntriesIndex(); 4482 int StackLocalNamesIndex();
4483 int ContextLocalNameEntriesIndex(); 4483 int ContextLocalNamesIndex();
4484 int ContextLocalInfoEntriesIndex(); 4484 int ContextLocalInfosIndex();
4485 int ReceiverEntryIndex(); 4485 int ReceiverInfoIndex();
4486 int FunctionNameEntryIndex(); 4486 int FunctionNameInfoIndex();
4487 int OuterScopeInfoEntryIndex(); 4487 int OuterScopeInfoIndex();
4488 int ModuleInfoEntryIndex(); 4488 int ModuleInfoIndex();
4489 int ModuleVariableCountIndex(); 4489 int ModuleVariableCountIndex();
4490 int ModuleVariableEntriesIndex(); 4490 int ModuleVariablesIndex();
4491 4491
4492 int Lookup(Handle<String> name, int start, int end, VariableMode* mode, 4492 int Lookup(Handle<String> name, int start, int end, VariableMode* mode,
4493 VariableLocation* location, InitializationFlag* init_flag, 4493 VariableLocation* location, InitializationFlag* init_flag,
4494 MaybeAssignedFlag* maybe_assigned_flag); 4494 MaybeAssignedFlag* maybe_assigned_flag);
4495 4495
4496 // Used for the function name variable for named function expressions, and for 4496 // Used for the function name variable for named function expressions, and for
4497 // the receiver. 4497 // the receiver.
4498 enum VariableAllocationInfo { NONE, STACK, CONTEXT, UNUSED }; 4498 enum VariableAllocationInfo { NONE, STACK, CONTEXT, UNUSED };
4499 4499
4500 // Properties of scopes. 4500 // Properties of scopes.
(...skipping 6725 matching lines...) Expand 10 before | Expand all | Expand 10 after
11226 } 11226 }
11227 return value; 11227 return value;
11228 } 11228 }
11229 }; 11229 };
11230 11230
11231 11231
11232 } // NOLINT, false-positive due to second-order macros. 11232 } // NOLINT, false-positive due to second-order macros.
11233 } // NOLINT, false-positive due to second-order macros. 11233 } // NOLINT, false-positive due to second-order macros.
11234 11234
11235 #endif // V8_OBJECTS_H_ 11235 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « src/ast/scopeinfo.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698