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

Side by Side Diff: src/objects.h

Issue 2638893002: objects.h splitting: Move ModuleInfoEntry (Closed)
Patch Set: dropping unnecessary undefs Created 3 years, 11 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 | « no previous file | src/objects/module-info.h » ('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 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 // - ModuleInfoEntry 162 // - ModuleInfoEntry
163 // - WeakCell 163 // - WeakCell
164 // 164 //
165 // Formats of Object*: 165 // Formats of Object*:
166 // Smi: [31 bit signed int] 0 166 // Smi: [31 bit signed int] 0
167 // HeapObject: [32 bit direct pointer] (4 byte aligned) | 01 167 // HeapObject: [32 bit direct pointer] (4 byte aligned) | 01
168 168
169 namespace v8 { 169 namespace v8 {
170 namespace internal { 170 namespace internal {
171 171
172 class ModuleInfo;
173 struct InliningPosition; 172 struct InliningPosition;
174 173
175 enum KeyedAccessStoreMode { 174 enum KeyedAccessStoreMode {
176 STANDARD_STORE, 175 STANDARD_STORE,
177 STORE_TRANSITION_TO_OBJECT, 176 STORE_TRANSITION_TO_OBJECT,
178 STORE_TRANSITION_TO_DOUBLE, 177 STORE_TRANSITION_TO_DOUBLE,
179 STORE_AND_GROW_NO_TRANSITION, 178 STORE_AND_GROW_NO_TRANSITION,
180 STORE_AND_GROW_TRANSITION_TO_OBJECT, 179 STORE_AND_GROW_TRANSITION_TO_OBJECT,
181 STORE_AND_GROW_TRANSITION_TO_DOUBLE, 180 STORE_AND_GROW_TRANSITION_TO_DOUBLE,
182 STORE_NO_TRANSITION_IGNORE_OUT_OF_BOUNDS, 181 STORE_NO_TRANSITION_IGNORE_OUT_OF_BOUNDS,
(...skipping 794 matching lines...) Expand 10 before | Expand all | Expand 10 after
977 class TypeFeedbackInfo; 976 class TypeFeedbackInfo;
978 class TypeFeedbackMetadata; 977 class TypeFeedbackMetadata;
979 class TypeFeedbackVector; 978 class TypeFeedbackVector;
980 class WeakCell; 979 class WeakCell;
981 class TransitionArray; 980 class TransitionArray;
982 class TemplateList; 981 class TemplateList;
983 982
984 // A template-ized version of the IsXXX functions. 983 // A template-ized version of the IsXXX functions.
985 template <class C> inline bool Is(Object* obj); 984 template <class C> inline bool Is(Object* obj);
986 985
987 #ifdef VERIFY_HEAP
988 #define DECLARE_VERIFIER(Name) void Name##Verify();
989 #else
990 #define DECLARE_VERIFIER(Name)
991 #endif
992
993 #ifdef OBJECT_PRINT 986 #ifdef OBJECT_PRINT
994 #define DECLARE_PRINTER(Name) void Name##Print(std::ostream& os); // NOLINT 987 #define DECLARE_PRINTER(Name) void Name##Print(std::ostream& os); // NOLINT
995 #else 988 #else
996 #define DECLARE_PRINTER(Name) 989 #define DECLARE_PRINTER(Name)
997 #endif 990 #endif
998 991
999 #define OBJECT_TYPE_LIST(V) \ 992 #define OBJECT_TYPE_LIST(V) \
1000 V(Smi) \ 993 V(Smi) \
1001 V(LayoutDescriptor) \ 994 V(LayoutDescriptor) \
1002 V(HeapObject) \ 995 V(HeapObject) \
(...skipping 6896 matching lines...) Expand 10 before | Expand all | Expand 10 after
7899 static const int kInputOrDebugPosOffset = kReceiverOffset + kPointerSize; 7892 static const int kInputOrDebugPosOffset = kReceiverOffset + kPointerSize;
7900 static const int kResumeModeOffset = kInputOrDebugPosOffset + kPointerSize; 7893 static const int kResumeModeOffset = kInputOrDebugPosOffset + kPointerSize;
7901 static const int kContinuationOffset = kResumeModeOffset + kPointerSize; 7894 static const int kContinuationOffset = kResumeModeOffset + kPointerSize;
7902 static const int kRegisterFileOffset = kContinuationOffset + kPointerSize; 7895 static const int kRegisterFileOffset = kContinuationOffset + kPointerSize;
7903 static const int kSize = kRegisterFileOffset + kPointerSize; 7896 static const int kSize = kRegisterFileOffset + kPointerSize;
7904 7897
7905 private: 7898 private:
7906 DISALLOW_IMPLICIT_CONSTRUCTORS(JSGeneratorObject); 7899 DISALLOW_IMPLICIT_CONSTRUCTORS(JSGeneratorObject);
7907 }; 7900 };
7908 7901
7909 class ModuleInfoEntry : public Struct {
7910 public:
7911 DECLARE_CAST(ModuleInfoEntry)
7912 DECLARE_PRINTER(ModuleInfoEntry)
7913 DECLARE_VERIFIER(ModuleInfoEntry)
7914
7915 DECL_ACCESSORS(export_name, Object)
7916 DECL_ACCESSORS(local_name, Object)
7917 DECL_ACCESSORS(import_name, Object)
7918 DECL_INT_ACCESSORS(module_request)
7919 DECL_INT_ACCESSORS(cell_index)
7920 DECL_INT_ACCESSORS(beg_pos)
7921 DECL_INT_ACCESSORS(end_pos)
7922
7923 static Handle<ModuleInfoEntry> New(Isolate* isolate,
7924 Handle<Object> export_name,
7925 Handle<Object> local_name,
7926 Handle<Object> import_name,
7927 int module_request, int cell_index,
7928 int beg_pos, int end_pos);
7929
7930 static const int kExportNameOffset = HeapObject::kHeaderSize;
7931 static const int kLocalNameOffset = kExportNameOffset + kPointerSize;
7932 static const int kImportNameOffset = kLocalNameOffset + kPointerSize;
7933 static const int kModuleRequestOffset = kImportNameOffset + kPointerSize;
7934 static const int kCellIndexOffset = kModuleRequestOffset + kPointerSize;
7935 static const int kBegPosOffset = kCellIndexOffset + kPointerSize;
7936 static const int kEndPosOffset = kBegPosOffset + kPointerSize;
7937 static const int kSize = kEndPosOffset + kPointerSize;
7938
7939 private:
7940 DISALLOW_IMPLICIT_CONSTRUCTORS(ModuleInfoEntry);
7941 };
7942
7943 // When importing a module namespace (import * as foo from "bar"), a 7902 // When importing a module namespace (import * as foo from "bar"), a
7944 // JSModuleNamespace object (representing module "bar") is created and bound to 7903 // JSModuleNamespace object (representing module "bar") is created and bound to
7945 // the declared variable (foo). A module can have at most one namespace object. 7904 // the declared variable (foo). A module can have at most one namespace object.
7946 class JSModuleNamespace : public JSObject { 7905 class JSModuleNamespace : public JSObject {
7947 public: 7906 public:
7948 DECLARE_CAST(JSModuleNamespace) 7907 DECLARE_CAST(JSModuleNamespace)
7949 DECLARE_PRINTER(JSModuleNamespace) 7908 DECLARE_PRINTER(JSModuleNamespace)
7950 DECLARE_VERIFIER(JSModuleNamespace) 7909 DECLARE_VERIFIER(JSModuleNamespace)
7951 7910
7952 // The actual module whose namespace is being represented. 7911 // The actual module whose namespace is being represented.
(...skipping 3616 matching lines...) Expand 10 before | Expand all | Expand 10 after
11569 static const int kSourcePositionIndex = Struct::kHeaderSize; 11528 static const int kSourcePositionIndex = Struct::kHeaderSize;
11570 static const int kBreakPointObjectsIndex = 11529 static const int kBreakPointObjectsIndex =
11571 kSourcePositionIndex + kPointerSize; 11530 kSourcePositionIndex + kPointerSize;
11572 static const int kSize = kBreakPointObjectsIndex + kPointerSize; 11531 static const int kSize = kBreakPointObjectsIndex + kPointerSize;
11573 11532
11574 private: 11533 private:
11575 DISALLOW_IMPLICIT_CONSTRUCTORS(BreakPointInfo); 11534 DISALLOW_IMPLICIT_CONSTRUCTORS(BreakPointInfo);
11576 }; 11535 };
11577 11536
11578 11537
11579 #undef DECL_BOOLEAN_ACCESSORS
11580 #undef DECL_ACCESSORS
11581 #undef DECLARE_CAST
11582 #undef DECLARE_VERIFIER
11583
11584 #define VISITOR_SYNCHRONIZATION_TAGS_LIST(V) \ 11538 #define VISITOR_SYNCHRONIZATION_TAGS_LIST(V) \
11585 V(kStringTable, "string_table", "(Internalized strings)") \ 11539 V(kStringTable, "string_table", "(Internalized strings)") \
11586 V(kExternalStringsTable, "external_strings_table", "(External strings)") \ 11540 V(kExternalStringsTable, "external_strings_table", "(External strings)") \
11587 V(kStrongRootList, "strong_root_list", "(Strong roots)") \ 11541 V(kStrongRootList, "strong_root_list", "(Strong roots)") \
11588 V(kSmiRootList, "smi_root_list", "(Smi roots)") \ 11542 V(kSmiRootList, "smi_root_list", "(Smi roots)") \
11589 V(kBootstrapper, "bootstrapper", "(Bootstrapper)") \ 11543 V(kBootstrapper, "bootstrapper", "(Bootstrapper)") \
11590 V(kTop, "top", "(Isolate)") \ 11544 V(kTop, "top", "(Isolate)") \
11591 V(kRelocatable, "relocatable", "(Relocatable)") \ 11545 V(kRelocatable, "relocatable", "(Relocatable)") \
11592 V(kDebug, "debug", "(Debugger)") \ 11546 V(kDebug, "debug", "(Debugger)") \
11593 V(kCompilationCache, "compilationcache", "(Compilation cache)") \ 11547 V(kCompilationCache, "compilationcache", "(Compilation cache)") \
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
11696 } 11650 }
11697 }; 11651 };
11698 11652
11699 11653
11700 } // NOLINT, false-positive due to second-order macros. 11654 } // NOLINT, false-positive due to second-order macros.
11701 } // NOLINT, false-positive due to second-order macros. 11655 } // NOLINT, false-positive due to second-order macros.
11702 11656
11703 #include "src/objects/object-macros-undef.h" 11657 #include "src/objects/object-macros-undef.h"
11704 11658
11705 #endif // V8_OBJECTS_H_ 11659 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « no previous file | src/objects/module-info.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698