Use constexpr instead of const in symbol definitions that are obviously constexpr.
[WebKit-https.git] / Source / JavaScriptCore / wasm / js / WebAssemblyModuleConstructor.h
index 56057a6..071c72c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2016 Apple Inc. All rights reserved.
+ * Copyright (C) 2016-2019 Apple Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
 #include "InternalFunction.h"
 #include "JSObject.h"
 
+#include <wtf/Vector.h>
+
 namespace JSC {
 
+class JSWebAssemblyModule;
 class WebAssemblyModulePrototype;
 
-class WebAssemblyModuleConstructor : public InternalFunction {
+class WebAssemblyModuleConstructor final : public InternalFunction {
 public:
     typedef InternalFunction Base;
-    static const unsigned StructureFlags = Base::StructureFlags | HasStaticPropertyTable;
+    static constexpr unsigned StructureFlags = Base::StructureFlags | HasStaticPropertyTable;
 
-    static WebAssemblyModuleConstructor* create(VM&, Structure*, WebAssemblyModulePrototype*, Structure*);
+    static WebAssemblyModuleConstructor* create(VM&, Structure*, WebAssemblyModulePrototype*);
     static Structure* createStructure(VM&, JSGlobalObject*, JSValue);
 
     DECLARE_INFO;
 
-    Structure* ModuleStructure() const { return m_ModuleStructure.get(); }
+    static JSWebAssemblyModule* createModule(ExecState*, Vector<uint8_t>&& buffer);
 
 protected:
-    void finishCreation(VM&, WebAssemblyModulePrototype*, Structure*);
+    void finishCreation(VM&, WebAssemblyModulePrototype*);
 
 private:
     WebAssemblyModuleConstructor(VM&, Structure*);
-    static ConstructType getConstructData(JSCell*, ConstructData&);
-    static CallType getCallData(JSCell*, CallData&);
-    static void visitChildren(JSCell*, SlotVisitor&);
-
-    WriteBarrier<Structure> m_ModuleStructure;
 };
 
 } // namespace JSC