aboutsummaryrefslogtreecommitdiff
path: root/src/js/out/WebCoreJSBuiltins.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/js/out/WebCoreJSBuiltins.h')
-rw-r--r--src/js/out/WebCoreJSBuiltins.h118
1 files changed, 116 insertions, 2 deletions
diff --git a/src/js/out/WebCoreJSBuiltins.h b/src/js/out/WebCoreJSBuiltins.h
index e79dc1922..42d14b154 100644
--- a/src/js/out/WebCoreJSBuiltins.h
+++ b/src/js/out/WebCoreJSBuiltins.h
@@ -1181,8 +1181,8 @@ extern const JSC::ImplementationVisibility s_processObjectInternalsGetStdinStrea
#define WEBCORE_FOREACH_PROCESSOBJECTINTERNALS_BUILTIN_DATA(macro) \
macro(binding, processObjectInternalsBinding, 1) \
- macro(getStdioWriteStream, processObjectInternalsGetStdioWriteStream, 2) \
- macro(getStdinStream, processObjectInternalsGetStdinStream, 3) \
+ macro(getStdioWriteStream, processObjectInternalsGetStdioWriteStream, 1) \
+ macro(getStdinStream, processObjectInternalsGetStdinStream, 1) \
#define WEBCORE_FOREACH_PROCESSOBJECTINTERNALS_BUILTIN_CODE(macro) \
macro(processObjectInternalsBindingCode, binding, ASCIILiteral(), s_processObjectInternalsBindingCodeLength) \
@@ -1354,6 +1354,106 @@ inline void TransformStreamBuiltinsWrapper::exportNames()
WEBCORE_FOREACH_TRANSFORMSTREAM_BUILTIN_FUNCTION_NAME(EXPORT_FUNCTION_NAME)
#undef EXPORT_FUNCTION_NAME
}
+/* Module.ts */
+// main
+#define WEBCORE_BUILTIN_MODULE_MAIN 1
+extern const char* const s_moduleMainCode;
+extern const int s_moduleMainCodeLength;
+extern const JSC::ConstructAbility s_moduleMainCodeConstructAbility;
+extern const JSC::ConstructorKind s_moduleMainCodeConstructorKind;
+extern const JSC::ImplementationVisibility s_moduleMainCodeImplementationVisibility;
+
+// require
+#define WEBCORE_BUILTIN_MODULE_REQUIRE 1
+extern const char* const s_moduleRequireCode;
+extern const int s_moduleRequireCodeLength;
+extern const JSC::ConstructAbility s_moduleRequireCodeConstructAbility;
+extern const JSC::ConstructorKind s_moduleRequireCodeConstructorKind;
+extern const JSC::ImplementationVisibility s_moduleRequireCodeImplementationVisibility;
+
+// requireResolve
+#define WEBCORE_BUILTIN_MODULE_REQUIRERESOLVE 1
+extern const char* const s_moduleRequireResolveCode;
+extern const int s_moduleRequireResolveCodeLength;
+extern const JSC::ConstructAbility s_moduleRequireResolveCodeConstructAbility;
+extern const JSC::ConstructorKind s_moduleRequireResolveCodeConstructorKind;
+extern const JSC::ImplementationVisibility s_moduleRequireResolveCodeImplementationVisibility;
+
+#define WEBCORE_FOREACH_MODULE_BUILTIN_DATA(macro) \
+ macro(main, moduleMain, 0) \
+ macro(require, moduleRequire, 1) \
+ macro(requireResolve, moduleRequireResolve, 1) \
+
+#define WEBCORE_FOREACH_MODULE_BUILTIN_CODE(macro) \
+ macro(moduleMainCode, main, "get main"_s, s_moduleMainCodeLength) \
+ macro(moduleRequireCode, require, ASCIILiteral(), s_moduleRequireCodeLength) \
+ macro(moduleRequireResolveCode, requireResolve, ASCIILiteral(), s_moduleRequireResolveCodeLength) \
+
+#define WEBCORE_FOREACH_MODULE_BUILTIN_FUNCTION_NAME(macro) \
+ macro(main) \
+ macro(require) \
+ macro(requireResolve) \
+
+#define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \
+ JSC::FunctionExecutable* codeName##Generator(JSC::VM&);
+
+WEBCORE_FOREACH_MODULE_BUILTIN_CODE(DECLARE_BUILTIN_GENERATOR)
+#undef DECLARE_BUILTIN_GENERATOR
+
+class ModuleBuiltinsWrapper : private JSC::WeakHandleOwner {
+public:
+ explicit ModuleBuiltinsWrapper(JSC::VM& vm)
+ : m_vm(vm)
+ WEBCORE_FOREACH_MODULE_BUILTIN_FUNCTION_NAME(INITIALIZE_BUILTIN_NAMES)
+#define INITIALIZE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) , m_##name##Source(JSC::makeSource(StringImpl::createWithoutCopying(s_##name, length), { }))
+ WEBCORE_FOREACH_MODULE_BUILTIN_CODE(INITIALIZE_BUILTIN_SOURCE_MEMBERS)
+#undef INITIALIZE_BUILTIN_SOURCE_MEMBERS
+ {
+ }
+
+#define EXPOSE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \
+ JSC::UnlinkedFunctionExecutable* name##Executable(); \
+ const JSC::SourceCode& name##Source() const { return m_##name##Source; }
+ WEBCORE_FOREACH_MODULE_BUILTIN_CODE(EXPOSE_BUILTIN_EXECUTABLES)
+#undef EXPOSE_BUILTIN_EXECUTABLES
+
+ WEBCORE_FOREACH_MODULE_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR)
+
+ void exportNames();
+
+private:
+ JSC::VM& m_vm;
+
+ WEBCORE_FOREACH_MODULE_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_NAMES)
+
+#define DECLARE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) \
+ JSC::SourceCode m_##name##Source;\
+ JSC::Weak<JSC::UnlinkedFunctionExecutable> m_##name##Executable;
+ WEBCORE_FOREACH_MODULE_BUILTIN_CODE(DECLARE_BUILTIN_SOURCE_MEMBERS)
+#undef DECLARE_BUILTIN_SOURCE_MEMBERS
+
+};
+
+#define DEFINE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \
+inline JSC::UnlinkedFunctionExecutable* ModuleBuiltinsWrapper::name##Executable() \
+{\
+ if (!m_##name##Executable) {\
+ JSC::Identifier executableName = functionName##PublicName();\
+ if (overriddenName)\
+ executableName = JSC::Identifier::fromString(m_vm, overriddenName);\
+ m_##name##Executable = JSC::Weak<JSC::UnlinkedFunctionExecutable>(JSC::createBuiltinExecutable(m_vm, m_##name##Source, executableName, s_##name##ImplementationVisibility, s_##name##ConstructorKind, s_##name##ConstructAbility), this, &m_##name##Executable);\
+ }\
+ return m_##name##Executable.get();\
+}
+WEBCORE_FOREACH_MODULE_BUILTIN_CODE(DEFINE_BUILTIN_EXECUTABLES)
+#undef DEFINE_BUILTIN_EXECUTABLES
+
+inline void ModuleBuiltinsWrapper::exportNames()
+{
+#define EXPORT_FUNCTION_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName());
+ WEBCORE_FOREACH_MODULE_BUILTIN_FUNCTION_NAME(EXPORT_FUNCTION_NAME)
+#undef EXPORT_FUNCTION_NAME
+}
/* JSBufferPrototype.ts */
// setBigUint64
#define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_SETBIGUINT64 1
@@ -3427,14 +3527,25 @@ extern const JSC::ConstructAbility s_jsBufferConstructorFromCodeConstructAbility
extern const JSC::ConstructorKind s_jsBufferConstructorFromCodeConstructorKind;
extern const JSC::ImplementationVisibility s_jsBufferConstructorFromCodeImplementationVisibility;
+// isBuffer
+#define WEBCORE_BUILTIN_JSBUFFERCONSTRUCTOR_ISBUFFER 1
+extern const char* const s_jsBufferConstructorIsBufferCode;
+extern const int s_jsBufferConstructorIsBufferCodeLength;
+extern const JSC::ConstructAbility s_jsBufferConstructorIsBufferCodeConstructAbility;
+extern const JSC::ConstructorKind s_jsBufferConstructorIsBufferCodeConstructorKind;
+extern const JSC::ImplementationVisibility s_jsBufferConstructorIsBufferCodeImplementationVisibility;
+
#define WEBCORE_FOREACH_JSBUFFERCONSTRUCTOR_BUILTIN_DATA(macro) \
macro(from, jsBufferConstructorFrom, 1) \
+ macro(isBuffer, jsBufferConstructorIsBuffer, 1) \
#define WEBCORE_FOREACH_JSBUFFERCONSTRUCTOR_BUILTIN_CODE(macro) \
macro(jsBufferConstructorFromCode, from, ASCIILiteral(), s_jsBufferConstructorFromCodeLength) \
+ macro(jsBufferConstructorIsBufferCode, isBuffer, ASCIILiteral(), s_jsBufferConstructorIsBufferCodeLength) \
#define WEBCORE_FOREACH_JSBUFFERCONSTRUCTOR_BUILTIN_FUNCTION_NAME(macro) \
macro(from) \
+ macro(isBuffer) \
#define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \
JSC::FunctionExecutable* codeName##Generator(JSC::VM&);
@@ -5488,6 +5599,7 @@ public:
, m_transformStreamInternalsBuiltins(m_vm)
, m_processObjectInternalsBuiltins(m_vm)
, m_transformStreamBuiltins(m_vm)
+ , m_moduleBuiltins(m_vm)
, m_jsBufferPrototypeBuiltins(m_vm)
, m_readableByteStreamControllerBuiltins(m_vm)
, m_consoleObjectBuiltins(m_vm)
@@ -5520,6 +5632,7 @@ public:
TransformStreamInternalsBuiltinsWrapper& transformStreamInternalsBuiltins() { return m_transformStreamInternalsBuiltins; }
ProcessObjectInternalsBuiltinsWrapper& processObjectInternalsBuiltins() { return m_processObjectInternalsBuiltins; }
TransformStreamBuiltinsWrapper& transformStreamBuiltins() { return m_transformStreamBuiltins; }
+ ModuleBuiltinsWrapper& moduleBuiltins() { return m_moduleBuiltins; }
JSBufferPrototypeBuiltinsWrapper& jsBufferPrototypeBuiltins() { return m_jsBufferPrototypeBuiltins; }
ReadableByteStreamControllerBuiltinsWrapper& readableByteStreamControllerBuiltins() { return m_readableByteStreamControllerBuiltins; }
ConsoleObjectBuiltinsWrapper& consoleObjectBuiltins() { return m_consoleObjectBuiltins; }
@@ -5547,6 +5660,7 @@ private:
TransformStreamInternalsBuiltinsWrapper m_transformStreamInternalsBuiltins;
ProcessObjectInternalsBuiltinsWrapper m_processObjectInternalsBuiltins;
TransformStreamBuiltinsWrapper m_transformStreamBuiltins;
+ ModuleBuiltinsWrapper m_moduleBuiltins;
JSBufferPrototypeBuiltinsWrapper m_jsBufferPrototypeBuiltins;
ReadableByteStreamControllerBuiltinsWrapper m_readableByteStreamControllerBuiltins;
ConsoleObjectBuiltinsWrapper m_consoleObjectBuiltins;