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

Side by Side Diff: src/objects.h

Issue 2445683002: [modules] Add partial support for debug-scopes. (Closed)
Patch Set: Fix handle bug. Created 4 years, 1 month 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/debug/mirrors.js ('k') | test/mjsunit/modules-debug-scopes1.js » ('j') | 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 4668 matching lines...) Expand 10 before | Expand all | Expand 10 after
4679 int FunctionNameInfoIndex(); 4679 int FunctionNameInfoIndex();
4680 int OuterScopeInfoIndex(); 4680 int OuterScopeInfoIndex();
4681 int ModuleInfoIndex(); 4681 int ModuleInfoIndex();
4682 int ModuleVariableCountIndex(); 4682 int ModuleVariableCountIndex();
4683 int ModuleVariablesIndex(); 4683 int ModuleVariablesIndex();
4684 4684
4685 int Lookup(Handle<String> name, int start, int end, VariableMode* mode, 4685 int Lookup(Handle<String> name, int start, int end, VariableMode* mode,
4686 VariableLocation* location, InitializationFlag* init_flag, 4686 VariableLocation* location, InitializationFlag* init_flag,
4687 MaybeAssignedFlag* maybe_assigned_flag); 4687 MaybeAssignedFlag* maybe_assigned_flag);
4688 4688
4689 // Get metadata of i-th MODULE-allocated variable, where 0 <= i <
4690 // ModuleVariableCount. The metadata is returned via out-arguments, which may
4691 // be nullptr if the corresponding information is not requested
4692 void ModuleVariable(int i, String** name, int* index,
4693 VariableMode* mode = nullptr,
4694 InitializationFlag* init_flag = nullptr,
4695 MaybeAssignedFlag* maybe_assigned_flag = nullptr);
4696
4689 // Used for the function name variable for named function expressions, and for 4697 // Used for the function name variable for named function expressions, and for
4690 // the receiver. 4698 // the receiver.
4691 enum VariableAllocationInfo { NONE, STACK, CONTEXT, UNUSED }; 4699 enum VariableAllocationInfo { NONE, STACK, CONTEXT, UNUSED };
4692 4700
4693 // Properties of scopes. 4701 // Properties of scopes.
4694 class ScopeTypeField : public BitField<ScopeType, 0, 4> {}; 4702 class ScopeTypeField : public BitField<ScopeType, 0, 4> {};
4695 class CallsEvalField : public BitField<bool, ScopeTypeField::kNext, 1> {}; 4703 class CallsEvalField : public BitField<bool, ScopeTypeField::kNext, 1> {};
4696 STATIC_ASSERT(LANGUAGE_END == 2); 4704 STATIC_ASSERT(LANGUAGE_END == 2);
4697 class LanguageModeField 4705 class LanguageModeField
4698 : public BitField<LanguageMode, CallsEvalField::kNext, 1> {}; 4706 : public BitField<LanguageMode, CallsEvalField::kNext, 1> {};
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
4746 kImportNameIndex, 4754 kImportNameIndex,
4747 kModuleRequestIndex, 4755 kModuleRequestIndex,
4748 kLength 4756 kLength
4749 }; 4757 };
4750 }; 4758 };
4751 4759
4752 // ModuleInfo is to ModuleDescriptor what ScopeInfo is to Scope. 4760 // ModuleInfo is to ModuleDescriptor what ScopeInfo is to Scope.
4753 class ModuleInfo : public FixedArray { 4761 class ModuleInfo : public FixedArray {
4754 public: 4762 public:
4755 DECLARE_CAST(ModuleInfo) 4763 DECLARE_CAST(ModuleInfo)
4764
4756 static Handle<ModuleInfo> New(Isolate* isolate, Zone* zone, 4765 static Handle<ModuleInfo> New(Isolate* isolate, Zone* zone,
4757 ModuleDescriptor* descr); 4766 ModuleDescriptor* descr);
4767
4758 inline FixedArray* module_requests() const; 4768 inline FixedArray* module_requests() const;
4759 inline FixedArray* special_exports() const; 4769 inline FixedArray* special_exports() const;
4760 inline FixedArray* regular_exports() const; 4770 inline FixedArray* regular_exports() const;
4761 inline FixedArray* namespace_imports() const; 4771 inline FixedArray* namespace_imports() const;
4762 inline FixedArray* regular_imports() const; 4772 inline FixedArray* regular_imports() const;
4763 4773
4774 static Handle<ModuleInfoEntry> LookupRegularImport(Handle<ModuleInfo> info,
4775 Handle<String> local_name);
4776
4764 #ifdef DEBUG 4777 #ifdef DEBUG
4765 inline bool Equals(ModuleInfo* other) const; 4778 inline bool Equals(ModuleInfo* other) const;
4766 #endif 4779 #endif
4767 4780
4768 private: 4781 private:
4769 friend class Factory; 4782 friend class Factory;
4770 enum { 4783 enum {
4771 kModuleRequestsIndex, 4784 kModuleRequestsIndex,
4772 kSpecialExportsIndex, 4785 kSpecialExportsIndex,
4773 kRegularExportsIndex, 4786 kRegularExportsIndex,
(...skipping 6969 matching lines...) Expand 10 before | Expand all | Expand 10 after
11743 } 11756 }
11744 return value; 11757 return value;
11745 } 11758 }
11746 }; 11759 };
11747 11760
11748 11761
11749 } // NOLINT, false-positive due to second-order macros. 11762 } // NOLINT, false-positive due to second-order macros.
11750 } // NOLINT, false-positive due to second-order macros. 11763 } // NOLINT, false-positive due to second-order macros.
11751 11764
11752 #endif // V8_OBJECTS_H_ 11765 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « src/debug/mirrors.js ('k') | test/mjsunit/modules-debug-scopes1.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698