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

Unified Diff: src/objects.h

Issue 2345823002: [modules] Turn JSModule into Module. (Closed)
Patch Set: Address comments. 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/heap/objects-visiting.cc ('k') | src/objects.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/objects.h
diff --git a/src/objects.h b/src/objects.h
index de3026eefca666af7091ca20f1b5a8888ffa7afc..af3b5b1c8c54680bd4f317f787e226bbf03f509e 100644
--- a/src/objects.h
+++ b/src/objects.h
@@ -70,7 +70,6 @@
// - JSValue
// - JSDate
// - JSMessageObject
-// - JSModule
// - JSProxy
// - FixedArrayBase
// - ByteArray
@@ -154,6 +153,7 @@
// - BreakPointInfo
// - CodeCache
// - PrototypeInfo
+// - Module
// - WeakCell
//
// Formats of Object*:
@@ -398,6 +398,7 @@ const int kStubMinorKeyBits = kSmiValueSize - kStubMajorKeyBits - 1;
V(BOX_TYPE) \
V(PROTOTYPE_INFO_TYPE) \
V(CONTEXT_EXTENSION_TYPE) \
+ V(MODULE_TYPE) \
\
V(FIXED_ARRAY_TYPE) \
V(FIXED_DOUBLE_ARRAY_TYPE) \
@@ -413,7 +414,6 @@ const int kStubMinorKeyBits = kSmiValueSize - kStubMajorKeyBits - 1;
V(JS_ARGUMENTS_TYPE) \
V(JS_CONTEXT_EXTENSION_OBJECT_TYPE) \
V(JS_GENERATOR_OBJECT_TYPE) \
- V(JS_MODULE_TYPE) \
V(JS_GLOBAL_OBJECT_TYPE) \
V(JS_GLOBAL_PROXY_TYPE) \
V(JS_API_OBJECT_TYPE) \
@@ -515,6 +515,7 @@ const int kStubMinorKeyBits = kSmiValueSize - kStubMajorKeyBits - 1;
V(DEBUG_INFO, DebugInfo, debug_info) \
V(BREAK_POINT_INFO, BreakPointInfo, break_point_info) \
V(PROTOTYPE_INFO, PrototypeInfo, prototype_info) \
+ V(MODULE, Module, module) \
V(CONTEXT_EXTENSION, ContextExtension, context_extension)
// We use the full 8 bits of the instance_type field to encode heap object
@@ -690,6 +691,7 @@ enum InstanceType {
PROPERTY_CELL_TYPE,
PROTOTYPE_INFO_TYPE,
CONTEXT_EXTENSION_TYPE,
+ MODULE_TYPE,
// All the following types are subtypes of JSReceiver, which corresponds to
// objects in the JS sense. The first and the last type in this range are
@@ -710,7 +712,6 @@ enum InstanceType {
JS_ARGUMENTS_TYPE,
JS_CONTEXT_EXTENSION_OBJECT_TYPE,
JS_GENERATOR_OBJECT_TYPE,
- JS_MODULE_TYPE,
JS_ARRAY_TYPE,
JS_ARRAY_BUFFER_TYPE,
JS_TYPED_ARRAY_TYPE,
@@ -963,7 +964,6 @@ template <class C> inline bool Is(Object* obj);
V(JSObject) \
V(JSContextExtensionObject) \
V(JSGeneratorObject) \
- V(JSModule) \
V(Map) \
V(DescriptorArray) \
V(FrameArray) \
@@ -6377,7 +6377,7 @@ class Map: public HeapObject {
inline bool IsJSFunctionMap();
inline bool IsStringMap();
inline bool IsJSProxyMap();
- inline bool IsJSModuleMap();
+ inline bool IsModuleMap();
inline bool IsJSGlobalProxyMap();
inline bool IsJSGlobalObjectMap();
inline bool IsJSTypedArrayMap();
@@ -7855,20 +7855,26 @@ class JSGeneratorObject: public JSObject {
DISALLOW_IMPLICIT_CONSTRUCTORS(JSGeneratorObject);
};
-// A JSModule object is a mapping from export names to cells
+// A Module object is a mapping from export names to cells
// This is still very much in flux.
-class JSModule : public JSObject {
+class Module : public Struct {
public:
- DECLARE_CAST(JSModule)
- DECLARE_VERIFIER(JSModule)
+ DECLARE_CAST(Module)
+ DECLARE_VERIFIER(Module)
+ DECLARE_PRINTER(Module)
- static const int kSize = JSObject::kHeaderSize;
+ DECL_ACCESSORS(exports, ObjectHashTable)
- static void CreateExport(Handle<JSModule> module, Handle<String> name);
- static void StoreExport(Handle<JSModule> module, Handle<String> name,
+ static void CreateExport(Handle<Module> module, Handle<String> name);
+ static void StoreExport(Handle<Module> module, Handle<String> name,
Handle<Object> value);
- static Handle<Object> LoadExport(Handle<JSModule> module,
- Handle<String> name);
+ static Handle<Object> LoadExport(Handle<Module> module, Handle<String> name);
+
+ static const int kExportsOffset = HeapObject::kHeaderSize;
+ static const int kSize = kExportsOffset + kPointerSize;
+
+ private:
+ DISALLOW_IMPLICIT_CONSTRUCTORS(Module);
};
// JSBoundFunction describes a bound function exotic object.
« no previous file with comments | « src/heap/objects-visiting.cc ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698