// Generated by `bun src/js/builtins/codegen` // Do not edit by hand. #pragma once namespace Zig { class GlobalObject; } #include "root.h" #include #include #include #include #include #include namespace JSC { class FunctionExecutable; } namespace WebCore { /* BundlerPlugin.ts */ // runSetupFunction #define WEBCORE_BUILTIN_BUNDLERPLUGIN_RUNSETUPFUNCTION 1 extern const char* const s_bundlerPluginRunSetupFunctionCode; extern const int s_bundlerPluginRunSetupFunctionCodeLength; extern const JSC::ConstructAbility s_bundlerPluginRunSetupFunctionCodeConstructAbility; extern const JSC::ConstructorKind s_bundlerPluginRunSetupFunctionCodeConstructorKind; extern const JSC::ImplementationVisibility s_bundlerPluginRunSetupFunctionCodeImplementationVisibility; // runOnResolvePlugins #define WEBCORE_BUILTIN_BUNDLERPLUGIN_RUNONRESOLVEPLUGINS 1 extern const char* const s_bundlerPluginRunOnResolvePluginsCode; extern const int s_bundlerPluginRunOnResolvePluginsCodeLength; extern const JSC::ConstructAbility s_bundlerPluginRunOnResolvePluginsCodeConstructAbility; extern const JSC::ConstructorKind s_bundlerPluginRunOnResolvePluginsCodeConstructorKind; extern const JSC::ImplementationVisibility s_bundlerPluginRunOnResolvePluginsCodeImplementationVisibility; // runOnLoadPlugins #define WEBCORE_BUILTIN_BUNDLERPLUGIN_RUNONLOADPLUGINS 1 extern const char* const s_bundlerPluginRunOnLoadPluginsCode; extern const int s_bundlerPluginRunOnLoadPluginsCodeLength; extern const JSC::ConstructAbility s_bundlerPluginRunOnLoadPluginsCodeConstructAbility; extern const JSC::ConstructorKind s_bundlerPluginRunOnLoadPluginsCodeConstructorKind; extern const JSC::ImplementationVisibility s_bundlerPluginRunOnLoadPluginsCodeImplementationVisibility; #define WEBCORE_FOREACH_BUNDLERPLUGIN_BUILTIN_DATA(macro) \ macro(runSetupFunction, bundlerPluginRunSetupFunction, 2) \ macro(runOnResolvePlugins, bundlerPluginRunOnResolvePlugins, 5) \ macro(runOnLoadPlugins, bundlerPluginRunOnLoadPlugins, 4) \ #define WEBCORE_FOREACH_BUNDLERPLUGIN_BUILTIN_CODE(macro) \ macro(bundlerPluginRunSetupFunctionCode, runSetupFunction, ASCIILiteral(), s_bundlerPluginRunSetupFunctionCodeLength) \ macro(bundlerPluginRunOnResolvePluginsCode, runOnResolvePlugins, ASCIILiteral(), s_bundlerPluginRunOnResolvePluginsCodeLength) \ macro(bundlerPluginRunOnLoadPluginsCode, runOnLoadPlugins, ASCIILiteral(), s_bundlerPluginRunOnLoadPluginsCodeLength) \ #define WEBCORE_FOREACH_BUNDLERPLUGIN_BUILTIN_FUNCTION_NAME(macro) \ macro(runSetupFunction) \ macro(runOnResolvePlugins) \ macro(runOnLoadPlugins) \ #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM&); WEBCORE_FOREACH_BUNDLERPLUGIN_BUILTIN_CODE(DECLARE_BUILTIN_GENERATOR) #undef DECLARE_BUILTIN_GENERATOR class BundlerPluginBuiltinsWrapper : private JSC::WeakHandleOwner { public: explicit BundlerPluginBuiltinsWrapper(JSC::VM& vm) : m_vm(vm) WEBCORE_FOREACH_BUNDLERPLUGIN_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), { }, JSC::SourceTaintedOrigin::Untainted)) WEBCORE_FOREACH_BUNDLERPLUGIN_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_BUNDLERPLUGIN_BUILTIN_CODE(EXPOSE_BUILTIN_EXECUTABLES) #undef EXPOSE_BUILTIN_EXECUTABLES WEBCORE_FOREACH_BUNDLERPLUGIN_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR) void exportNames(); private: JSC::VM& m_vm; WEBCORE_FOREACH_BUNDLERPLUGIN_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_NAMES) #define DECLARE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) \ JSC::SourceCode m_##name##Source;\ JSC::Weak m_##name##Executable; WEBCORE_FOREACH_BUNDLERPLUGIN_BUILTIN_CODE(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; #define DEFINE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \ inline JSC::UnlinkedFunctionExecutable* BundlerPluginBuiltinsWrapper::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::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_BUNDLERPLUGIN_BUILTIN_CODE(DEFINE_BUILTIN_EXECUTABLES) #undef DEFINE_BUILTIN_EXECUTABLES inline void BundlerPluginBuiltinsWrapper::exportNames() { #define EXPORT_FUNCTION_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName()); WEBCORE_FOREACH_BUNDLERPLUGIN_BUILTIN_FUNCTION_NAME(EXPORT_FUNCTION_NAME) #undef EXPORT_FUNCTION_NAME } /* ByteLengthQueuingStrategy.ts */ // highWaterMark #define WEBCORE_BUILTIN_BYTELENGTHQUEUINGSTRATEGY_HIGHWATERMARK 1 extern const char* const s_byteLengthQueuingStrategyHighWaterMarkCode; extern const int s_byteLengthQueuingStrategyHighWaterMarkCodeLength; extern const JSC::ConstructAbility s_byteLengthQueuingStrategyHighWaterMarkCodeConstructAbility; extern const JSC::ConstructorKind s_byteLengthQueuingStrategyHighWaterMarkCodeConstructorKind; extern const JSC::ImplementationVisibility s_byteLengthQueuingStrategyHighWaterMarkCodeImplementationVisibility; // size #define WEBCORE_BUILTIN_BYTELENGTHQUEUINGSTRATEGY_SIZE 1 extern const char* const s_byteLengthQueuingStrategySizeCode; extern const int s_byteLengthQueuingStrategySizeCodeLength; extern const JSC::ConstructAbility s_byteLengthQueuingStrategySizeCodeConstructAbility; extern const JSC::ConstructorKind s_byteLengthQueuingStrategySizeCodeConstructorKind; extern const JSC::ImplementationVisibility s_byteLengthQueuingStrategySizeCodeImplementationVisibility; // initializeByteLengthQueuingStrategy #define WEBCORE_BUILTIN_BYTELENGTHQUEUINGSTRATEGY_INITIALIZEBYTELENGTHQUEUINGSTRATEGY 1 extern const char* const s_byteLengthQueuingStrategyInitializeByteLengthQueuingStrategyCode; extern const int s_byteLengthQueuingStrategyInitializeByteLengthQueuingStrategyCodeLength; extern const JSC::ConstructAbility s_byteLengthQueuingStrategyInitializeByteLengthQueuingStrategyCodeConstructAbility; extern const JSC::ConstructorKind s_byteLengthQueuingStrategyInitializeByteLengthQueuingStrategyCodeConstructorKind; extern const JSC::ImplementationVisibility s_byteLengthQueuingStrategyInitializeByteLengthQueuingStrategyCodeImplementationVisibility; #define WEBCORE_FOREACH_BYTELENGTHQUEUINGSTRATEGY_BUILTIN_DATA(macro) \ macro(highWaterMark, byteLengthQueuingStrategyHighWaterMark, 0) \ macro(size, byteLengthQueuingStrategySize, 1) \ macro(initializeByteLengthQueuingStrategy, byteLengthQueuingStrategyInitializeByteLengthQueuingStrategy, 1) \ #define WEBCORE_FOREACH_BYTELENGTHQUEUINGSTRATEGY_BUILTIN_CODE(macro) \ macro(byteLengthQueuingStrategyHighWaterMarkCode, highWaterMark, "get highWaterMark"_s, s_byteLengthQueuingStrategyHighWaterMarkCodeLength) \ macro(byteLengthQueuingStrategySizeCode, size, ASCIILiteral(), s_byteLengthQueuingStrategySizeCodeLength) \ macro(byteLengthQueuingStrategyInitializeByteLengthQueuingStrategyCode, initializeByteLengthQueuingStrategy, ASCIILiteral(), s_byteLengthQueuingStrategyInitializeByteLengthQueuingStrategyCodeLength) \ #define WEBCORE_FOREACH_BYTELENGTHQUEUINGSTRATEGY_BUILTIN_FUNCTION_NAME(macro) \ macro(highWaterMark) \ macro(size) \ macro(initializeByteLengthQueuingStrategy) \ #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM&); WEBCORE_FOREACH_BYTELENGTHQUEUINGSTRATEGY_BUILTIN_CODE(DECLARE_BUILTIN_GENERATOR) #undef DECLARE_BUILTIN_GENERATOR class ByteLengthQueuingStrategyBuiltinsWrapper : private JSC::WeakHandleOwner { public: explicit ByteLengthQueuingStrategyBuiltinsWrapper(JSC::VM& vm) : m_vm(vm) WEBCORE_FOREACH_BYTELENGTHQUEUINGSTRATEGY_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), { }, JSC::SourceTaintedOrigin::Untainted)) WEBCORE_FOREACH_BYTELENGTHQUEUINGSTRATEGY_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_BYTELENGTHQUEUINGSTRATEGY_BUILTIN_CODE(EXPOSE_BUILTIN_EXECUTABLES) #undef EXPOSE_BUILTIN_EXECUTABLES WEBCORE_FOREACH_BYTELENGTHQUEUINGSTRATEGY_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR) void exportNames(); private: JSC::VM& m_vm; WEBCORE_FOREACH_BYTELENGTHQUEUINGSTRATEGY_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_NAMES) #define DECLARE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) \ JSC::SourceCode m_##name##Source;\ JSC::Weak m_##name##Executable; WEBCORE_FOREACH_BYTELENGTHQUEUINGSTRATEGY_BUILTIN_CODE(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; #define DEFINE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \ inline JSC::UnlinkedFunctionExecutable* ByteLengthQueuingStrategyBuiltinsWrapper::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::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_BYTELENGTHQUEUINGSTRATEGY_BUILTIN_CODE(DEFINE_BUILTIN_EXECUTABLES) #undef DEFINE_BUILTIN_EXECUTABLES inline void ByteLengthQueuingStrategyBuiltinsWrapper::exportNames() { #define EXPORT_FUNCTION_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName()); WEBCORE_FOREACH_BYTELENGTHQUEUINGSTRATEGY_BUILTIN_FUNCTION_NAME(EXPORT_FUNCTION_NAME) #undef EXPORT_FUNCTION_NAME } /* WritableStreamInternals.ts */ // isWritableStream #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_ISWRITABLESTREAM 1 extern const char* const s_writableStreamInternalsIsWritableStreamCode; extern const int s_writableStreamInternalsIsWritableStreamCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsIsWritableStreamCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsIsWritableStreamCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsIsWritableStreamCodeImplementationVisibility; // isWritableStreamDefaultWriter #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_ISWRITABLESTREAMDEFAULTWRITER 1 extern const char* const s_writableStreamInternalsIsWritableStreamDefaultWriterCode; extern const int s_writableStreamInternalsIsWritableStreamDefaultWriterCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsIsWritableStreamDefaultWriterCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsIsWritableStreamDefaultWriterCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsIsWritableStreamDefaultWriterCodeImplementationVisibility; // acquireWritableStreamDefaultWriter #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_ACQUIREWRITABLESTREAMDEFAULTWRITER 1 extern const char* const s_writableStreamInternalsAcquireWritableStreamDefaultWriterCode; extern const int s_writableStreamInternalsAcquireWritableStreamDefaultWriterCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsAcquireWritableStreamDefaultWriterCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsAcquireWritableStreamDefaultWriterCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsAcquireWritableStreamDefaultWriterCodeImplementationVisibility; // createWritableStream #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_CREATEWRITABLESTREAM 1 extern const char* const s_writableStreamInternalsCreateWritableStreamCode; extern const int s_writableStreamInternalsCreateWritableStreamCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsCreateWritableStreamCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsCreateWritableStreamCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsCreateWritableStreamCodeImplementationVisibility; // createInternalWritableStreamFromUnderlyingSink #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_CREATEINTERNALWRITABLESTREAMFROMUNDERLYINGSINK 1 extern const char* const s_writableStreamInternalsCreateInternalWritableStreamFromUnderlyingSinkCode; extern const int s_writableStreamInternalsCreateInternalWritableStreamFromUnderlyingSinkCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsCreateInternalWritableStreamFromUnderlyingSinkCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsCreateInternalWritableStreamFromUnderlyingSinkCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsCreateInternalWritableStreamFromUnderlyingSinkCodeImplementationVisibility; // initializeWritableStreamSlots #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_INITIALIZEWRITABLESTREAMSLOTS 1 extern const char* const s_writableStreamInternalsInitializeWritableStreamSlotsCode; extern const int s_writableStreamInternalsInitializeWritableStreamSlotsCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsInitializeWritableStreamSlotsCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsInitializeWritableStreamSlotsCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsInitializeWritableStreamSlotsCodeImplementationVisibility; // writableStreamCloseForBindings #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMCLOSEFORBINDINGS 1 extern const char* const s_writableStreamInternalsWritableStreamCloseForBindingsCode; extern const int s_writableStreamInternalsWritableStreamCloseForBindingsCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamCloseForBindingsCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamCloseForBindingsCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamCloseForBindingsCodeImplementationVisibility; // writableStreamAbortForBindings #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMABORTFORBINDINGS 1 extern const char* const s_writableStreamInternalsWritableStreamAbortForBindingsCode; extern const int s_writableStreamInternalsWritableStreamAbortForBindingsCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamAbortForBindingsCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamAbortForBindingsCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamAbortForBindingsCodeImplementationVisibility; // isWritableStreamLocked #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_ISWRITABLESTREAMLOCKED 1 extern const char* const s_writableStreamInternalsIsWritableStreamLockedCode; extern const int s_writableStreamInternalsIsWritableStreamLockedCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsIsWritableStreamLockedCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsIsWritableStreamLockedCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsIsWritableStreamLockedCodeImplementationVisibility; // setUpWritableStreamDefaultWriter #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_SETUPWRITABLESTREAMDEFAULTWRITER 1 extern const char* const s_writableStreamInternalsSetUpWritableStreamDefaultWriterCode; extern const int s_writableStreamInternalsSetUpWritableStreamDefaultWriterCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsSetUpWritableStreamDefaultWriterCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsSetUpWritableStreamDefaultWriterCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsSetUpWritableStreamDefaultWriterCodeImplementationVisibility; // writableStreamAbort #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMABORT 1 extern const char* const s_writableStreamInternalsWritableStreamAbortCode; extern const int s_writableStreamInternalsWritableStreamAbortCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamAbortCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamAbortCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamAbortCodeImplementationVisibility; // writableStreamClose #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMCLOSE 1 extern const char* const s_writableStreamInternalsWritableStreamCloseCode; extern const int s_writableStreamInternalsWritableStreamCloseCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamCloseCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamCloseCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamCloseCodeImplementationVisibility; // writableStreamAddWriteRequest #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMADDWRITEREQUEST 1 extern const char* const s_writableStreamInternalsWritableStreamAddWriteRequestCode; extern const int s_writableStreamInternalsWritableStreamAddWriteRequestCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamAddWriteRequestCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamAddWriteRequestCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamAddWriteRequestCodeImplementationVisibility; // writableStreamCloseQueuedOrInFlight #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMCLOSEQUEUEDORINFLIGHT 1 extern const char* const s_writableStreamInternalsWritableStreamCloseQueuedOrInFlightCode; extern const int s_writableStreamInternalsWritableStreamCloseQueuedOrInFlightCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamCloseQueuedOrInFlightCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamCloseQueuedOrInFlightCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamCloseQueuedOrInFlightCodeImplementationVisibility; // writableStreamDealWithRejection #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMDEALWITHREJECTION 1 extern const char* const s_writableStreamInternalsWritableStreamDealWithRejectionCode; extern const int s_writableStreamInternalsWritableStreamDealWithRejectionCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDealWithRejectionCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDealWithRejectionCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDealWithRejectionCodeImplementationVisibility; // writableStreamFinishErroring #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMFINISHERRORING 1 extern const char* const s_writableStreamInternalsWritableStreamFinishErroringCode; extern const int s_writableStreamInternalsWritableStreamFinishErroringCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamFinishErroringCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamFinishErroringCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamFinishErroringCodeImplementationVisibility; // writableStreamFinishInFlightClose #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMFINISHINFLIGHTCLOSE 1 extern const char* const s_writableStreamInternalsWritableStreamFinishInFlightCloseCode; extern const int s_writableStreamInternalsWritableStreamFinishInFlightCloseCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamFinishInFlightCloseCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamFinishInFlightCloseCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamFinishInFlightCloseCodeImplementationVisibility; // writableStreamFinishInFlightCloseWithError #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMFINISHINFLIGHTCLOSEWITHERROR 1 extern const char* const s_writableStreamInternalsWritableStreamFinishInFlightCloseWithErrorCode; extern const int s_writableStreamInternalsWritableStreamFinishInFlightCloseWithErrorCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamFinishInFlightCloseWithErrorCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamFinishInFlightCloseWithErrorCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamFinishInFlightCloseWithErrorCodeImplementationVisibility; // writableStreamFinishInFlightWrite #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMFINISHINFLIGHTWRITE 1 extern const char* const s_writableStreamInternalsWritableStreamFinishInFlightWriteCode; extern const int s_writableStreamInternalsWritableStreamFinishInFlightWriteCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamFinishInFlightWriteCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamFinishInFlightWriteCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamFinishInFlightWriteCodeImplementationVisibility; // writableStreamFinishInFlightWriteWithError #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMFINISHINFLIGHTWRITEWITHERROR 1 extern const char* const s_writableStreamInternalsWritableStreamFinishInFlightWriteWithErrorCode; extern const int s_writableStreamInternalsWritableStreamFinishInFlightWriteWithErrorCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamFinishInFlightWriteWithErrorCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamFinishInFlightWriteWithErrorCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamFinishInFlightWriteWithErrorCodeImplementationVisibility; // writableStreamHasOperationMarkedInFlight #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMHASOPERATIONMARKEDINFLIGHT 1 extern const char* const s_writableStreamInternalsWritableStreamHasOperationMarkedInFlightCode; extern const int s_writableStreamInternalsWritableStreamHasOperationMarkedInFlightCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamHasOperationMarkedInFlightCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamHasOperationMarkedInFlightCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamHasOperationMarkedInFlightCodeImplementationVisibility; // writableStreamMarkCloseRequestInFlight #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMMARKCLOSEREQUESTINFLIGHT 1 extern const char* const s_writableStreamInternalsWritableStreamMarkCloseRequestInFlightCode; extern const int s_writableStreamInternalsWritableStreamMarkCloseRequestInFlightCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamMarkCloseRequestInFlightCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamMarkCloseRequestInFlightCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamMarkCloseRequestInFlightCodeImplementationVisibility; // writableStreamMarkFirstWriteRequestInFlight #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMMARKFIRSTWRITEREQUESTINFLIGHT 1 extern const char* const s_writableStreamInternalsWritableStreamMarkFirstWriteRequestInFlightCode; extern const int s_writableStreamInternalsWritableStreamMarkFirstWriteRequestInFlightCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamMarkFirstWriteRequestInFlightCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamMarkFirstWriteRequestInFlightCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamMarkFirstWriteRequestInFlightCodeImplementationVisibility; // writableStreamRejectCloseAndClosedPromiseIfNeeded #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMREJECTCLOSEANDCLOSEDPROMISEIFNEEDED 1 extern const char* const s_writableStreamInternalsWritableStreamRejectCloseAndClosedPromiseIfNeededCode; extern const int s_writableStreamInternalsWritableStreamRejectCloseAndClosedPromiseIfNeededCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamRejectCloseAndClosedPromiseIfNeededCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamRejectCloseAndClosedPromiseIfNeededCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamRejectCloseAndClosedPromiseIfNeededCodeImplementationVisibility; // writableStreamStartErroring #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMSTARTERRORING 1 extern const char* const s_writableStreamInternalsWritableStreamStartErroringCode; extern const int s_writableStreamInternalsWritableStreamStartErroringCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamStartErroringCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamStartErroringCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamStartErroringCodeImplementationVisibility; // writableStreamUpdateBackpressure #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMUPDATEBACKPRESSURE 1 extern const char* const s_writableStreamInternalsWritableStreamUpdateBackpressureCode; extern const int s_writableStreamInternalsWritableStreamUpdateBackpressureCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamUpdateBackpressureCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamUpdateBackpressureCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamUpdateBackpressureCodeImplementationVisibility; // writableStreamDefaultWriterAbort #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMDEFAULTWRITERABORT 1 extern const char* const s_writableStreamInternalsWritableStreamDefaultWriterAbortCode; extern const int s_writableStreamInternalsWritableStreamDefaultWriterAbortCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultWriterAbortCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultWriterAbortCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultWriterAbortCodeImplementationVisibility; // writableStreamDefaultWriterClose #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMDEFAULTWRITERCLOSE 1 extern const char* const s_writableStreamInternalsWritableStreamDefaultWriterCloseCode; extern const int s_writableStreamInternalsWritableStreamDefaultWriterCloseCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultWriterCloseCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultWriterCloseCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultWriterCloseCodeImplementationVisibility; // writableStreamDefaultWriterCloseWithErrorPropagation #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMDEFAULTWRITERCLOSEWITHERRORPROPAGATION 1 extern const char* const s_writableStreamInternalsWritableStreamDefaultWriterCloseWithErrorPropagationCode; extern const int s_writableStreamInternalsWritableStreamDefaultWriterCloseWithErrorPropagationCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultWriterCloseWithErrorPropagationCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultWriterCloseWithErrorPropagationCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultWriterCloseWithErrorPropagationCodeImplementationVisibility; // writableStreamDefaultWriterEnsureClosedPromiseRejected #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMDEFAULTWRITERENSURECLOSEDPROMISEREJECTED 1 extern const char* const s_writableStreamInternalsWritableStreamDefaultWriterEnsureClosedPromiseRejectedCode; extern const int s_writableStreamInternalsWritableStreamDefaultWriterEnsureClosedPromiseRejectedCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultWriterEnsureClosedPromiseRejectedCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultWriterEnsureClosedPromiseRejectedCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultWriterEnsureClosedPromiseRejectedCodeImplementationVisibility; // writableStreamDefaultWriterEnsureReadyPromiseRejected #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMDEFAULTWRITERENSUREREADYPROMISEREJECTED 1 extern const char* const s_writableStreamInternalsWritableStreamDefaultWriterEnsureReadyPromiseRejectedCode; extern const int s_writableStreamInternalsWritableStreamDefaultWriterEnsureReadyPromiseRejectedCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultWriterEnsureReadyPromiseRejectedCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultWriterEnsureReadyPromiseRejectedCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultWriterEnsureReadyPromiseRejectedCodeImplementationVisibility; // writableStreamDefaultWriterGetDesiredSize #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMDEFAULTWRITERGETDESIREDSIZE 1 extern const char* const s_writableStreamInternalsWritableStreamDefaultWriterGetDesiredSizeCode; extern const int s_writableStreamInternalsWritableStreamDefaultWriterGetDesiredSizeCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultWriterGetDesiredSizeCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultWriterGetDesiredSizeCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultWriterGetDesiredSizeCodeImplementationVisibility; // writableStreamDefaultWriterRelease #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMDEFAULTWRITERRELEASE 1 extern const char* const s_writableStreamInternalsWritableStreamDefaultWriterReleaseCode; extern const int s_writableStreamInternalsWritableStreamDefaultWriterReleaseCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultWriterReleaseCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultWriterReleaseCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultWriterReleaseCodeImplementationVisibility; // writableStreamDefaultWriterWrite #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMDEFAULTWRITERWRITE 1 extern const char* const s_writableStreamInternalsWritableStreamDefaultWriterWriteCode; extern const int s_writableStreamInternalsWritableStreamDefaultWriterWriteCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultWriterWriteCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultWriterWriteCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultWriterWriteCodeImplementationVisibility; // setUpWritableStreamDefaultController #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_SETUPWRITABLESTREAMDEFAULTCONTROLLER 1 extern const char* const s_writableStreamInternalsSetUpWritableStreamDefaultControllerCode; extern const int s_writableStreamInternalsSetUpWritableStreamDefaultControllerCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsSetUpWritableStreamDefaultControllerCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsSetUpWritableStreamDefaultControllerCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsSetUpWritableStreamDefaultControllerCodeImplementationVisibility; // writableStreamDefaultControllerStart #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMDEFAULTCONTROLLERSTART 1 extern const char* const s_writableStreamInternalsWritableStreamDefaultControllerStartCode; extern const int s_writableStreamInternalsWritableStreamDefaultControllerStartCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultControllerStartCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultControllerStartCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultControllerStartCodeImplementationVisibility; // setUpWritableStreamDefaultControllerFromUnderlyingSink #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_SETUPWRITABLESTREAMDEFAULTCONTROLLERFROMUNDERLYINGSINK 1 extern const char* const s_writableStreamInternalsSetUpWritableStreamDefaultControllerFromUnderlyingSinkCode; extern const int s_writableStreamInternalsSetUpWritableStreamDefaultControllerFromUnderlyingSinkCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsSetUpWritableStreamDefaultControllerFromUnderlyingSinkCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsSetUpWritableStreamDefaultControllerFromUnderlyingSinkCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsSetUpWritableStreamDefaultControllerFromUnderlyingSinkCodeImplementationVisibility; // writableStreamDefaultControllerAdvanceQueueIfNeeded #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMDEFAULTCONTROLLERADVANCEQUEUEIFNEEDED 1 extern const char* const s_writableStreamInternalsWritableStreamDefaultControllerAdvanceQueueIfNeededCode; extern const int s_writableStreamInternalsWritableStreamDefaultControllerAdvanceQueueIfNeededCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultControllerAdvanceQueueIfNeededCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultControllerAdvanceQueueIfNeededCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultControllerAdvanceQueueIfNeededCodeImplementationVisibility; // isCloseSentinel #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_ISCLOSESENTINEL 1 extern const char* const s_writableStreamInternalsIsCloseSentinelCode; extern const int s_writableStreamInternalsIsCloseSentinelCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsIsCloseSentinelCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsIsCloseSentinelCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsIsCloseSentinelCodeImplementationVisibility; // writableStreamDefaultControllerClearAlgorithms #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMDEFAULTCONTROLLERCLEARALGORITHMS 1 extern const char* const s_writableStreamInternalsWritableStreamDefaultControllerClearAlgorithmsCode; extern const int s_writableStreamInternalsWritableStreamDefaultControllerClearAlgorithmsCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultControllerClearAlgorithmsCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultControllerClearAlgorithmsCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultControllerClearAlgorithmsCodeImplementationVisibility; // writableStreamDefaultControllerClose #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMDEFAULTCONTROLLERCLOSE 1 extern const char* const s_writableStreamInternalsWritableStreamDefaultControllerCloseCode; extern const int s_writableStreamInternalsWritableStreamDefaultControllerCloseCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultControllerCloseCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultControllerCloseCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultControllerCloseCodeImplementationVisibility; // writableStreamDefaultControllerError #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMDEFAULTCONTROLLERERROR 1 extern const char* const s_writableStreamInternalsWritableStreamDefaultControllerErrorCode; extern const int s_writableStreamInternalsWritableStreamDefaultControllerErrorCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultControllerErrorCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultControllerErrorCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultControllerErrorCodeImplementationVisibility; // writableStreamDefaultControllerErrorIfNeeded #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMDEFAULTCONTROLLERERRORIFNEEDED 1 extern const char* const s_writableStreamInternalsWritableStreamDefaultControllerErrorIfNeededCode; extern const int s_writableStreamInternalsWritableStreamDefaultControllerErrorIfNeededCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultControllerErrorIfNeededCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultControllerErrorIfNeededCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultControllerErrorIfNeededCodeImplementationVisibility; // writableStreamDefaultControllerGetBackpressure #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMDEFAULTCONTROLLERGETBACKPRESSURE 1 extern const char* const s_writableStreamInternalsWritableStreamDefaultControllerGetBackpressureCode; extern const int s_writableStreamInternalsWritableStreamDefaultControllerGetBackpressureCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultControllerGetBackpressureCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultControllerGetBackpressureCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultControllerGetBackpressureCodeImplementationVisibility; // writableStreamDefaultControllerGetChunkSize #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMDEFAULTCONTROLLERGETCHUNKSIZE 1 extern const char* const s_writableStreamInternalsWritableStreamDefaultControllerGetChunkSizeCode; extern const int s_writableStreamInternalsWritableStreamDefaultControllerGetChunkSizeCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultControllerGetChunkSizeCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultControllerGetChunkSizeCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultControllerGetChunkSizeCodeImplementationVisibility; // writableStreamDefaultControllerGetDesiredSize #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMDEFAULTCONTROLLERGETDESIREDSIZE 1 extern const char* const s_writableStreamInternalsWritableStreamDefaultControllerGetDesiredSizeCode; extern const int s_writableStreamInternalsWritableStreamDefaultControllerGetDesiredSizeCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultControllerGetDesiredSizeCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultControllerGetDesiredSizeCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultControllerGetDesiredSizeCodeImplementationVisibility; // writableStreamDefaultControllerProcessClose #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMDEFAULTCONTROLLERPROCESSCLOSE 1 extern const char* const s_writableStreamInternalsWritableStreamDefaultControllerProcessCloseCode; extern const int s_writableStreamInternalsWritableStreamDefaultControllerProcessCloseCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultControllerProcessCloseCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultControllerProcessCloseCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultControllerProcessCloseCodeImplementationVisibility; // writableStreamDefaultControllerProcessWrite #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMDEFAULTCONTROLLERPROCESSWRITE 1 extern const char* const s_writableStreamInternalsWritableStreamDefaultControllerProcessWriteCode; extern const int s_writableStreamInternalsWritableStreamDefaultControllerProcessWriteCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultControllerProcessWriteCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultControllerProcessWriteCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultControllerProcessWriteCodeImplementationVisibility; // writableStreamDefaultControllerWrite #define WEBCORE_BUILTIN_WRITABLESTREAMINTERNALS_WRITABLESTREAMDEFAULTCONTROLLERWRITE 1 extern const char* const s_writableStreamInternalsWritableStreamDefaultControllerWriteCode; extern const int s_writableStreamInternalsWritableStreamDefaultControllerWriteCodeLength; extern const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultControllerWriteCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultControllerWriteCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultControllerWriteCodeImplementationVisibility; #define WEBCORE_FOREACH_WRITABLESTREAMINTERNALS_BUILTIN_DATA(macro) \ macro(isWritableStream, writableStreamInternalsIsWritableStream, 1) \ macro(isWritableStreamDefaultWriter, writableStreamInternalsIsWritableStreamDefaultWriter, 1) \ macro(acquireWritableStreamDefaultWriter, writableStreamInternalsAcquireWritableStreamDefaultWriter, 1) \ macro(createWritableStream, writableStreamInternalsCreateWritableStream, 7) \ macro(createInternalWritableStreamFromUnderlyingSink, writableStreamInternalsCreateInternalWritableStreamFromUnderlyingSink, 2) \ macro(initializeWritableStreamSlots, writableStreamInternalsInitializeWritableStreamSlots, 2) \ macro(writableStreamCloseForBindings, writableStreamInternalsWritableStreamCloseForBindings, 1) \ macro(writableStreamAbortForBindings, writableStreamInternalsWritableStreamAbortForBindings, 2) \ macro(isWritableStreamLocked, writableStreamInternalsIsWritableStreamLocked, 1) \ macro(setUpWritableStreamDefaultWriter, writableStreamInternalsSetUpWritableStreamDefaultWriter, 2) \ macro(writableStreamAbort, writableStreamInternalsWritableStreamAbort, 2) \ macro(writableStreamClose, writableStreamInternalsWritableStreamClose, 1) \ macro(writableStreamAddWriteRequest, writableStreamInternalsWritableStreamAddWriteRequest, 1) \ macro(writableStreamCloseQueuedOrInFlight, writableStreamInternalsWritableStreamCloseQueuedOrInFlight, 1) \ macro(writableStreamDealWithRejection, writableStreamInternalsWritableStreamDealWithRejection, 2) \ macro(writableStreamFinishErroring, writableStreamInternalsWritableStreamFinishErroring, 1) \ macro(writableStreamFinishInFlightClose, writableStreamInternalsWritableStreamFinishInFlightClose, 1) \ macro(writableStreamFinishInFlightCloseWithError, writableStreamInternalsWritableStreamFinishInFlightCloseWithError, 2) \ macro(writableStreamFinishInFlightWrite, writableStreamInternalsWritableStreamFinishInFlightWrite, 1) \ macro(writableStreamFinishInFlightWriteWithError, writableStreamInternalsWritableStreamFinishInFlightWriteWithError, 2) \ macro(writableStreamHasOperationMarkedInFlight, writableStreamInternalsWritableStreamHasOperationMarkedInFlight, 1) \ macro(writableStreamMarkCloseRequestInFlight, writableStreamInternalsWritableStreamMarkCloseRequestInFlight, 1) \ macro(writableStreamMarkFirstWriteRequestInFlight, writableStreamInternalsWritableStreamMarkFirstWriteRequestInFlight, 1) \ macro(writableStreamRejectCloseAndClosedPromiseIfNeeded, writableStreamInternalsWritableStreamRejectCloseAndClosedPromiseIfNeeded, 1) \ macro(writableStreamStartErroring, writableStreamInternalsWritableStreamStartErroring, 2) \ macro(writableStreamUpdateBackpressure, writableStreamInternalsWritableStreamUpdateBackpressure, 2) \ macro(writableStreamDefaultWriterAbort, writableStreamInternalsWritableStreamDefaultWriterAbort, 2) \ macro(writableStreamDefaultWriterClose, writableStreamInternalsWritableStreamDefaultWriterClose, 1) \ macro(writableStreamDefaultWriterCloseWithErrorPropagation, writableStreamInternalsWritableStreamDefaultWriterCloseWithErrorPropagation, 1) \ macro(writableStreamDefaultWriterEnsureClosedPromiseRejected, writableStreamInternalsWritableStreamDefaultWriterEnsureClosedPromiseRejected, 2) \ macro(writableStreamDefaultWriterEnsureReadyPromiseRejected, writableStreamInternalsWritableStreamDefaultWriterEnsureReadyPromiseRejected, 2) \ macro(writableStreamDefaultWriterGetDesiredSize, writableStreamInternalsWritableStreamDefaultWriterGetDesiredSize, 1) \ macro(writableStreamDefaultWriterRelease, writableStreamInternalsWritableStreamDefaultWriterRelease, 1) \ macro(writableStreamDefaultWriterWrite, writableStreamInternalsWritableStreamDefaultWriterWrite, 2) \ macro(setUpWritableStreamDefaultController, writableStreamInternalsSetUpWritableStreamDefaultController, 9) \ macro(writableStreamDefaultControllerStart, writableStreamInternalsWritableStreamDefaultControllerStart, 1) \ macro(setUpWritableStreamDefaultControllerFromUnderlyingSink, writableStreamInternalsSetUpWritableStreamDefaultControllerFromUnderlyingSink, 6) \ macro(writableStreamDefaultControllerAdvanceQueueIfNeeded, writableStreamInternalsWritableStreamDefaultControllerAdvanceQueueIfNeeded, 1) \ macro(isCloseSentinel, writableStreamInternalsIsCloseSentinel, 0) \ macro(writableStreamDefaultControllerClearAlgorithms, writableStreamInternalsWritableStreamDefaultControllerClearAlgorithms, 1) \ macro(writableStreamDefaultControllerClose, writableStreamInternalsWritableStreamDefaultControllerClose, 1) \ macro(writableStreamDefaultControllerError, writableStreamInternalsWritableStreamDefaultControllerError, 2) \ macro(writableStreamDefaultControllerErrorIfNeeded, writableStreamInternalsWritableStreamDefaultControllerErrorIfNeeded, 2) \ macro(writableStreamDefaultControllerGetBackpressure, writableStreamInternalsWritableStreamDefaultControllerGetBackpressure, 1) \ macro(writableStreamDefaultControllerGetChunkSize, writableStreamInternalsWritableStreamDefaultControllerGetChunkSize, 2) \ macro(writableStreamDefaultControllerGetDesiredSize, writableStreamInternalsWritableStreamDefaultControllerGetDesiredSize, 1) \ macro(writableStreamDefaultControllerProcessClose, writableStreamInternalsWritableStreamDefaultControllerProcessClose, 1) \ macro(writableStreamDefaultControllerProcessWrite, writableStreamInternalsWritableStreamDefaultControllerProcessWrite, 2) \ macro(writableStreamDefaultControllerWrite, writableStreamInternalsWritableStreamDefaultControllerWrite, 3) \ #define WEBCORE_FOREACH_WRITABLESTREAMINTERNALS_BUILTIN_CODE(macro) \ macro(writableStreamInternalsIsWritableStreamCode, isWritableStream, ASCIILiteral(), s_writableStreamInternalsIsWritableStreamCodeLength) \ macro(writableStreamInternalsIsWritableStreamDefaultWriterCode, isWritableStreamDefaultWriter, ASCIILiteral(), s_writableStreamInternalsIsWritableStreamDefaultWriterCodeLength) \ macro(writableStreamInternalsAcquireWritableStreamDefaultWriterCode, acquireWritableStreamDefaultWriter, ASCIILiteral(), s_writableStreamInternalsAcquireWritableStreamDefaultWriterCodeLength) \ macro(writableStreamInternalsCreateWritableStreamCode, createWritableStream, ASCIILiteral(), s_writableStreamInternalsCreateWritableStreamCodeLength) \ macro(writableStreamInternalsCreateInternalWritableStreamFromUnderlyingSinkCode, createInternalWritableStreamFromUnderlyingSink, ASCIILiteral(), s_writableStreamInternalsCreateInternalWritableStreamFromUnderlyingSinkCodeLength) \ macro(writableStreamInternalsInitializeWritableStreamSlotsCode, initializeWritableStreamSlots, ASCIILiteral(), s_writableStreamInternalsInitializeWritableStreamSlotsCodeLength) \ macro(writableStreamInternalsWritableStreamCloseForBindingsCode, writableStreamCloseForBindings, ASCIILiteral(), s_writableStreamInternalsWritableStreamCloseForBindingsCodeLength) \ macro(writableStreamInternalsWritableStreamAbortForBindingsCode, writableStreamAbortForBindings, ASCIILiteral(), s_writableStreamInternalsWritableStreamAbortForBindingsCodeLength) \ macro(writableStreamInternalsIsWritableStreamLockedCode, isWritableStreamLocked, ASCIILiteral(), s_writableStreamInternalsIsWritableStreamLockedCodeLength) \ macro(writableStreamInternalsSetUpWritableStreamDefaultWriterCode, setUpWritableStreamDefaultWriter, ASCIILiteral(), s_writableStreamInternalsSetUpWritableStreamDefaultWriterCodeLength) \ macro(writableStreamInternalsWritableStreamAbortCode, writableStreamAbort, ASCIILiteral(), s_writableStreamInternalsWritableStreamAbortCodeLength) \ macro(writableStreamInternalsWritableStreamCloseCode, writableStreamClose, ASCIILiteral(), s_writableStreamInternalsWritableStreamCloseCodeLength) \ macro(writableStreamInternalsWritableStreamAddWriteRequestCode, writableStreamAddWriteRequest, ASCIILiteral(), s_writableStreamInternalsWritableStreamAddWriteRequestCodeLength) \ macro(writableStreamInternalsWritableStreamCloseQueuedOrInFlightCode, writableStreamCloseQueuedOrInFlight, ASCIILiteral(), s_writableStreamInternalsWritableStreamCloseQueuedOrInFlightCodeLength) \ macro(writableStreamInternalsWritableStreamDealWithRejectionCode, writableStreamDealWithRejection, ASCIILiteral(), s_writableStreamInternalsWritableStreamDealWithRejectionCodeLength) \ macro(writableStreamInternalsWritableStreamFinishErroringCode, writableStreamFinishErroring, ASCIILiteral(), s_writableStreamInternalsWritableStreamFinishErroringCodeLength) \ macro(writableStreamInternalsWritableStreamFinishInFlightCloseCode, writableStreamFinishInFlightClose, ASCIILiteral(), s_writableStreamInternalsWritableStreamFinishInFlightCloseCodeLength) \ macro(writableStreamInternalsWritableStreamFinishInFlightCloseWithErrorCode, writableStreamFinishInFlightCloseWithError, ASCIILiteral(), s_writableStreamInternalsWritableStreamFinishInFlightCloseWithErrorCodeLength) \ macro(writableStreamInternalsWritableStreamFinishInFlightWriteCode, writableStreamFinishInFlightWrite, ASCIILiteral(), s_writableStreamInternalsWritableStreamFinishInFlightWriteCodeLength) \ macro(writableStreamInternalsWritableStreamFinishInFlightWriteWithErrorCode, writableStreamFinishInFlightWriteWithError, ASCIILiteral(), s_writableStreamInternalsWritableStreamFinishInFlightWriteWithErrorCodeLength) \ macro(writableStreamInternalsWritableStreamHasOperationMarkedInFlightCode, writableStreamHasOperationMarkedInFlight, ASCIILiteral(), s_writableStreamInternalsWritableStreamHasOperationMarkedInFlightCodeLength) \ macro(writableStreamInternalsWritableStreamMarkCloseRequestInFlightCode, writableStreamMarkCloseRequestInFlight, ASCIILiteral(), s_writableStreamInternalsWritableStreamMarkCloseRequestInFlightCodeLength) \ macro(writableStreamInternalsWritableStreamMarkFirstWriteRequestInFlightCode, writableStreamMarkFirstWriteRequestInFlight, ASCIILiteral(), s_writableStreamInternalsWritableStreamMarkFirstWriteRequestInFlightCodeLength) \ macro(writableStreamInternalsWritableStreamRejectCloseAndClosedPromiseIfNeededCode, writableStreamRejectCloseAndClosedPromiseIfNeeded, ASCIILiteral(), s_writableStreamInternalsWritableStreamRejectCloseAndClosedPromiseIfNeededCodeLength) \ macro(writableStreamInternalsWritableStreamStartErroringCode, writableStreamStartErroring, ASCIILiteral(), s_writableStreamInternalsWritableStreamStartErroringCodeLength) \ macro(writableStreamInternalsWritableStreamUpdateBackpressureCode, writableStreamUpdateBackpressure, ASCIILiteral(), s_writableStreamInternalsWritableStreamUpdateBackpressureCodeLength) \ macro(writableStreamInternalsWritableStreamDefaultWriterAbortCode, writableStreamDefaultWriterAbort, ASCIILiteral(), s_writableStreamInternalsWritableStreamDefaultWriterAbortCodeLength) \ macro(writableStreamInternalsWritableStreamDefaultWriterCloseCode, writableStreamDefaultWriterClose, ASCIILiteral(), s_writableStreamInternalsWritableStreamDefaultWriterCloseCodeLength) \ macro(writableStreamInternalsWritableStreamDefaultWriterCloseWithErrorPropagationCode, writableStreamDefaultWriterCloseWithErrorPropagation, ASCIILiteral(), s_writableStreamInternalsWritableStreamDefaultWriterCloseWithErrorPropagationCodeLength) \ macro(writableStreamInternalsWritableStreamDefaultWriterEnsureClosedPromiseRejectedCode, writableStreamDefaultWriterEnsureClosedPromiseRejected, ASCIILiteral(), s_writableStreamInternalsWritableStreamDefaultWriterEnsureClosedPromiseRejectedCodeLength) \ macro(writableStreamInternalsWritableStreamDefaultWriterEnsureReadyPromiseRejectedCode, writableStreamDefaultWriterEnsureReadyPromiseRejected, ASCIILiteral(), s_writableStreamInternalsWritableStreamDefaultWriterEnsureReadyPromiseRejectedCodeLength) \ macro(writableStreamInternalsWritableStreamDefaultWriterGetDesiredSizeCode, writableStreamDefaultWriterGetDesiredSize, ASCIILiteral(), s_writableStreamInternalsWritableStreamDefaultWriterGetDesiredSizeCodeLength) \ macro(writableStreamInternalsWritableStreamDefaultWriterReleaseCode, writableStreamDefaultWriterRelease, ASCIILiteral(), s_writableStreamInternalsWritableStreamDefaultWriterReleaseCodeLength) \ macro(writableStreamInternalsWritableStreamDefaultWriterWriteCode, writableStreamDefaultWriterWrite, ASCIILiteral(), s_writableStreamInternalsWritableStreamDefaultWriterWriteCodeLength) \ macro(writableStreamInternalsSetUpWritableStreamDefaultControllerCode, setUpWritableStreamDefaultController, ASCIILiteral(), s_writableStreamInternalsSetUpWritableStreamDefaultControllerCodeLength) \ macro(writableStreamInternalsWritableStreamDefaultControllerStartCode, writableStreamDefaultControllerStart, ASCIILiteral(), s_writableStreamInternalsWritableStreamDefaultControllerStartCodeLength) \ macro(writableStreamInternalsSetUpWritableStreamDefaultControllerFromUnderlyingSinkCode, setUpWritableStreamDefaultControllerFromUnderlyingSink, ASCIILiteral(), s_writableStreamInternalsSetUpWritableStreamDefaultControllerFromUnderlyingSinkCodeLength) \ macro(writableStreamInternalsWritableStreamDefaultControllerAdvanceQueueIfNeededCode, writableStreamDefaultControllerAdvanceQueueIfNeeded, ASCIILiteral(), s_writableStreamInternalsWritableStreamDefaultControllerAdvanceQueueIfNeededCodeLength) \ macro(writableStreamInternalsIsCloseSentinelCode, isCloseSentinel, ASCIILiteral(), s_writableStreamInternalsIsCloseSentinelCodeLength) \ macro(writableStreamInternalsWritableStreamDefaultControllerClearAlgorithmsCode, writableStreamDefaultControllerClearAlgorithms, ASCIILiteral(), s_writableStreamInternalsWritableStreamDefaultControllerClearAlgorithmsCodeLength) \ macro(writableStreamInternalsWritableStreamDefaultControllerCloseCode, writableStreamDefaultControllerClose, ASCIILiteral(), s_writableStreamInternalsWritableStreamDefaultControllerCloseCodeLength) \ macro(writableStreamInternalsWritableStreamDefaultControllerErrorCode, writableStreamDefaultControllerError, ASCIILiteral(), s_writableStreamInternalsWritableStreamDefaultControllerErrorCodeLength) \ macro(writableStreamInternalsWritableStreamDefaultControllerErrorIfNeededCode, writableStreamDefaultControllerErrorIfNeeded, ASCIILiteral(), s_writableStreamInternalsWritableStreamDefaultControllerErrorIfNeededCodeLength) \ macro(writableStreamInternalsWritableStreamDefaultControllerGetBackpressureCode, writableStreamDefaultControllerGetBackpressure, ASCIILiteral(), s_writableStreamInternalsWritableStreamDefaultControllerGetBackpressureCodeLength) \ macro(writableStreamInternalsWritableStreamDefaultControllerGetChunkSizeCode, writableStreamDefaultControllerGetChunkSize, ASCIILiteral(), s_writableStreamInternalsWritableStreamDefaultControllerGetChunkSizeCodeLength) \ macro(writableStreamInternalsWritableStreamDefaultControllerGetDesiredSizeCode, writableStreamDefaultControllerGetDesiredSize, ASCIILiteral(), s_writableStreamInternalsWritableStreamDefaultControllerGetDesiredSizeCodeLength) \ macro(writableStreamInternalsWritableStreamDefaultControllerProcessCloseCode, writableStreamDefaultControllerProcessClose, ASCIILiteral(), s_writableStreamInternalsWritableStreamDefaultControllerProcessCloseCodeLength) \ macro(writableStreamInternalsWritableStreamDefaultControllerProcessWriteCode, writableStreamDefaultControllerProcessWrite, ASCIILiteral(), s_writableStreamInternalsWritableStreamDefaultControllerProcessWriteCodeLength) \ macro(writableStreamInternalsWritableStreamDefaultControllerWriteCode, writableStreamDefaultControllerWrite, ASCIILiteral(), s_writableStreamInternalsWritableStreamDefaultControllerWriteCodeLength) \ #define WEBCORE_FOREACH_WRITABLESTREAMINTERNALS_BUILTIN_FUNCTION_NAME(macro) \ macro(isWritableStream) \ macro(isWritableStreamDefaultWriter) \ macro(acquireWritableStreamDefaultWriter) \ macro(createWritableStream) \ macro(createInternalWritableStreamFromUnderlyingSink) \ macro(initializeWritableStreamSlots) \ macro(writableStreamCloseForBindings) \ macro(writableStreamAbortForBindings) \ macro(isWritableStreamLocked) \ macro(setUpWritableStreamDefaultWriter) \ macro(writableStreamAbort) \ macro(writableStreamClose) \ macro(writableStreamAddWriteRequest) \ macro(writableStreamCloseQueuedOrInFlight) \ macro(writableStreamDealWithRejection) \ macro(writableStreamFinishErroring) \ macro(writableStreamFinishInFlightClose) \ macro(writableStreamFinishInFlightCloseWithError) \ macro(writableStreamFinishInFlightWrite) \ macro(writableStreamFinishInFlightWriteWithError) \ macro(writableStreamHasOperationMarkedInFlight) \ macro(writableStreamMarkCloseRequestInFlight) \ macro(writableStreamMarkFirstWriteRequestInFlight) \ macro(writableStreamRejectCloseAndClosedPromiseIfNeeded) \ macro(writableStreamStartErroring) \ macro(writableStreamUpdateBackpressure) \ macro(writableStreamDefaultWriterAbort) \ macro(writableStreamDefaultWriterClose) \ macro(writableStreamDefaultWriterCloseWithErrorPropagation) \ macro(writableStreamDefaultWriterEnsureClosedPromiseRejected) \ macro(writableStreamDefaultWriterEnsureReadyPromiseRejected) \ macro(writableStreamDefaultWriterGetDesiredSize) \ macro(writableStreamDefaultWriterRelease) \ macro(writableStreamDefaultWriterWrite) \ macro(setUpWritableStreamDefaultController) \ macro(writableStreamDefaultControllerStart) \ macro(setUpWritableStreamDefaultControllerFromUnderlyingSink) \ macro(writableStreamDefaultControllerAdvanceQueueIfNeeded) \ macro(isCloseSentinel) \ macro(writableStreamDefaultControllerClearAlgorithms) \ macro(writableStreamDefaultControllerClose) \ macro(writableStreamDefaultControllerError) \ macro(writableStreamDefaultControllerErrorIfNeeded) \ macro(writableStreamDefaultControllerGetBackpressure) \ macro(writableStreamDefaultControllerGetChunkSize) \ macro(writableStreamDefaultControllerGetDesiredSize) \ macro(writableStreamDefaultControllerProcessClose) \ macro(writableStreamDefaultControllerProcessWrite) \ macro(writableStreamDefaultControllerWrite) \ #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM&); WEBCORE_FOREACH_WRITABLESTREAMINTERNALS_BUILTIN_CODE(DECLARE_BUILTIN_GENERATOR) #undef DECLARE_BUILTIN_GENERATOR class WritableStreamInternalsBuiltinsWrapper : private JSC::WeakHandleOwner { public: explicit WritableStreamInternalsBuiltinsWrapper(JSC::VM& vm) : m_vm(vm) WEBCORE_FOREACH_WRITABLESTREAMINTERNALS_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), { }, JSC::SourceTaintedOrigin::Untainted)) WEBCORE_FOREACH_WRITABLESTREAMINTERNALS_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_WRITABLESTREAMINTERNALS_BUILTIN_CODE(EXPOSE_BUILTIN_EXECUTABLES) #undef EXPOSE_BUILTIN_EXECUTABLES WEBCORE_FOREACH_WRITABLESTREAMINTERNALS_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR) void exportNames(); private: JSC::VM& m_vm; WEBCORE_FOREACH_WRITABLESTREAMINTERNALS_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_NAMES) #define DECLARE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) \ JSC::SourceCode m_##name##Source;\ JSC::Weak m_##name##Executable; WEBCORE_FOREACH_WRITABLESTREAMINTERNALS_BUILTIN_CODE(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; #define DEFINE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \ inline JSC::UnlinkedFunctionExecutable* WritableStreamInternalsBuiltinsWrapper::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::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_WRITABLESTREAMINTERNALS_BUILTIN_CODE(DEFINE_BUILTIN_EXECUTABLES) #undef DEFINE_BUILTIN_EXECUTABLES inline void WritableStreamInternalsBuiltinsWrapper::exportNames() { #define EXPORT_FUNCTION_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName()); WEBCORE_FOREACH_WRITABLESTREAMINTERNALS_BUILTIN_FUNCTION_NAME(EXPORT_FUNCTION_NAME) #undef EXPORT_FUNCTION_NAME } class WritableStreamInternalsBuiltinFunctions { public: explicit WritableStreamInternalsBuiltinFunctions(JSC::VM& vm) : m_vm(vm) { } void init(JSC::JSGlobalObject&); template void visit(Visitor&); public: JSC::VM& m_vm; #define DECLARE_BUILTIN_SOURCE_MEMBERS(functionName) \ JSC::WriteBarrier m_##functionName##Function; WEBCORE_FOREACH_WRITABLESTREAMINTERNALS_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; inline void WritableStreamInternalsBuiltinFunctions::init(JSC::JSGlobalObject& globalObject) { #define EXPORT_FUNCTION(codeName, functionName, overriddenName, length) \ m_##functionName##Function.set(m_vm, &globalObject, JSC::JSFunction::create(m_vm, codeName##Generator(m_vm), &globalObject)); WEBCORE_FOREACH_WRITABLESTREAMINTERNALS_BUILTIN_CODE(EXPORT_FUNCTION) #undef EXPORT_FUNCTION } template inline void WritableStreamInternalsBuiltinFunctions::visit(Visitor& visitor) { #define VISIT_FUNCTION(name) visitor.append(m_##name##Function); WEBCORE_FOREACH_WRITABLESTREAMINTERNALS_BUILTIN_FUNCTION_NAME(VISIT_FUNCTION) #undef VISIT_FUNCTION } template void WritableStreamInternalsBuiltinFunctions::visit(JSC::AbstractSlotVisitor&); template void WritableStreamInternalsBuiltinFunctions::visit(JSC::SlotVisitor&); /* TransformStreamInternals.ts */ // isTransformStream #define WEBCORE_BUILTIN_TRANSFORMSTREAMINTERNALS_ISTRANSFORMSTREAM 1 extern const char* const s_transformStreamInternalsIsTransformStreamCode; extern const int s_transformStreamInternalsIsTransformStreamCodeLength; extern const JSC::ConstructAbility s_transformStreamInternalsIsTransformStreamCodeConstructAbility; extern const JSC::ConstructorKind s_transformStreamInternalsIsTransformStreamCodeConstructorKind; extern const JSC::ImplementationVisibility s_transformStreamInternalsIsTransformStreamCodeImplementationVisibility; // isTransformStreamDefaultController #define WEBCORE_BUILTIN_TRANSFORMSTREAMINTERNALS_ISTRANSFORMSTREAMDEFAULTCONTROLLER 1 extern const char* const s_transformStreamInternalsIsTransformStreamDefaultControllerCode; extern const int s_transformStreamInternalsIsTransformStreamDefaultControllerCodeLength; extern const JSC::ConstructAbility s_transformStreamInternalsIsTransformStreamDefaultControllerCodeConstructAbility; extern const JSC::ConstructorKind s_transformStreamInternalsIsTransformStreamDefaultControllerCodeConstructorKind; extern const JSC::ImplementationVisibility s_transformStreamInternalsIsTransformStreamDefaultControllerCodeImplementationVisibility; // createTransformStream #define WEBCORE_BUILTIN_TRANSFORMSTREAMINTERNALS_CREATETRANSFORMSTREAM 1 extern const char* const s_transformStreamInternalsCreateTransformStreamCode; extern const int s_transformStreamInternalsCreateTransformStreamCodeLength; extern const JSC::ConstructAbility s_transformStreamInternalsCreateTransformStreamCodeConstructAbility; extern const JSC::ConstructorKind s_transformStreamInternalsCreateTransformStreamCodeConstructorKind; extern const JSC::ImplementationVisibility s_transformStreamInternalsCreateTransformStreamCodeImplementationVisibility; // initializeTransformStream #define WEBCORE_BUILTIN_TRANSFORMSTREAMINTERNALS_INITIALIZETRANSFORMSTREAM 1 extern const char* const s_transformStreamInternalsInitializeTransformStreamCode; extern const int s_transformStreamInternalsInitializeTransformStreamCodeLength; extern const JSC::ConstructAbility s_transformStreamInternalsInitializeTransformStreamCodeConstructAbility; extern const JSC::ConstructorKind s_transformStreamInternalsInitializeTransformStreamCodeConstructorKind; extern const JSC::ImplementationVisibility s_transformStreamInternalsInitializeTransformStreamCodeImplementationVisibility; // transformStreamError #define WEBCORE_BUILTIN_TRANSFORMSTREAMINTERNALS_TRANSFORMSTREAMERROR 1 extern const char* const s_transformStreamInternalsTransformStreamErrorCode; extern const int s_transformStreamInternalsTransformStreamErrorCodeLength; extern const JSC::ConstructAbility s_transformStreamInternalsTransformStreamErrorCodeConstructAbility; extern const JSC::ConstructorKind s_transformStreamInternalsTransformStreamErrorCodeConstructorKind; extern const JSC::ImplementationVisibility s_transformStreamInternalsTransformStreamErrorCodeImplementationVisibility; // transformStreamErrorWritableAndUnblockWrite #define WEBCORE_BUILTIN_TRANSFORMSTREAMINTERNALS_TRANSFORMSTREAMERRORWRITABLEANDUNBLOCKWRITE 1 extern const char* const s_transformStreamInternalsTransformStreamErrorWritableAndUnblockWriteCode; extern const int s_transformStreamInternalsTransformStreamErrorWritableAndUnblockWriteCodeLength; extern const JSC::ConstructAbility s_transformStreamInternalsTransformStreamErrorWritableAndUnblockWriteCodeConstructAbility; extern const JSC::ConstructorKind s_transformStreamInternalsTransformStreamErrorWritableAndUnblockWriteCodeConstructorKind; extern const JSC::ImplementationVisibility s_transformStreamInternalsTransformStreamErrorWritableAndUnblockWriteCodeImplementationVisibility; // transformStreamSetBackpressure #define WEBCORE_BUILTIN_TRANSFORMSTREAMINTERNALS_TRANSFORMSTREAMSETBACKPRESSURE 1 extern const char* const s_transformStreamInternalsTransformStreamSetBackpressureCode; extern const int s_transformStreamInternalsTransformStreamSetBackpressureCodeLength; extern const JSC::ConstructAbility s_transformStreamInternalsTransformStreamSetBackpressureCodeConstructAbility; extern const JSC::ConstructorKind s_transformStreamInternalsTransformStreamSetBackpressureCodeConstructorKind; extern const JSC::ImplementationVisibility s_transformStreamInternalsTransformStreamSetBackpressureCodeImplementationVisibility; // setUpTransformStreamDefaultController #define WEBCORE_BUILTIN_TRANSFORMSTREAMINTERNALS_SETUPTRANSFORMSTREAMDEFAULTCONTROLLER 1 extern const char* const s_transformStreamInternalsSetUpTransformStreamDefaultControllerCode; extern const int s_transformStreamInternalsSetUpTransformStreamDefaultControllerCodeLength; extern const JSC::ConstructAbility s_transformStreamInternalsSetUpTransformStreamDefaultControllerCodeConstructAbility; extern const JSC::ConstructorKind s_transformStreamInternalsSetUpTransformStreamDefaultControllerCodeConstructorKind; extern const JSC::ImplementationVisibility s_transformStreamInternalsSetUpTransformStreamDefaultControllerCodeImplementationVisibility; // setUpTransformStreamDefaultControllerFromTransformer #define WEBCORE_BUILTIN_TRANSFORMSTREAMINTERNALS_SETUPTRANSFORMSTREAMDEFAULTCONTROLLERFROMTRANSFORMER 1 extern const char* const s_transformStreamInternalsSetUpTransformStreamDefaultControllerFromTransformerCode; extern const int s_transformStreamInternalsSetUpTransformStreamDefaultControllerFromTransformerCodeLength; extern const JSC::ConstructAbility s_transformStreamInternalsSetUpTransformStreamDefaultControllerFromTransformerCodeConstructAbility; extern const JSC::ConstructorKind s_transformStreamInternalsSetUpTransformStreamDefaultControllerFromTransformerCodeConstructorKind; extern const JSC::ImplementationVisibility s_transformStreamInternalsSetUpTransformStreamDefaultControllerFromTransformerCodeImplementationVisibility; // transformStreamDefaultControllerClearAlgorithms #define WEBCORE_BUILTIN_TRANSFORMSTREAMINTERNALS_TRANSFORMSTREAMDEFAULTCONTROLLERCLEARALGORITHMS 1 extern const char* const s_transformStreamInternalsTransformStreamDefaultControllerClearAlgorithmsCode; extern const int s_transformStreamInternalsTransformStreamDefaultControllerClearAlgorithmsCodeLength; extern const JSC::ConstructAbility s_transformStreamInternalsTransformStreamDefaultControllerClearAlgorithmsCodeConstructAbility; extern const JSC::ConstructorKind s_transformStreamInternalsTransformStreamDefaultControllerClearAlgorithmsCodeConstructorKind; extern const JSC::ImplementationVisibility s_transformStreamInternalsTransformStreamDefaultControllerClearAlgorithmsCodeImplementationVisibility; // transformStreamDefaultControllerEnqueue #define WEBCORE_BUILTIN_TRANSFORMSTREAMINTERNALS_TRANSFORMSTREAMDEFAULTCONTROLLERENQUEUE 1 extern const char* const s_transformStreamInternalsTransformStreamDefaultControllerEnqueueCode; extern const int s_transformStreamInternalsTransformStreamDefaultControllerEnqueueCodeLength; extern const JSC::ConstructAbility s_transformStreamInternalsTransformStreamDefaultControllerEnqueueCodeConstructAbility; extern const JSC::ConstructorKind s_transformStreamInternalsTransformStreamDefaultControllerEnqueueCodeConstructorKind; extern const JSC::ImplementationVisibility s_transformStreamInternalsTransformStreamDefaultControllerEnqueueCodeImplementationVisibility; // transformStreamDefaultControllerError #define WEBCORE_BUILTIN_TRANSFORMSTREAMINTERNALS_TRANSFORMSTREAMDEFAULTCONTROLLERERROR 1 extern const char* const s_transformStreamInternalsTransformStreamDefaultControllerErrorCode; extern const int s_transformStreamInternalsTransformStreamDefaultControllerErrorCodeLength; extern const JSC::ConstructAbility s_transformStreamInternalsTransformStreamDefaultControllerErrorCodeConstructAbility; extern const JSC::ConstructorKind s_transformStreamInternalsTransformStreamDefaultControllerErrorCodeConstructorKind; extern const JSC::ImplementationVisibility s_transformStreamInternalsTransformStreamDefaultControllerErrorCodeImplementationVisibility; // transformStreamDefaultControllerPerformTransform #define WEBCORE_BUILTIN_TRANSFORMSTREAMINTERNALS_TRANSFORMSTREAMDEFAULTCONTROLLERPERFORMTRANSFORM 1 extern const char* const s_transformStreamInternalsTransformStreamDefaultControllerPerformTransformCode; extern const int s_transformStreamInternalsTransformStreamDefaultControllerPerformTransformCodeLength; extern const JSC::ConstructAbility s_transformStreamInternalsTransformStreamDefaultControllerPerformTransformCodeConstructAbility; extern const JSC::ConstructorKind s_transformStreamInternalsTransformStreamDefaultControllerPerformTransformCodeConstructorKind; extern const JSC::ImplementationVisibility s_transformStreamInternalsTransformStreamDefaultControllerPerformTransformCodeImplementationVisibility; // transformStreamDefaultControllerTerminate #define WEBCORE_BUILTIN_TRANSFORMSTREAMINTERNALS_TRANSFORMSTREAMDEFAULTCONTROLLERTERMINATE 1 extern const char* const s_transformStreamInternalsTransformStreamDefaultControllerTerminateCode; extern const int s_transformStreamInternalsTransformStreamDefaultControllerTerminateCodeLength; extern const JSC::ConstructAbility s_transformStreamInternalsTransformStreamDefaultControllerTerminateCodeConstructAbility; extern const JSC::ConstructorKind s_transformStreamInternalsTransformStreamDefaultControllerTerminateCodeConstructorKind; extern const JSC::ImplementationVisibility s_transformStreamInternalsTransformStreamDefaultControllerTerminateCodeImplementationVisibility; // transformStreamDefaultSinkWriteAlgorithm #define WEBCORE_BUILTIN_TRANSFORMSTREAMINTERNALS_TRANSFORMSTREAMDEFAULTSINKWRITEALGORITHM 1 extern const char* const s_transformStreamInternalsTransformStreamDefaultSinkWriteAlgorithmCode; extern const int s_transformStreamInternalsTransformStreamDefaultSinkWriteAlgorithmCodeLength; extern const JSC::ConstructAbility s_transformStreamInternalsTransformStreamDefaultSinkWriteAlgorithmCodeConstructAbility; extern const JSC::ConstructorKind s_transformStreamInternalsTransformStreamDefaultSinkWriteAlgorithmCodeConstructorKind; extern const JSC::ImplementationVisibility s_transformStreamInternalsTransformStreamDefaultSinkWriteAlgorithmCodeImplementationVisibility; // transformStreamDefaultSinkAbortAlgorithm #define WEBCORE_BUILTIN_TRANSFORMSTREAMINTERNALS_TRANSFORMSTREAMDEFAULTSINKABORTALGORITHM 1 extern const char* const s_transformStreamInternalsTransformStreamDefaultSinkAbortAlgorithmCode; extern const int s_transformStreamInternalsTransformStreamDefaultSinkAbortAlgorithmCodeLength; extern const JSC::ConstructAbility s_transformStreamInternalsTransformStreamDefaultSinkAbortAlgorithmCodeConstructAbility; extern const JSC::ConstructorKind s_transformStreamInternalsTransformStreamDefaultSinkAbortAlgorithmCodeConstructorKind; extern const JSC::ImplementationVisibility s_transformStreamInternalsTransformStreamDefaultSinkAbortAlgorithmCodeImplementationVisibility; // transformStreamDefaultSinkCloseAlgorithm #define WEBCORE_BUILTIN_TRANSFORMSTREAMINTERNALS_TRANSFORMSTREAMDEFAULTSINKCLOSEALGORITHM 1 extern const char* const s_transformStreamInternalsTransformStreamDefaultSinkCloseAlgorithmCode; extern const int s_transformStreamInternalsTransformStreamDefaultSinkCloseAlgorithmCodeLength; extern const JSC::ConstructAbility s_transformStreamInternalsTransformStreamDefaultSinkCloseAlgorithmCodeConstructAbility; extern const JSC::ConstructorKind s_transformStreamInternalsTransformStreamDefaultSinkCloseAlgorithmCodeConstructorKind; extern const JSC::ImplementationVisibility s_transformStreamInternalsTransformStreamDefaultSinkCloseAlgorithmCodeImplementationVisibility; // transformStreamDefaultSourcePullAlgorithm #define WEBCORE_BUILTIN_TRANSFORMSTREAMINTERNALS_TRANSFORMSTREAMDEFAULTSOURCEPULLALGORITHM 1 extern const char* const s_transformStreamInternalsTransformStreamDefaultSourcePullAlgorithmCode; extern const int s_transformStreamInternalsTransformStreamDefaultSourcePullAlgorithmCodeLength; extern const JSC::ConstructAbility s_transformStreamInternalsTransformStreamDefaultSourcePullAlgorithmCodeConstructAbility; extern const JSC::ConstructorKind s_transformStreamInternalsTransformStreamDefaultSourcePullAlgorithmCodeConstructorKind; extern const JSC::ImplementationVisibility s_transformStreamInternalsTransformStreamDefaultSourcePullAlgorithmCodeImplementationVisibility; #define WEBCORE_FOREACH_TRANSFORMSTREAMINTERNALS_BUILTIN_DATA(macro) \ macro(isTransformStream, transformStreamInternalsIsTransformStream, 1) \ macro(isTransformStreamDefaultController, transformStreamInternalsIsTransformStreamDefaultController, 1) \ macro(createTransformStream, transformStreamInternalsCreateTransformStream, 8) \ macro(initializeTransformStream, transformStreamInternalsInitializeTransformStream, 7) \ macro(transformStreamError, transformStreamInternalsTransformStreamError, 2) \ macro(transformStreamErrorWritableAndUnblockWrite, transformStreamInternalsTransformStreamErrorWritableAndUnblockWrite, 2) \ macro(transformStreamSetBackpressure, transformStreamInternalsTransformStreamSetBackpressure, 2) \ macro(setUpTransformStreamDefaultController, transformStreamInternalsSetUpTransformStreamDefaultController, 4) \ macro(setUpTransformStreamDefaultControllerFromTransformer, transformStreamInternalsSetUpTransformStreamDefaultControllerFromTransformer, 3) \ macro(transformStreamDefaultControllerClearAlgorithms, transformStreamInternalsTransformStreamDefaultControllerClearAlgorithms, 1) \ macro(transformStreamDefaultControllerEnqueue, transformStreamInternalsTransformStreamDefaultControllerEnqueue, 2) \ macro(transformStreamDefaultControllerError, transformStreamInternalsTransformStreamDefaultControllerError, 2) \ macro(transformStreamDefaultControllerPerformTransform, transformStreamInternalsTransformStreamDefaultControllerPerformTransform, 2) \ macro(transformStreamDefaultControllerTerminate, transformStreamInternalsTransformStreamDefaultControllerTerminate, 1) \ macro(transformStreamDefaultSinkWriteAlgorithm, transformStreamInternalsTransformStreamDefaultSinkWriteAlgorithm, 2) \ macro(transformStreamDefaultSinkAbortAlgorithm, transformStreamInternalsTransformStreamDefaultSinkAbortAlgorithm, 2) \ macro(transformStreamDefaultSinkCloseAlgorithm, transformStreamInternalsTransformStreamDefaultSinkCloseAlgorithm, 1) \ macro(transformStreamDefaultSourcePullAlgorithm, transformStreamInternalsTransformStreamDefaultSourcePullAlgorithm, 1) \ #define WEBCORE_FOREACH_TRANSFORMSTREAMINTERNALS_BUILTIN_CODE(macro) \ macro(transformStreamInternalsIsTransformStreamCode, isTransformStream, ASCIILiteral(), s_transformStreamInternalsIsTransformStreamCodeLength) \ macro(transformStreamInternalsIsTransformStreamDefaultControllerCode, isTransformStreamDefaultController, ASCIILiteral(), s_transformStreamInternalsIsTransformStreamDefaultControllerCodeLength) \ macro(transformStreamInternalsCreateTransformStreamCode, createTransformStream, ASCIILiteral(), s_transformStreamInternalsCreateTransformStreamCodeLength) \ macro(transformStreamInternalsInitializeTransformStreamCode, initializeTransformStream, ASCIILiteral(), s_transformStreamInternalsInitializeTransformStreamCodeLength) \ macro(transformStreamInternalsTransformStreamErrorCode, transformStreamError, ASCIILiteral(), s_transformStreamInternalsTransformStreamErrorCodeLength) \ macro(transformStreamInternalsTransformStreamErrorWritableAndUnblockWriteCode, transformStreamErrorWritableAndUnblockWrite, ASCIILiteral(), s_transformStreamInternalsTransformStreamErrorWritableAndUnblockWriteCodeLength) \ macro(transformStreamInternalsTransformStreamSetBackpressureCode, transformStreamSetBackpressure, ASCIILiteral(), s_transformStreamInternalsTransformStreamSetBackpressureCodeLength) \ macro(transformStreamInternalsSetUpTransformStreamDefaultControllerCode, setUpTransformStreamDefaultController, ASCIILiteral(), s_transformStreamInternalsSetUpTransformStreamDefaultControllerCodeLength) \ macro(transformStreamInternalsSetUpTransformStreamDefaultControllerFromTransformerCode, setUpTransformStreamDefaultControllerFromTransformer, ASCIILiteral(), s_transformStreamInternalsSetUpTransformStreamDefaultControllerFromTransformerCodeLength) \ macro(transformStreamInternalsTransformStreamDefaultControllerClearAlgorithmsCode, transformStreamDefaultControllerClearAlgorithms, ASCIILiteral(), s_transformStreamInternalsTransformStreamDefaultControllerClearAlgorithmsCodeLength) \ macro(transformStreamInternalsTransformStreamDefaultControllerEnqueueCode, transformStreamDefaultControllerEnqueue, ASCIILiteral(), s_transformStreamInternalsTransformStreamDefaultControllerEnqueueCodeLength) \ macro(transformStreamInternalsTransformStreamDefaultControllerErrorCode, transformStreamDefaultControllerError, ASCIILiteral(), s_transformStreamInternalsTransformStreamDefaultControllerErrorCodeLength) \ macro(transformStreamInternalsTransformStreamDefaultControllerPerformTransformCode, transformStreamDefaultControllerPerformTransform, ASCIILiteral(), s_transformStreamInternalsTransformStreamDefaultControllerPerformTransformCodeLength) \ macro(transformStreamInternalsTransformStreamDefaultControllerTerminateCode, transformStreamDefaultControllerTerminate, ASCIILiteral(), s_transformStreamInternalsTransformStreamDefaultControllerTerminateCodeLength) \ macro(transformStreamInternalsTransformStreamDefaultSinkWriteAlgorithmCode, transformStreamDefaultSinkWriteAlgorithm, ASCIILiteral(), s_transformStreamInternalsTransformStreamDefaultSinkWriteAlgorithmCodeLength) \ macro(transformStreamInternalsTransformStreamDefaultSinkAbortAlgorithmCode, transformStreamDefaultSinkAbortAlgorithm, ASCIILiteral(), s_transformStreamInternalsTransformStreamDefaultSinkAbortAlgorithmCodeLength) \ macro(transformStreamInternalsTransformStreamDefaultSinkCloseAlgorithmCode, transformStreamDefaultSinkCloseAlgorithm, ASCIILiteral(), s_transformStreamInternalsTransformStreamDefaultSinkCloseAlgorithmCodeLength) \ macro(transformStreamInternalsTransformStreamDefaultSourcePullAlgorithmCode, transformStreamDefaultSourcePullAlgorithm, ASCIILiteral(), s_transformStreamInternalsTransformStreamDefaultSourcePullAlgorithmCodeLength) \ #define WEBCORE_FOREACH_TRANSFORMSTREAMINTERNALS_BUILTIN_FUNCTION_NAME(macro) \ macro(isTransformStream) \ macro(isTransformStreamDefaultController) \ macro(createTransformStream) \ macro(initializeTransformStream) \ macro(transformStreamError) \ macro(transformStreamErrorWritableAndUnblockWrite) \ macro(transformStreamSetBackpressure) \ macro(setUpTransformStreamDefaultController) \ macro(setUpTransformStreamDefaultControllerFromTransformer) \ macro(transformStreamDefaultControllerClearAlgorithms) \ macro(transformStreamDefaultControllerEnqueue) \ macro(transformStreamDefaultControllerError) \ macro(transformStreamDefaultControllerPerformTransform) \ macro(transformStreamDefaultControllerTerminate) \ macro(transformStreamDefaultSinkWriteAlgorithm) \ macro(transformStreamDefaultSinkAbortAlgorithm) \ macro(transformStreamDefaultSinkCloseAlgorithm) \ macro(transformStreamDefaultSourcePullAlgorithm) \ #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM&); WEBCORE_FOREACH_TRANSFORMSTREAMINTERNALS_BUILTIN_CODE(DECLARE_BUILTIN_GENERATOR) #undef DECLARE_BUILTIN_GENERATOR class TransformStreamInternalsBuiltinsWrapper : private JSC::WeakHandleOwner { public: explicit TransformStreamInternalsBuiltinsWrapper(JSC::VM& vm) : m_vm(vm) WEBCORE_FOREACH_TRANSFORMSTREAMINTERNALS_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), { }, JSC::SourceTaintedOrigin::Untainted)) WEBCORE_FOREACH_TRANSFORMSTREAMINTERNALS_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_TRANSFORMSTREAMINTERNALS_BUILTIN_CODE(EXPOSE_BUILTIN_EXECUTABLES) #undef EXPOSE_BUILTIN_EXECUTABLES WEBCORE_FOREACH_TRANSFORMSTREAMINTERNALS_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR) void exportNames(); private: JSC::VM& m_vm; WEBCORE_FOREACH_TRANSFORMSTREAMINTERNALS_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_NAMES) #define DECLARE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) \ JSC::SourceCode m_##name##Source;\ JSC::Weak m_##name##Executable; WEBCORE_FOREACH_TRANSFORMSTREAMINTERNALS_BUILTIN_CODE(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; #define DEFINE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \ inline JSC::UnlinkedFunctionExecutable* TransformStreamInternalsBuiltinsWrapper::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::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_TRANSFORMSTREAMINTERNALS_BUILTIN_CODE(DEFINE_BUILTIN_EXECUTABLES) #undef DEFINE_BUILTIN_EXECUTABLES inline void TransformStreamInternalsBuiltinsWrapper::exportNames() { #define EXPORT_FUNCTION_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName()); WEBCORE_FOREACH_TRANSFORMSTREAMINTERNALS_BUILTIN_FUNCTION_NAME(EXPORT_FUNCTION_NAME) #undef EXPORT_FUNCTION_NAME } class TransformStreamInternalsBuiltinFunctions { public: explicit TransformStreamInternalsBuiltinFunctions(JSC::VM& vm) : m_vm(vm) { } void init(JSC::JSGlobalObject&); template void visit(Visitor&); public: JSC::VM& m_vm; #define DECLARE_BUILTIN_SOURCE_MEMBERS(functionName) \ JSC::WriteBarrier m_##functionName##Function; WEBCORE_FOREACH_TRANSFORMSTREAMINTERNALS_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; inline void TransformStreamInternalsBuiltinFunctions::init(JSC::JSGlobalObject& globalObject) { #define EXPORT_FUNCTION(codeName, functionName, overriddenName, length) \ m_##functionName##Function.set(m_vm, &globalObject, JSC::JSFunction::create(m_vm, codeName##Generator(m_vm), &globalObject)); WEBCORE_FOREACH_TRANSFORMSTREAMINTERNALS_BUILTIN_CODE(EXPORT_FUNCTION) #undef EXPORT_FUNCTION } template inline void TransformStreamInternalsBuiltinFunctions::visit(Visitor& visitor) { #define VISIT_FUNCTION(name) visitor.append(m_##name##Function); WEBCORE_FOREACH_TRANSFORMSTREAMINTERNALS_BUILTIN_FUNCTION_NAME(VISIT_FUNCTION) #undef VISIT_FUNCTION } template void TransformStreamInternalsBuiltinFunctions::visit(JSC::AbstractSlotVisitor&); template void TransformStreamInternalsBuiltinFunctions::visit(JSC::SlotVisitor&); /* ProcessObjectInternals.ts */ // getStdioWriteStream #define WEBCORE_BUILTIN_PROCESSOBJECTINTERNALS_GETSTDIOWRITESTREAM 1 extern const char* const s_processObjectInternalsGetStdioWriteStreamCode; extern const int s_processObjectInternalsGetStdioWriteStreamCodeLength; extern const JSC::ConstructAbility s_processObjectInternalsGetStdioWriteStreamCodeConstructAbility; extern const JSC::ConstructorKind s_processObjectInternalsGetStdioWriteStreamCodeConstructorKind; extern const JSC::ImplementationVisibility s_processObjectInternalsGetStdioWriteStreamCodeImplementationVisibility; // getStdinStream #define WEBCORE_BUILTIN_PROCESSOBJECTINTERNALS_GETSTDINSTREAM 1 extern const char* const s_processObjectInternalsGetStdinStreamCode; extern const int s_processObjectInternalsGetStdinStreamCodeLength; extern const JSC::ConstructAbility s_processObjectInternalsGetStdinStreamCodeConstructAbility; extern const JSC::ConstructorKind s_processObjectInternalsGetStdinStreamCodeConstructorKind; extern const JSC::ImplementationVisibility s_processObjectInternalsGetStdinStreamCodeImplementationVisibility; // initializeNextTickQueue #define WEBCORE_BUILTIN_PROCESSOBJECTINTERNALS_INITIALIZENEXTTICKQUEUE 1 extern const char* const s_processObjectInternalsInitializeNextTickQueueCode; extern const int s_processObjectInternalsInitializeNextTickQueueCodeLength; extern const JSC::ConstructAbility s_processObjectInternalsInitializeNextTickQueueCodeConstructAbility; extern const JSC::ConstructorKind s_processObjectInternalsInitializeNextTickQueueCodeConstructorKind; extern const JSC::ImplementationVisibility s_processObjectInternalsInitializeNextTickQueueCodeImplementationVisibility; #define WEBCORE_FOREACH_PROCESSOBJECTINTERNALS_BUILTIN_DATA(macro) \ macro(getStdioWriteStream, processObjectInternalsGetStdioWriteStream, 1) \ macro(getStdinStream, processObjectInternalsGetStdinStream, 1) \ macro(initializeNextTickQueue, processObjectInternalsInitializeNextTickQueue, 4) \ #define WEBCORE_FOREACH_PROCESSOBJECTINTERNALS_BUILTIN_CODE(macro) \ macro(processObjectInternalsGetStdioWriteStreamCode, getStdioWriteStream, ASCIILiteral(), s_processObjectInternalsGetStdioWriteStreamCodeLength) \ macro(processObjectInternalsGetStdinStreamCode, getStdinStream, ASCIILiteral(), s_processObjectInternalsGetStdinStreamCodeLength) \ macro(processObjectInternalsInitializeNextTickQueueCode, initializeNextTickQueue, ASCIILiteral(), s_processObjectInternalsInitializeNextTickQueueCodeLength) \ #define WEBCORE_FOREACH_PROCESSOBJECTINTERNALS_BUILTIN_FUNCTION_NAME(macro) \ macro(getStdioWriteStream) \ macro(getStdinStream) \ macro(initializeNextTickQueue) \ #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM&); WEBCORE_FOREACH_PROCESSOBJECTINTERNALS_BUILTIN_CODE(DECLARE_BUILTIN_GENERATOR) #undef DECLARE_BUILTIN_GENERATOR class ProcessObjectInternalsBuiltinsWrapper : private JSC::WeakHandleOwner { public: explicit ProcessObjectInternalsBuiltinsWrapper(JSC::VM& vm) : m_vm(vm) WEBCORE_FOREACH_PROCESSOBJECTINTERNALS_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), { }, JSC::SourceTaintedOrigin::Untainted)) WEBCORE_FOREACH_PROCESSOBJECTINTERNALS_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_PROCESSOBJECTINTERNALS_BUILTIN_CODE(EXPOSE_BUILTIN_EXECUTABLES) #undef EXPOSE_BUILTIN_EXECUTABLES WEBCORE_FOREACH_PROCESSOBJECTINTERNALS_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR) void exportNames(); private: JSC::VM& m_vm; WEBCORE_FOREACH_PROCESSOBJECTINTERNALS_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_NAMES) #define DECLARE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) \ JSC::SourceCode m_##name##Source;\ JSC::Weak m_##name##Executable; WEBCORE_FOREACH_PROCESSOBJECTINTERNALS_BUILTIN_CODE(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; #define DEFINE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \ inline JSC::UnlinkedFunctionExecutable* ProcessObjectInternalsBuiltinsWrapper::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::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_PROCESSOBJECTINTERNALS_BUILTIN_CODE(DEFINE_BUILTIN_EXECUTABLES) #undef DEFINE_BUILTIN_EXECUTABLES inline void ProcessObjectInternalsBuiltinsWrapper::exportNames() { #define EXPORT_FUNCTION_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName()); WEBCORE_FOREACH_PROCESSOBJECTINTERNALS_BUILTIN_FUNCTION_NAME(EXPORT_FUNCTION_NAME) #undef EXPORT_FUNCTION_NAME } /* TransformStream.ts */ // initializeTransformStream #define WEBCORE_BUILTIN_TRANSFORMSTREAM_INITIALIZETRANSFORMSTREAM 1 extern const char* const s_transformStreamInitializeTransformStreamCode; extern const int s_transformStreamInitializeTransformStreamCodeLength; extern const JSC::ConstructAbility s_transformStreamInitializeTransformStreamCodeConstructAbility; extern const JSC::ConstructorKind s_transformStreamInitializeTransformStreamCodeConstructorKind; extern const JSC::ImplementationVisibility s_transformStreamInitializeTransformStreamCodeImplementationVisibility; // readable #define WEBCORE_BUILTIN_TRANSFORMSTREAM_READABLE 1 extern const char* const s_transformStreamReadableCode; extern const int s_transformStreamReadableCodeLength; extern const JSC::ConstructAbility s_transformStreamReadableCodeConstructAbility; extern const JSC::ConstructorKind s_transformStreamReadableCodeConstructorKind; extern const JSC::ImplementationVisibility s_transformStreamReadableCodeImplementationVisibility; // writable #define WEBCORE_BUILTIN_TRANSFORMSTREAM_WRITABLE 1 extern const char* const s_transformStreamWritableCode; extern const int s_transformStreamWritableCodeLength; extern const JSC::ConstructAbility s_transformStreamWritableCodeConstructAbility; extern const JSC::ConstructorKind s_transformStreamWritableCodeConstructorKind; extern const JSC::ImplementationVisibility s_transformStreamWritableCodeImplementationVisibility; #define WEBCORE_FOREACH_TRANSFORMSTREAM_BUILTIN_DATA(macro) \ macro(initializeTransformStream, transformStreamInitializeTransformStream, 0) \ macro(readable, transformStreamReadable, 0) \ macro(writable, transformStreamWritable, 0) \ #define WEBCORE_FOREACH_TRANSFORMSTREAM_BUILTIN_CODE(macro) \ macro(transformStreamInitializeTransformStreamCode, initializeTransformStream, ASCIILiteral(), s_transformStreamInitializeTransformStreamCodeLength) \ macro(transformStreamReadableCode, readable, "get readable"_s, s_transformStreamReadableCodeLength) \ macro(transformStreamWritableCode, writable, ASCIILiteral(), s_transformStreamWritableCodeLength) \ #define WEBCORE_FOREACH_TRANSFORMSTREAM_BUILTIN_FUNCTION_NAME(macro) \ macro(initializeTransformStream) \ macro(readable) \ macro(writable) \ #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM&); WEBCORE_FOREACH_TRANSFORMSTREAM_BUILTIN_CODE(DECLARE_BUILTIN_GENERATOR) #undef DECLARE_BUILTIN_GENERATOR class TransformStreamBuiltinsWrapper : private JSC::WeakHandleOwner { public: explicit TransformStreamBuiltinsWrapper(JSC::VM& vm) : m_vm(vm) WEBCORE_FOREACH_TRANSFORMSTREAM_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), { }, JSC::SourceTaintedOrigin::Untainted)) WEBCORE_FOREACH_TRANSFORMSTREAM_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_TRANSFORMSTREAM_BUILTIN_CODE(EXPOSE_BUILTIN_EXECUTABLES) #undef EXPOSE_BUILTIN_EXECUTABLES WEBCORE_FOREACH_TRANSFORMSTREAM_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR) void exportNames(); private: JSC::VM& m_vm; WEBCORE_FOREACH_TRANSFORMSTREAM_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_NAMES) #define DECLARE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) \ JSC::SourceCode m_##name##Source;\ JSC::Weak m_##name##Executable; WEBCORE_FOREACH_TRANSFORMSTREAM_BUILTIN_CODE(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; #define DEFINE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \ inline JSC::UnlinkedFunctionExecutable* TransformStreamBuiltinsWrapper::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::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_TRANSFORMSTREAM_BUILTIN_CODE(DEFINE_BUILTIN_EXECUTABLES) #undef DEFINE_BUILTIN_EXECUTABLES inline void TransformStreamBuiltinsWrapper::exportNames() { #define EXPORT_FUNCTION_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName()); 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; // requireNativeModule #define WEBCORE_BUILTIN_MODULE_REQUIRENATIVEMODULE 1 extern const char* const s_moduleRequireNativeModuleCode; extern const int s_moduleRequireNativeModuleCodeLength; extern const JSC::ConstructAbility s_moduleRequireNativeModuleCodeConstructAbility; extern const JSC::ConstructorKind s_moduleRequireNativeModuleCodeConstructorKind; extern const JSC::ImplementationVisibility s_moduleRequireNativeModuleCodeImplementationVisibility; #define WEBCORE_FOREACH_MODULE_BUILTIN_DATA(macro) \ macro(main, moduleMain, 0) \ macro(require, moduleRequire, 1) \ macro(requireResolve, moduleRequireResolve, 1) \ macro(requireNativeModule, moduleRequireNativeModule, 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) \ macro(moduleRequireNativeModuleCode, requireNativeModule, ASCIILiteral(), s_moduleRequireNativeModuleCodeLength) \ #define WEBCORE_FOREACH_MODULE_BUILTIN_FUNCTION_NAME(macro) \ macro(main) \ macro(require) \ macro(requireResolve) \ macro(requireNativeModule) \ #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), { }, JSC::SourceTaintedOrigin::Untainted)) 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 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::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 extern const char* const s_jsBufferPrototypeSetBigUint64Code; extern const int s_jsBufferPrototypeSetBigUint64CodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeSetBigUint64CodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeSetBigUint64CodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeSetBigUint64CodeImplementationVisibility; // readInt8 #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_READINT8 1 extern const char* const s_jsBufferPrototypeReadInt8Code; extern const int s_jsBufferPrototypeReadInt8CodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeReadInt8CodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeReadInt8CodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeReadInt8CodeImplementationVisibility; // readUInt8 #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_READUINT8 1 extern const char* const s_jsBufferPrototypeReadUInt8Code; extern const int s_jsBufferPrototypeReadUInt8CodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeReadUInt8CodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeReadUInt8CodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeReadUInt8CodeImplementationVisibility; // readInt16LE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_READINT16LE 1 extern const char* const s_jsBufferPrototypeReadInt16LECode; extern const int s_jsBufferPrototypeReadInt16LECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeReadInt16LECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeReadInt16LECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeReadInt16LECodeImplementationVisibility; // readInt16BE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_READINT16BE 1 extern const char* const s_jsBufferPrototypeReadInt16BECode; extern const int s_jsBufferPrototypeReadInt16BECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeReadInt16BECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeReadInt16BECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeReadInt16BECodeImplementationVisibility; // readUInt16LE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_READUINT16LE 1 extern const char* const s_jsBufferPrototypeReadUInt16LECode; extern const int s_jsBufferPrototypeReadUInt16LECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeReadUInt16LECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeReadUInt16LECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeReadUInt16LECodeImplementationVisibility; // readUInt16BE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_READUINT16BE 1 extern const char* const s_jsBufferPrototypeReadUInt16BECode; extern const int s_jsBufferPrototypeReadUInt16BECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeReadUInt16BECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeReadUInt16BECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeReadUInt16BECodeImplementationVisibility; // readInt32LE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_READINT32LE 1 extern const char* const s_jsBufferPrototypeReadInt32LECode; extern const int s_jsBufferPrototypeReadInt32LECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeReadInt32LECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeReadInt32LECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeReadInt32LECodeImplementationVisibility; // readInt32BE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_READINT32BE 1 extern const char* const s_jsBufferPrototypeReadInt32BECode; extern const int s_jsBufferPrototypeReadInt32BECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeReadInt32BECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeReadInt32BECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeReadInt32BECodeImplementationVisibility; // readUInt32LE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_READUINT32LE 1 extern const char* const s_jsBufferPrototypeReadUInt32LECode; extern const int s_jsBufferPrototypeReadUInt32LECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeReadUInt32LECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeReadUInt32LECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeReadUInt32LECodeImplementationVisibility; // readUInt32BE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_READUINT32BE 1 extern const char* const s_jsBufferPrototypeReadUInt32BECode; extern const int s_jsBufferPrototypeReadUInt32BECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeReadUInt32BECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeReadUInt32BECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeReadUInt32BECodeImplementationVisibility; // readIntLE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_READINTLE 1 extern const char* const s_jsBufferPrototypeReadIntLECode; extern const int s_jsBufferPrototypeReadIntLECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeReadIntLECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeReadIntLECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeReadIntLECodeImplementationVisibility; // readIntBE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_READINTBE 1 extern const char* const s_jsBufferPrototypeReadIntBECode; extern const int s_jsBufferPrototypeReadIntBECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeReadIntBECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeReadIntBECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeReadIntBECodeImplementationVisibility; // readUIntLE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_READUINTLE 1 extern const char* const s_jsBufferPrototypeReadUIntLECode; extern const int s_jsBufferPrototypeReadUIntLECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeReadUIntLECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeReadUIntLECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeReadUIntLECodeImplementationVisibility; // readUIntBE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_READUINTBE 1 extern const char* const s_jsBufferPrototypeReadUIntBECode; extern const int s_jsBufferPrototypeReadUIntBECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeReadUIntBECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeReadUIntBECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeReadUIntBECodeImplementationVisibility; // readFloatLE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_READFLOATLE 1 extern const char* const s_jsBufferPrototypeReadFloatLECode; extern const int s_jsBufferPrototypeReadFloatLECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeReadFloatLECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeReadFloatLECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeReadFloatLECodeImplementationVisibility; // readFloatBE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_READFLOATBE 1 extern const char* const s_jsBufferPrototypeReadFloatBECode; extern const int s_jsBufferPrototypeReadFloatBECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeReadFloatBECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeReadFloatBECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeReadFloatBECodeImplementationVisibility; // readDoubleLE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_READDOUBLELE 1 extern const char* const s_jsBufferPrototypeReadDoubleLECode; extern const int s_jsBufferPrototypeReadDoubleLECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeReadDoubleLECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeReadDoubleLECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeReadDoubleLECodeImplementationVisibility; // readDoubleBE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_READDOUBLEBE 1 extern const char* const s_jsBufferPrototypeReadDoubleBECode; extern const int s_jsBufferPrototypeReadDoubleBECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeReadDoubleBECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeReadDoubleBECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeReadDoubleBECodeImplementationVisibility; // readBigInt64LE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_READBIGINT64LE 1 extern const char* const s_jsBufferPrototypeReadBigInt64LECode; extern const int s_jsBufferPrototypeReadBigInt64LECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeReadBigInt64LECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeReadBigInt64LECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeReadBigInt64LECodeImplementationVisibility; // readBigInt64BE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_READBIGINT64BE 1 extern const char* const s_jsBufferPrototypeReadBigInt64BECode; extern const int s_jsBufferPrototypeReadBigInt64BECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeReadBigInt64BECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeReadBigInt64BECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeReadBigInt64BECodeImplementationVisibility; // readBigUInt64LE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_READBIGUINT64LE 1 extern const char* const s_jsBufferPrototypeReadBigUInt64LECode; extern const int s_jsBufferPrototypeReadBigUInt64LECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeReadBigUInt64LECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeReadBigUInt64LECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeReadBigUInt64LECodeImplementationVisibility; // readBigUInt64BE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_READBIGUINT64BE 1 extern const char* const s_jsBufferPrototypeReadBigUInt64BECode; extern const int s_jsBufferPrototypeReadBigUInt64BECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeReadBigUInt64BECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeReadBigUInt64BECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeReadBigUInt64BECodeImplementationVisibility; // writeInt8 #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_WRITEINT8 1 extern const char* const s_jsBufferPrototypeWriteInt8Code; extern const int s_jsBufferPrototypeWriteInt8CodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeWriteInt8CodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeWriteInt8CodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeWriteInt8CodeImplementationVisibility; // writeUInt8 #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_WRITEUINT8 1 extern const char* const s_jsBufferPrototypeWriteUInt8Code; extern const int s_jsBufferPrototypeWriteUInt8CodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeWriteUInt8CodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeWriteUInt8CodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeWriteUInt8CodeImplementationVisibility; // writeInt16LE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_WRITEINT16LE 1 extern const char* const s_jsBufferPrototypeWriteInt16LECode; extern const int s_jsBufferPrototypeWriteInt16LECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeWriteInt16LECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeWriteInt16LECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeWriteInt16LECodeImplementationVisibility; // writeInt16BE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_WRITEINT16BE 1 extern const char* const s_jsBufferPrototypeWriteInt16BECode; extern const int s_jsBufferPrototypeWriteInt16BECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeWriteInt16BECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeWriteInt16BECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeWriteInt16BECodeImplementationVisibility; // writeUInt16LE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_WRITEUINT16LE 1 extern const char* const s_jsBufferPrototypeWriteUInt16LECode; extern const int s_jsBufferPrototypeWriteUInt16LECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeWriteUInt16LECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeWriteUInt16LECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeWriteUInt16LECodeImplementationVisibility; // writeUInt16BE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_WRITEUINT16BE 1 extern const char* const s_jsBufferPrototypeWriteUInt16BECode; extern const int s_jsBufferPrototypeWriteUInt16BECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeWriteUInt16BECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeWriteUInt16BECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeWriteUInt16BECodeImplementationVisibility; // writeInt32LE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_WRITEINT32LE 1 extern const char* const s_jsBufferPrototypeWriteInt32LECode; extern const int s_jsBufferPrototypeWriteInt32LECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeWriteInt32LECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeWriteInt32LECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeWriteInt32LECodeImplementationVisibility; // writeInt32BE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_WRITEINT32BE 1 extern const char* const s_jsBufferPrototypeWriteInt32BECode; extern const int s_jsBufferPrototypeWriteInt32BECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeWriteInt32BECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeWriteInt32BECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeWriteInt32BECodeImplementationVisibility; // writeUInt32LE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_WRITEUINT32LE 1 extern const char* const s_jsBufferPrototypeWriteUInt32LECode; extern const int s_jsBufferPrototypeWriteUInt32LECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeWriteUInt32LECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeWriteUInt32LECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeWriteUInt32LECodeImplementationVisibility; // writeUInt32BE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_WRITEUINT32BE 1 extern const char* const s_jsBufferPrototypeWriteUInt32BECode; extern const int s_jsBufferPrototypeWriteUInt32BECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeWriteUInt32BECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeWriteUInt32BECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeWriteUInt32BECodeImplementationVisibility; // writeIntLE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_WRITEINTLE 1 extern const char* const s_jsBufferPrototypeWriteIntLECode; extern const int s_jsBufferPrototypeWriteIntLECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeWriteIntLECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeWriteIntLECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeWriteIntLECodeImplementationVisibility; // writeIntBE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_WRITEINTBE 1 extern const char* const s_jsBufferPrototypeWriteIntBECode; extern const int s_jsBufferPrototypeWriteIntBECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeWriteIntBECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeWriteIntBECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeWriteIntBECodeImplementationVisibility; // writeUIntLE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_WRITEUINTLE 1 extern const char* const s_jsBufferPrototypeWriteUIntLECode; extern const int s_jsBufferPrototypeWriteUIntLECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeWriteUIntLECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeWriteUIntLECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeWriteUIntLECodeImplementationVisibility; // writeUIntBE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_WRITEUINTBE 1 extern const char* const s_jsBufferPrototypeWriteUIntBECode; extern const int s_jsBufferPrototypeWriteUIntBECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeWriteUIntBECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeWriteUIntBECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeWriteUIntBECodeImplementationVisibility; // writeFloatLE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_WRITEFLOATLE 1 extern const char* const s_jsBufferPrototypeWriteFloatLECode; extern const int s_jsBufferPrototypeWriteFloatLECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeWriteFloatLECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeWriteFloatLECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeWriteFloatLECodeImplementationVisibility; // writeFloatBE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_WRITEFLOATBE 1 extern const char* const s_jsBufferPrototypeWriteFloatBECode; extern const int s_jsBufferPrototypeWriteFloatBECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeWriteFloatBECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeWriteFloatBECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeWriteFloatBECodeImplementationVisibility; // writeDoubleLE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_WRITEDOUBLELE 1 extern const char* const s_jsBufferPrototypeWriteDoubleLECode; extern const int s_jsBufferPrototypeWriteDoubleLECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeWriteDoubleLECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeWriteDoubleLECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeWriteDoubleLECodeImplementationVisibility; // writeDoubleBE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_WRITEDOUBLEBE 1 extern const char* const s_jsBufferPrototypeWriteDoubleBECode; extern const int s_jsBufferPrototypeWriteDoubleBECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeWriteDoubleBECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeWriteDoubleBECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeWriteDoubleBECodeImplementationVisibility; // writeBigInt64LE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_WRITEBIGINT64LE 1 extern const char* const s_jsBufferPrototypeWriteBigInt64LECode; extern const int s_jsBufferPrototypeWriteBigInt64LECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeWriteBigInt64LECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeWriteBigInt64LECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeWriteBigInt64LECodeImplementationVisibility; // writeBigInt64BE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_WRITEBIGINT64BE 1 extern const char* const s_jsBufferPrototypeWriteBigInt64BECode; extern const int s_jsBufferPrototypeWriteBigInt64BECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeWriteBigInt64BECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeWriteBigInt64BECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeWriteBigInt64BECodeImplementationVisibility; // writeBigUInt64LE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_WRITEBIGUINT64LE 1 extern const char* const s_jsBufferPrototypeWriteBigUInt64LECode; extern const int s_jsBufferPrototypeWriteBigUInt64LECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeWriteBigUInt64LECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeWriteBigUInt64LECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeWriteBigUInt64LECodeImplementationVisibility; // writeBigUInt64BE #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_WRITEBIGUINT64BE 1 extern const char* const s_jsBufferPrototypeWriteBigUInt64BECode; extern const int s_jsBufferPrototypeWriteBigUInt64BECodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeWriteBigUInt64BECodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeWriteBigUInt64BECodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeWriteBigUInt64BECodeImplementationVisibility; // utf8Write #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_UTF8WRITE 1 extern const char* const s_jsBufferPrototypeUtf8WriteCode; extern const int s_jsBufferPrototypeUtf8WriteCodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeUtf8WriteCodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeUtf8WriteCodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeUtf8WriteCodeImplementationVisibility; // ucs2Write #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_UCS2WRITE 1 extern const char* const s_jsBufferPrototypeUcs2WriteCode; extern const int s_jsBufferPrototypeUcs2WriteCodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeUcs2WriteCodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeUcs2WriteCodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeUcs2WriteCodeImplementationVisibility; // utf16leWrite #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_UTF16LEWRITE 1 extern const char* const s_jsBufferPrototypeUtf16leWriteCode; extern const int s_jsBufferPrototypeUtf16leWriteCodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeUtf16leWriteCodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeUtf16leWriteCodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeUtf16leWriteCodeImplementationVisibility; // latin1Write #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_LATIN1WRITE 1 extern const char* const s_jsBufferPrototypeLatin1WriteCode; extern const int s_jsBufferPrototypeLatin1WriteCodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeLatin1WriteCodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeLatin1WriteCodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeLatin1WriteCodeImplementationVisibility; // asciiWrite #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_ASCIIWRITE 1 extern const char* const s_jsBufferPrototypeAsciiWriteCode; extern const int s_jsBufferPrototypeAsciiWriteCodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeAsciiWriteCodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeAsciiWriteCodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeAsciiWriteCodeImplementationVisibility; // base64Write #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_BASE64WRITE 1 extern const char* const s_jsBufferPrototypeBase64WriteCode; extern const int s_jsBufferPrototypeBase64WriteCodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeBase64WriteCodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeBase64WriteCodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeBase64WriteCodeImplementationVisibility; // base64urlWrite #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_BASE64URLWRITE 1 extern const char* const s_jsBufferPrototypeBase64urlWriteCode; extern const int s_jsBufferPrototypeBase64urlWriteCodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeBase64urlWriteCodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeBase64urlWriteCodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeBase64urlWriteCodeImplementationVisibility; // hexWrite #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_HEXWRITE 1 extern const char* const s_jsBufferPrototypeHexWriteCode; extern const int s_jsBufferPrototypeHexWriteCodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeHexWriteCodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeHexWriteCodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeHexWriteCodeImplementationVisibility; // utf8Slice #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_UTF8SLICE 1 extern const char* const s_jsBufferPrototypeUtf8SliceCode; extern const int s_jsBufferPrototypeUtf8SliceCodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeUtf8SliceCodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeUtf8SliceCodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeUtf8SliceCodeImplementationVisibility; // ucs2Slice #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_UCS2SLICE 1 extern const char* const s_jsBufferPrototypeUcs2SliceCode; extern const int s_jsBufferPrototypeUcs2SliceCodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeUcs2SliceCodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeUcs2SliceCodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeUcs2SliceCodeImplementationVisibility; // utf16leSlice #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_UTF16LESLICE 1 extern const char* const s_jsBufferPrototypeUtf16leSliceCode; extern const int s_jsBufferPrototypeUtf16leSliceCodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeUtf16leSliceCodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeUtf16leSliceCodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeUtf16leSliceCodeImplementationVisibility; // latin1Slice #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_LATIN1SLICE 1 extern const char* const s_jsBufferPrototypeLatin1SliceCode; extern const int s_jsBufferPrototypeLatin1SliceCodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeLatin1SliceCodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeLatin1SliceCodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeLatin1SliceCodeImplementationVisibility; // asciiSlice #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_ASCIISLICE 1 extern const char* const s_jsBufferPrototypeAsciiSliceCode; extern const int s_jsBufferPrototypeAsciiSliceCodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeAsciiSliceCodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeAsciiSliceCodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeAsciiSliceCodeImplementationVisibility; // base64Slice #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_BASE64SLICE 1 extern const char* const s_jsBufferPrototypeBase64SliceCode; extern const int s_jsBufferPrototypeBase64SliceCodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeBase64SliceCodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeBase64SliceCodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeBase64SliceCodeImplementationVisibility; // base64urlSlice #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_BASE64URLSLICE 1 extern const char* const s_jsBufferPrototypeBase64urlSliceCode; extern const int s_jsBufferPrototypeBase64urlSliceCodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeBase64urlSliceCodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeBase64urlSliceCodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeBase64urlSliceCodeImplementationVisibility; // hexSlice #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_HEXSLICE 1 extern const char* const s_jsBufferPrototypeHexSliceCode; extern const int s_jsBufferPrototypeHexSliceCodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeHexSliceCodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeHexSliceCodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeHexSliceCodeImplementationVisibility; // toJSON #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_TOJSON 1 extern const char* const s_jsBufferPrototypeToJSONCode; extern const int s_jsBufferPrototypeToJSONCodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeToJSONCodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeToJSONCodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeToJSONCodeImplementationVisibility; // slice #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_SLICE 1 extern const char* const s_jsBufferPrototypeSliceCode; extern const int s_jsBufferPrototypeSliceCodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeSliceCodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeSliceCodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeSliceCodeImplementationVisibility; // parent #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_PARENT 1 extern const char* const s_jsBufferPrototypeParentCode; extern const int s_jsBufferPrototypeParentCodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeParentCodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeParentCodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeParentCodeImplementationVisibility; // offset #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_OFFSET 1 extern const char* const s_jsBufferPrototypeOffsetCode; extern const int s_jsBufferPrototypeOffsetCodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeOffsetCodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeOffsetCodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeOffsetCodeImplementationVisibility; // inspect #define WEBCORE_BUILTIN_JSBUFFERPROTOTYPE_INSPECT 1 extern const char* const s_jsBufferPrototypeInspectCode; extern const int s_jsBufferPrototypeInspectCodeLength; extern const JSC::ConstructAbility s_jsBufferPrototypeInspectCodeConstructAbility; extern const JSC::ConstructorKind s_jsBufferPrototypeInspectCodeConstructorKind; extern const JSC::ImplementationVisibility s_jsBufferPrototypeInspectCodeImplementationVisibility; #define WEBCORE_FOREACH_JSBUFFERPROTOTYPE_BUILTIN_DATA(macro) \ macro(setBigUint64, jsBufferPrototypeSetBigUint64, 3) \ macro(readInt8, jsBufferPrototypeReadInt8, 1) \ macro(readUInt8, jsBufferPrototypeReadUInt8, 1) \ macro(readInt16LE, jsBufferPrototypeReadInt16LE, 1) \ macro(readInt16BE, jsBufferPrototypeReadInt16BE, 1) \ macro(readUInt16LE, jsBufferPrototypeReadUInt16LE, 1) \ macro(readUInt16BE, jsBufferPrototypeReadUInt16BE, 1) \ macro(readInt32LE, jsBufferPrototypeReadInt32LE, 1) \ macro(readInt32BE, jsBufferPrototypeReadInt32BE, 1) \ macro(readUInt32LE, jsBufferPrototypeReadUInt32LE, 1) \ macro(readUInt32BE, jsBufferPrototypeReadUInt32BE, 1) \ macro(readIntLE, jsBufferPrototypeReadIntLE, 2) \ macro(readIntBE, jsBufferPrototypeReadIntBE, 2) \ macro(readUIntLE, jsBufferPrototypeReadUIntLE, 2) \ macro(readUIntBE, jsBufferPrototypeReadUIntBE, 2) \ macro(readFloatLE, jsBufferPrototypeReadFloatLE, 1) \ macro(readFloatBE, jsBufferPrototypeReadFloatBE, 1) \ macro(readDoubleLE, jsBufferPrototypeReadDoubleLE, 1) \ macro(readDoubleBE, jsBufferPrototypeReadDoubleBE, 1) \ macro(readBigInt64LE, jsBufferPrototypeReadBigInt64LE, 1) \ macro(readBigInt64BE, jsBufferPrototypeReadBigInt64BE, 1) \ macro(readBigUInt64LE, jsBufferPrototypeReadBigUInt64LE, 1) \ macro(readBigUInt64BE, jsBufferPrototypeReadBigUInt64BE, 1) \ macro(writeInt8, jsBufferPrototypeWriteInt8, 2) \ macro(writeUInt8, jsBufferPrototypeWriteUInt8, 2) \ macro(writeInt16LE, jsBufferPrototypeWriteInt16LE, 2) \ macro(writeInt16BE, jsBufferPrototypeWriteInt16BE, 2) \ macro(writeUInt16LE, jsBufferPrototypeWriteUInt16LE, 2) \ macro(writeUInt16BE, jsBufferPrototypeWriteUInt16BE, 2) \ macro(writeInt32LE, jsBufferPrototypeWriteInt32LE, 2) \ macro(writeInt32BE, jsBufferPrototypeWriteInt32BE, 2) \ macro(writeUInt32LE, jsBufferPrototypeWriteUInt32LE, 2) \ macro(writeUInt32BE, jsBufferPrototypeWriteUInt32BE, 2) \ macro(writeIntLE, jsBufferPrototypeWriteIntLE, 3) \ macro(writeIntBE, jsBufferPrototypeWriteIntBE, 3) \ macro(writeUIntLE, jsBufferPrototypeWriteUIntLE, 3) \ macro(writeUIntBE, jsBufferPrototypeWriteUIntBE, 3) \ macro(writeFloatLE, jsBufferPrototypeWriteFloatLE, 2) \ macro(writeFloatBE, jsBufferPrototypeWriteFloatBE, 2) \ macro(writeDoubleLE, jsBufferPrototypeWriteDoubleLE, 2) \ macro(writeDoubleBE, jsBufferPrototypeWriteDoubleBE, 2) \ macro(writeBigInt64LE, jsBufferPrototypeWriteBigInt64LE, 2) \ macro(writeBigInt64BE, jsBufferPrototypeWriteBigInt64BE, 2) \ macro(writeBigUInt64LE, jsBufferPrototypeWriteBigUInt64LE, 2) \ macro(writeBigUInt64BE, jsBufferPrototypeWriteBigUInt64BE, 2) \ macro(utf8Write, jsBufferPrototypeUtf8Write, 3) \ macro(ucs2Write, jsBufferPrototypeUcs2Write, 3) \ macro(utf16leWrite, jsBufferPrototypeUtf16leWrite, 3) \ macro(latin1Write, jsBufferPrototypeLatin1Write, 3) \ macro(asciiWrite, jsBufferPrototypeAsciiWrite, 3) \ macro(base64Write, jsBufferPrototypeBase64Write, 3) \ macro(base64urlWrite, jsBufferPrototypeBase64urlWrite, 3) \ macro(hexWrite, jsBufferPrototypeHexWrite, 3) \ macro(utf8Slice, jsBufferPrototypeUtf8Slice, 2) \ macro(ucs2Slice, jsBufferPrototypeUcs2Slice, 2) \ macro(utf16leSlice, jsBufferPrototypeUtf16leSlice, 2) \ macro(latin1Slice, jsBufferPrototypeLatin1Slice, 2) \ macro(asciiSlice, jsBufferPrototypeAsciiSlice, 2) \ macro(base64Slice, jsBufferPrototypeBase64Slice, 2) \ macro(base64urlSlice, jsBufferPrototypeBase64urlSlice, 2) \ macro(hexSlice, jsBufferPrototypeHexSlice, 2) \ macro(toJSON, jsBufferPrototypeToJSON, 0) \ macro(slice, jsBufferPrototypeSlice, 2) \ macro(parent, jsBufferPrototypeParent, 0) \ macro(offset, jsBufferPrototypeOffset, 0) \ macro(inspect, jsBufferPrototypeInspect, 2) \ #define WEBCORE_FOREACH_JSBUFFERPROTOTYPE_BUILTIN_CODE(macro) \ macro(jsBufferPrototypeSetBigUint64Code, setBigUint64, ASCIILiteral(), s_jsBufferPrototypeSetBigUint64CodeLength) \ macro(jsBufferPrototypeReadInt8Code, readInt8, ASCIILiteral(), s_jsBufferPrototypeReadInt8CodeLength) \ macro(jsBufferPrototypeReadUInt8Code, readUInt8, ASCIILiteral(), s_jsBufferPrototypeReadUInt8CodeLength) \ macro(jsBufferPrototypeReadInt16LECode, readInt16LE, ASCIILiteral(), s_jsBufferPrototypeReadInt16LECodeLength) \ macro(jsBufferPrototypeReadInt16BECode, readInt16BE, ASCIILiteral(), s_jsBufferPrototypeReadInt16BECodeLength) \ macro(jsBufferPrototypeReadUInt16LECode, readUInt16LE, ASCIILiteral(), s_jsBufferPrototypeReadUInt16LECodeLength) \ macro(jsBufferPrototypeReadUInt16BECode, readUInt16BE, ASCIILiteral(), s_jsBufferPrototypeReadUInt16BECodeLength) \ macro(jsBufferPrototypeReadInt32LECode, readInt32LE, ASCIILiteral(), s_jsBufferPrototypeReadInt32LECodeLength) \ macro(jsBufferPrototypeReadInt32BECode, readInt32BE, ASCIILiteral(), s_jsBufferPrototypeReadInt32BECodeLength) \ macro(jsBufferPrototypeReadUInt32LECode, readUInt32LE, ASCIILiteral(), s_jsBufferPrototypeReadUInt32LECodeLength) \ macro(jsBufferPrototypeReadUInt32BECode, readUInt32BE, ASCIILiteral(), s_jsBufferPrototypeReadUInt32BECodeLength) \ macro(jsBufferPrototypeReadIntLECode, readIntLE, ASCIILiteral(), s_jsBufferPrototypeReadIntLECodeLength) \ macro(jsBufferPrototypeReadIntBECode, readIntBE, ASCIILiteral(), s_jsBufferPrototypeReadIntBECodeLength) \ macro(jsBufferPrototypeReadUIntLECode, readUIntLE, ASCIILiteral(), s_jsBufferPrototypeReadUIntLECodeLength) \ macro(jsBufferPrototypeReadUIntBECode, readUIntBE, ASCIILiteral(), s_jsBufferPrototypeReadUIntBECodeLength) \ macro(jsBufferPrototypeReadFloatLECode, readFloatLE, ASCIILiteral(), s_jsBufferPrototypeReadFloatLECodeLength) \ macro(jsBufferPrototypeReadFloatBECode, readFloatBE, ASCIILiteral(), s_jsBufferPrototypeReadFloatBECodeLength) \ macro(jsBufferPrototypeReadDoubleLECode, readDoubleLE, ASCIILiteral(), s_jsBufferPrototypeReadDoubleLECodeLength) \ macro(jsBufferPrototypeReadDoubleBECode, readDoubleBE, ASCIILiteral(), s_jsBufferPrototypeReadDoubleBECodeLength) \ macro(jsBufferPrototypeReadBigInt64LECode, readBigInt64LE, ASCIILiteral(), s_jsBufferPrototypeReadBigInt64LECodeLength) \ macro(jsBufferPrototypeReadBigInt64BECode, readBigInt64BE, ASCIILiteral(), s_jsBufferPrototypeReadBigInt64BECodeLength) \ macro(jsBufferPrototypeReadBigUInt64LECode, readBigUInt64LE, ASCIILiteral(), s_jsBufferPrototypeReadBigUInt64LECodeLength) \ macro(jsBufferPrototypeReadBigUInt64BECode, readBigUInt64BE, ASCIILiteral(), s_jsBufferPrototypeReadBigUInt64BECodeLength) \ macro(jsBufferPrototypeWriteInt8Code, writeInt8, ASCIILiteral(), s_jsBufferPrototypeWriteInt8CodeLength) \ macro(jsBufferPrototypeWriteUInt8Code, writeUInt8, ASCIILiteral(), s_jsBufferPrototypeWriteUInt8CodeLength) \ macro(jsBufferPrototypeWriteInt16LECode, writeInt16LE, ASCIILiteral(), s_jsBufferPrototypeWriteInt16LECodeLength) \ macro(jsBufferPrototypeWriteInt16BECode, writeInt16BE, ASCIILiteral(), s_jsBufferPrototypeWriteInt16BECodeLength) \ macro(jsBufferPrototypeWriteUInt16LECode, writeUInt16LE, ASCIILiteral(), s_jsBufferPrototypeWriteUInt16LECodeLength) \ macro(jsBufferPrototypeWriteUInt16BECode, writeUInt16BE, ASCIILiteral(), s_jsBufferPrototypeWriteUInt16BECodeLength) \ macro(jsBufferPrototypeWriteInt32LECode, writeInt32LE, ASCIILiteral(), s_jsBufferPrototypeWriteInt32LECodeLength) \ macro(jsBufferPrototypeWriteInt32BECode, writeInt32BE, ASCIILiteral(), s_jsBufferPrototypeWriteInt32BECodeLength) \ macro(jsBufferPrototypeWriteUInt32LECode, writeUInt32LE, ASCIILiteral(), s_jsBufferPrototypeWriteUInt32LECodeLength) \ macro(jsBufferPrototypeWriteUInt32BECode, writeUInt32BE, ASCIILiteral(), s_jsBufferPrototypeWriteUInt32BECodeLength) \ macro(jsBufferPrototypeWriteIntLECode, writeIntLE, ASCIILiteral(), s_jsBufferPrototypeWriteIntLECodeLength) \ macro(jsBufferPrototypeWriteIntBECode, writeIntBE, ASCIILiteral(), s_jsBufferPrototypeWriteIntBECodeLength) \ macro(jsBufferPrototypeWriteUIntLECode, writeUIntLE, ASCIILiteral(), s_jsBufferPrototypeWriteUIntLECodeLength) \ macro(jsBufferPrototypeWriteUIntBECode, writeUIntBE, ASCIILiteral(), s_jsBufferPrototypeWriteUIntBECodeLength) \ macro(jsBufferPrototypeWriteFloatLECode, writeFloatLE, ASCIILiteral(), s_jsBufferPrototypeWriteFloatLECodeLength) \ macro(jsBufferPrototypeWriteFloatBECode, writeFloatBE, ASCIILiteral(), s_jsBufferPrototypeWriteFloatBECodeLength) \ macro(jsBufferPrototypeWriteDoubleLECode, writeDoubleLE, ASCIILiteral(), s_jsBufferPrototypeWriteDoubleLECodeLength) \ macro(jsBufferPrototypeWriteDoubleBECode, writeDoubleBE, ASCIILiteral(), s_jsBufferPrototypeWriteDoubleBECodeLength) \ macro(jsBufferPrototypeWriteBigInt64LECode, writeBigInt64LE, ASCIILiteral(), s_jsBufferPrototypeWriteBigInt64LECodeLength) \ macro(jsBufferPrototypeWriteBigInt64BECode, writeBigInt64BE, ASCIILiteral(), s_jsBufferPrototypeWriteBigInt64BECodeLength) \ macro(jsBufferPrototypeWriteBigUInt64LECode, writeBigUInt64LE, ASCIILiteral(), s_jsBufferPrototypeWriteBigUInt64LECodeLength) \ macro(jsBufferPrototypeWriteBigUInt64BECode, writeBigUInt64BE, ASCIILiteral(), s_jsBufferPrototypeWriteBigUInt64BECodeLength) \ macro(jsBufferPrototypeUtf8WriteCode, utf8Write, ASCIILiteral(), s_jsBufferPrototypeUtf8WriteCodeLength) \ macro(jsBufferPrototypeUcs2WriteCode, ucs2Write, ASCIILiteral(), s_jsBufferPrototypeUcs2WriteCodeLength) \ macro(jsBufferPrototypeUtf16leWriteCode, utf16leWrite, ASCIILiteral(), s_jsBufferPrototypeUtf16leWriteCodeLength) \ macro(jsBufferPrototypeLatin1WriteCode, latin1Write, ASCIILiteral(), s_jsBufferPrototypeLatin1WriteCodeLength) \ macro(jsBufferPrototypeAsciiWriteCode, asciiWrite, ASCIILiteral(), s_jsBufferPrototypeAsciiWriteCodeLength) \ macro(jsBufferPrototypeBase64WriteCode, base64Write, ASCIILiteral(), s_jsBufferPrototypeBase64WriteCodeLength) \ macro(jsBufferPrototypeBase64urlWriteCode, base64urlWrite, ASCIILiteral(), s_jsBufferPrototypeBase64urlWriteCodeLength) \ macro(jsBufferPrototypeHexWriteCode, hexWrite, ASCIILiteral(), s_jsBufferPrototypeHexWriteCodeLength) \ macro(jsBufferPrototypeUtf8SliceCode, utf8Slice, ASCIILiteral(), s_jsBufferPrototypeUtf8SliceCodeLength) \ macro(jsBufferPrototypeUcs2SliceCode, ucs2Slice, ASCIILiteral(), s_jsBufferPrototypeUcs2SliceCodeLength) \ macro(jsBufferPrototypeUtf16leSliceCode, utf16leSlice, ASCIILiteral(), s_jsBufferPrototypeUtf16leSliceCodeLength) \ macro(jsBufferPrototypeLatin1SliceCode, latin1Slice, ASCIILiteral(), s_jsBufferPrototypeLatin1SliceCodeLength) \ macro(jsBufferPrototypeAsciiSliceCode, asciiSlice, ASCIILiteral(), s_jsBufferPrototypeAsciiSliceCodeLength) \ macro(jsBufferPrototypeBase64SliceCode, base64Slice, ASCIILiteral(), s_jsBufferPrototypeBase64SliceCodeLength) \ macro(jsBufferPrototypeBase64urlSliceCode, base64urlSlice, ASCIILiteral(), s_jsBufferPrototypeBase64urlSliceCodeLength) \ macro(jsBufferPrototypeHexSliceCode, hexSlice, ASCIILiteral(), s_jsBufferPrototypeHexSliceCodeLength) \ macro(jsBufferPrototypeToJSONCode, toJSON, ASCIILiteral(), s_jsBufferPrototypeToJSONCodeLength) \ macro(jsBufferPrototypeSliceCode, slice, ASCIILiteral(), s_jsBufferPrototypeSliceCodeLength) \ macro(jsBufferPrototypeParentCode, parent, "get parent"_s, s_jsBufferPrototypeParentCodeLength) \ macro(jsBufferPrototypeOffsetCode, offset, "get offset"_s, s_jsBufferPrototypeOffsetCodeLength) \ macro(jsBufferPrototypeInspectCode, inspect, ASCIILiteral(), s_jsBufferPrototypeInspectCodeLength) \ #define WEBCORE_FOREACH_JSBUFFERPROTOTYPE_BUILTIN_FUNCTION_NAME(macro) \ macro(setBigUint64) \ macro(readInt8) \ macro(readUInt8) \ macro(readInt16LE) \ macro(readInt16BE) \ macro(readUInt16LE) \ macro(readUInt16BE) \ macro(readInt32LE) \ macro(readInt32BE) \ macro(readUInt32LE) \ macro(readUInt32BE) \ macro(readIntLE) \ macro(readIntBE) \ macro(readUIntLE) \ macro(readUIntBE) \ macro(readFloatLE) \ macro(readFloatBE) \ macro(readDoubleLE) \ macro(readDoubleBE) \ macro(readBigInt64LE) \ macro(readBigInt64BE) \ macro(readBigUInt64LE) \ macro(readBigUInt64BE) \ macro(writeInt8) \ macro(writeUInt8) \ macro(writeInt16LE) \ macro(writeInt16BE) \ macro(writeUInt16LE) \ macro(writeUInt16BE) \ macro(writeInt32LE) \ macro(writeInt32BE) \ macro(writeUInt32LE) \ macro(writeUInt32BE) \ macro(writeIntLE) \ macro(writeIntBE) \ macro(writeUIntLE) \ macro(writeUIntBE) \ macro(writeFloatLE) \ macro(writeFloatBE) \ macro(writeDoubleLE) \ macro(writeDoubleBE) \ macro(writeBigInt64LE) \ macro(writeBigInt64BE) \ macro(writeBigUInt64LE) \ macro(writeBigUInt64BE) \ macro(utf8Write) \ macro(ucs2Write) \ macro(utf16leWrite) \ macro(latin1Write) \ macro(asciiWrite) \ macro(base64Write) \ macro(base64urlWrite) \ macro(hexWrite) \ macro(utf8Slice) \ macro(ucs2Slice) \ macro(utf16leSlice) \ macro(latin1Slice) \ macro(asciiSlice) \ macro(base64Slice) \ macro(base64urlSlice) \ macro(hexSlice) \ macro(toJSON) \ macro(slice) \ macro(parent) \ macro(offset) \ macro(inspect) \ #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM&); WEBCORE_FOREACH_JSBUFFERPROTOTYPE_BUILTIN_CODE(DECLARE_BUILTIN_GENERATOR) #undef DECLARE_BUILTIN_GENERATOR class JSBufferPrototypeBuiltinsWrapper : private JSC::WeakHandleOwner { public: explicit JSBufferPrototypeBuiltinsWrapper(JSC::VM& vm) : m_vm(vm) WEBCORE_FOREACH_JSBUFFERPROTOTYPE_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), { }, JSC::SourceTaintedOrigin::Untainted)) WEBCORE_FOREACH_JSBUFFERPROTOTYPE_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_JSBUFFERPROTOTYPE_BUILTIN_CODE(EXPOSE_BUILTIN_EXECUTABLES) #undef EXPOSE_BUILTIN_EXECUTABLES WEBCORE_FOREACH_JSBUFFERPROTOTYPE_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR) void exportNames(); private: JSC::VM& m_vm; WEBCORE_FOREACH_JSBUFFERPROTOTYPE_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_NAMES) #define DECLARE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) \ JSC::SourceCode m_##name##Source;\ JSC::Weak m_##name##Executable; WEBCORE_FOREACH_JSBUFFERPROTOTYPE_BUILTIN_CODE(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; #define DEFINE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \ inline JSC::UnlinkedFunctionExecutable* JSBufferPrototypeBuiltinsWrapper::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::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_JSBUFFERPROTOTYPE_BUILTIN_CODE(DEFINE_BUILTIN_EXECUTABLES) #undef DEFINE_BUILTIN_EXECUTABLES inline void JSBufferPrototypeBuiltinsWrapper::exportNames() { #define EXPORT_FUNCTION_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName()); WEBCORE_FOREACH_JSBUFFERPROTOTYPE_BUILTIN_FUNCTION_NAME(EXPORT_FUNCTION_NAME) #undef EXPORT_FUNCTION_NAME } /* ReadableByteStreamController.ts */ // initializeReadableByteStreamController #define WEBCORE_BUILTIN_READABLEBYTESTREAMCONTROLLER_INITIALIZEREADABLEBYTESTREAMCONTROLLER 1 extern const char* const s_readableByteStreamControllerInitializeReadableByteStreamControllerCode; extern const int s_readableByteStreamControllerInitializeReadableByteStreamControllerCodeLength; extern const JSC::ConstructAbility s_readableByteStreamControllerInitializeReadableByteStreamControllerCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamControllerInitializeReadableByteStreamControllerCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamControllerInitializeReadableByteStreamControllerCodeImplementationVisibility; // enqueue #define WEBCORE_BUILTIN_READABLEBYTESTREAMCONTROLLER_ENQUEUE 1 extern const char* const s_readableByteStreamControllerEnqueueCode; extern const int s_readableByteStreamControllerEnqueueCodeLength; extern const JSC::ConstructAbility s_readableByteStreamControllerEnqueueCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamControllerEnqueueCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamControllerEnqueueCodeImplementationVisibility; // error #define WEBCORE_BUILTIN_READABLEBYTESTREAMCONTROLLER_ERROR 1 extern const char* const s_readableByteStreamControllerErrorCode; extern const int s_readableByteStreamControllerErrorCodeLength; extern const JSC::ConstructAbility s_readableByteStreamControllerErrorCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamControllerErrorCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamControllerErrorCodeImplementationVisibility; // close #define WEBCORE_BUILTIN_READABLEBYTESTREAMCONTROLLER_CLOSE 1 extern const char* const s_readableByteStreamControllerCloseCode; extern const int s_readableByteStreamControllerCloseCodeLength; extern const JSC::ConstructAbility s_readableByteStreamControllerCloseCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamControllerCloseCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamControllerCloseCodeImplementationVisibility; // byobRequest #define WEBCORE_BUILTIN_READABLEBYTESTREAMCONTROLLER_BYOBREQUEST 1 extern const char* const s_readableByteStreamControllerByobRequestCode; extern const int s_readableByteStreamControllerByobRequestCodeLength; extern const JSC::ConstructAbility s_readableByteStreamControllerByobRequestCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamControllerByobRequestCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamControllerByobRequestCodeImplementationVisibility; // desiredSize #define WEBCORE_BUILTIN_READABLEBYTESTREAMCONTROLLER_DESIREDSIZE 1 extern const char* const s_readableByteStreamControllerDesiredSizeCode; extern const int s_readableByteStreamControllerDesiredSizeCodeLength; extern const JSC::ConstructAbility s_readableByteStreamControllerDesiredSizeCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamControllerDesiredSizeCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamControllerDesiredSizeCodeImplementationVisibility; #define WEBCORE_FOREACH_READABLEBYTESTREAMCONTROLLER_BUILTIN_DATA(macro) \ macro(initializeReadableByteStreamController, readableByteStreamControllerInitializeReadableByteStreamController, 3) \ macro(enqueue, readableByteStreamControllerEnqueue, 1) \ macro(error, readableByteStreamControllerError, 1) \ macro(close, readableByteStreamControllerClose, 0) \ macro(byobRequest, readableByteStreamControllerByobRequest, 0) \ macro(desiredSize, readableByteStreamControllerDesiredSize, 0) \ #define WEBCORE_FOREACH_READABLEBYTESTREAMCONTROLLER_BUILTIN_CODE(macro) \ macro(readableByteStreamControllerInitializeReadableByteStreamControllerCode, initializeReadableByteStreamController, ASCIILiteral(), s_readableByteStreamControllerInitializeReadableByteStreamControllerCodeLength) \ macro(readableByteStreamControllerEnqueueCode, enqueue, ASCIILiteral(), s_readableByteStreamControllerEnqueueCodeLength) \ macro(readableByteStreamControllerErrorCode, error, ASCIILiteral(), s_readableByteStreamControllerErrorCodeLength) \ macro(readableByteStreamControllerCloseCode, close, ASCIILiteral(), s_readableByteStreamControllerCloseCodeLength) \ macro(readableByteStreamControllerByobRequestCode, byobRequest, "get byobRequest"_s, s_readableByteStreamControllerByobRequestCodeLength) \ macro(readableByteStreamControllerDesiredSizeCode, desiredSize, "get desiredSize"_s, s_readableByteStreamControllerDesiredSizeCodeLength) \ #define WEBCORE_FOREACH_READABLEBYTESTREAMCONTROLLER_BUILTIN_FUNCTION_NAME(macro) \ macro(initializeReadableByteStreamController) \ macro(enqueue) \ macro(error) \ macro(close) \ macro(byobRequest) \ macro(desiredSize) \ #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM&); WEBCORE_FOREACH_READABLEBYTESTREAMCONTROLLER_BUILTIN_CODE(DECLARE_BUILTIN_GENERATOR) #undef DECLARE_BUILTIN_GENERATOR class ReadableByteStreamControllerBuiltinsWrapper : private JSC::WeakHandleOwner { public: explicit ReadableByteStreamControllerBuiltinsWrapper(JSC::VM& vm) : m_vm(vm) WEBCORE_FOREACH_READABLEBYTESTREAMCONTROLLER_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), { }, JSC::SourceTaintedOrigin::Untainted)) WEBCORE_FOREACH_READABLEBYTESTREAMCONTROLLER_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_READABLEBYTESTREAMCONTROLLER_BUILTIN_CODE(EXPOSE_BUILTIN_EXECUTABLES) #undef EXPOSE_BUILTIN_EXECUTABLES WEBCORE_FOREACH_READABLEBYTESTREAMCONTROLLER_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR) void exportNames(); private: JSC::VM& m_vm; WEBCORE_FOREACH_READABLEBYTESTREAMCONTROLLER_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_NAMES) #define DECLARE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) \ JSC::SourceCode m_##name##Source;\ JSC::Weak m_##name##Executable; WEBCORE_FOREACH_READABLEBYTESTREAMCONTROLLER_BUILTIN_CODE(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; #define DEFINE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \ inline JSC::UnlinkedFunctionExecutable* ReadableByteStreamControllerBuiltinsWrapper::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::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_READABLEBYTESTREAMCONTROLLER_BUILTIN_CODE(DEFINE_BUILTIN_EXECUTABLES) #undef DEFINE_BUILTIN_EXECUTABLES inline void ReadableByteStreamControllerBuiltinsWrapper::exportNames() { #define EXPORT_FUNCTION_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName()); WEBCORE_FOREACH_READABLEBYTESTREAMCONTROLLER_BUILTIN_FUNCTION_NAME(EXPORT_FUNCTION_NAME) #undef EXPORT_FUNCTION_NAME } /* UtilInspect.ts */ // getStylizeWithColor #define WEBCORE_BUILTIN_UTILINSPECT_GETSTYLIZEWITHCOLOR 1 extern const char* const s_utilInspectGetStylizeWithColorCode; extern const int s_utilInspectGetStylizeWithColorCodeLength; extern const JSC::ConstructAbility s_utilInspectGetStylizeWithColorCodeConstructAbility; extern const JSC::ConstructorKind s_utilInspectGetStylizeWithColorCodeConstructorKind; extern const JSC::ImplementationVisibility s_utilInspectGetStylizeWithColorCodeImplementationVisibility; // stylizeWithNoColor #define WEBCORE_BUILTIN_UTILINSPECT_STYLIZEWITHNOCOLOR 1 extern const char* const s_utilInspectStylizeWithNoColorCode; extern const int s_utilInspectStylizeWithNoColorCodeLength; extern const JSC::ConstructAbility s_utilInspectStylizeWithNoColorCodeConstructAbility; extern const JSC::ConstructorKind s_utilInspectStylizeWithNoColorCodeConstructorKind; extern const JSC::ImplementationVisibility s_utilInspectStylizeWithNoColorCodeImplementationVisibility; #define WEBCORE_FOREACH_UTILINSPECT_BUILTIN_DATA(macro) \ macro(getStylizeWithColor, utilInspectGetStylizeWithColor, 1) \ macro(stylizeWithNoColor, utilInspectStylizeWithNoColor, 1) \ #define WEBCORE_FOREACH_UTILINSPECT_BUILTIN_CODE(macro) \ macro(utilInspectGetStylizeWithColorCode, getStylizeWithColor, ASCIILiteral(), s_utilInspectGetStylizeWithColorCodeLength) \ macro(utilInspectStylizeWithNoColorCode, stylizeWithNoColor, ASCIILiteral(), s_utilInspectStylizeWithNoColorCodeLength) \ #define WEBCORE_FOREACH_UTILINSPECT_BUILTIN_FUNCTION_NAME(macro) \ macro(getStylizeWithColor) \ macro(stylizeWithNoColor) \ #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM&); WEBCORE_FOREACH_UTILINSPECT_BUILTIN_CODE(DECLARE_BUILTIN_GENERATOR) #undef DECLARE_BUILTIN_GENERATOR class UtilInspectBuiltinsWrapper : private JSC::WeakHandleOwner { public: explicit UtilInspectBuiltinsWrapper(JSC::VM& vm) : m_vm(vm) WEBCORE_FOREACH_UTILINSPECT_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), { }, JSC::SourceTaintedOrigin::Untainted)) WEBCORE_FOREACH_UTILINSPECT_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_UTILINSPECT_BUILTIN_CODE(EXPOSE_BUILTIN_EXECUTABLES) #undef EXPOSE_BUILTIN_EXECUTABLES WEBCORE_FOREACH_UTILINSPECT_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR) void exportNames(); private: JSC::VM& m_vm; WEBCORE_FOREACH_UTILINSPECT_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_NAMES) #define DECLARE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) \ JSC::SourceCode m_##name##Source;\ JSC::Weak m_##name##Executable; WEBCORE_FOREACH_UTILINSPECT_BUILTIN_CODE(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; #define DEFINE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \ inline JSC::UnlinkedFunctionExecutable* UtilInspectBuiltinsWrapper::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::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_UTILINSPECT_BUILTIN_CODE(DEFINE_BUILTIN_EXECUTABLES) #undef DEFINE_BUILTIN_EXECUTABLES inline void UtilInspectBuiltinsWrapper::exportNames() { #define EXPORT_FUNCTION_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName()); WEBCORE_FOREACH_UTILINSPECT_BUILTIN_FUNCTION_NAME(EXPORT_FUNCTION_NAME) #undef EXPORT_FUNCTION_NAME } /* ConsoleObject.ts */ // asyncIterator #define WEBCORE_BUILTIN_CONSOLEOBJECT_ASYNCITERATOR 1 extern const char* const s_consoleObjectAsyncIteratorCode; extern const int s_consoleObjectAsyncIteratorCodeLength; extern const JSC::ConstructAbility s_consoleObjectAsyncIteratorCodeConstructAbility; extern const JSC::ConstructorKind s_consoleObjectAsyncIteratorCodeConstructorKind; extern const JSC::ImplementationVisibility s_consoleObjectAsyncIteratorCodeImplementationVisibility; // write #define WEBCORE_BUILTIN_CONSOLEOBJECT_WRITE 1 extern const char* const s_consoleObjectWriteCode; extern const int s_consoleObjectWriteCodeLength; extern const JSC::ConstructAbility s_consoleObjectWriteCodeConstructAbility; extern const JSC::ConstructorKind s_consoleObjectWriteCodeConstructorKind; extern const JSC::ImplementationVisibility s_consoleObjectWriteCodeImplementationVisibility; // createConsoleConstructor #define WEBCORE_BUILTIN_CONSOLEOBJECT_CREATECONSOLECONSTRUCTOR 1 extern const char* const s_consoleObjectCreateConsoleConstructorCode; extern const int s_consoleObjectCreateConsoleConstructorCodeLength; extern const JSC::ConstructAbility s_consoleObjectCreateConsoleConstructorCodeConstructAbility; extern const JSC::ConstructorKind s_consoleObjectCreateConsoleConstructorCodeConstructorKind; extern const JSC::ImplementationVisibility s_consoleObjectCreateConsoleConstructorCodeImplementationVisibility; #define WEBCORE_FOREACH_CONSOLEOBJECT_BUILTIN_DATA(macro) \ macro(asyncIterator, consoleObjectAsyncIterator, 0) \ macro(write, consoleObjectWrite, 1) \ macro(createConsoleConstructor, consoleObjectCreateConsoleConstructor, 1) \ #define WEBCORE_FOREACH_CONSOLEOBJECT_BUILTIN_CODE(macro) \ macro(consoleObjectAsyncIteratorCode, asyncIterator, "[Symbol.asyncIterator]"_s, s_consoleObjectAsyncIteratorCodeLength) \ macro(consoleObjectWriteCode, write, ASCIILiteral(), s_consoleObjectWriteCodeLength) \ macro(consoleObjectCreateConsoleConstructorCode, createConsoleConstructor, ASCIILiteral(), s_consoleObjectCreateConsoleConstructorCodeLength) \ #define WEBCORE_FOREACH_CONSOLEOBJECT_BUILTIN_FUNCTION_NAME(macro) \ macro(asyncIterator) \ macro(write) \ macro(createConsoleConstructor) \ #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM&); WEBCORE_FOREACH_CONSOLEOBJECT_BUILTIN_CODE(DECLARE_BUILTIN_GENERATOR) #undef DECLARE_BUILTIN_GENERATOR class ConsoleObjectBuiltinsWrapper : private JSC::WeakHandleOwner { public: explicit ConsoleObjectBuiltinsWrapper(JSC::VM& vm) : m_vm(vm) WEBCORE_FOREACH_CONSOLEOBJECT_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), { }, JSC::SourceTaintedOrigin::Untainted)) WEBCORE_FOREACH_CONSOLEOBJECT_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_CONSOLEOBJECT_BUILTIN_CODE(EXPOSE_BUILTIN_EXECUTABLES) #undef EXPOSE_BUILTIN_EXECUTABLES WEBCORE_FOREACH_CONSOLEOBJECT_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR) void exportNames(); private: JSC::VM& m_vm; WEBCORE_FOREACH_CONSOLEOBJECT_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_NAMES) #define DECLARE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) \ JSC::SourceCode m_##name##Source;\ JSC::Weak m_##name##Executable; WEBCORE_FOREACH_CONSOLEOBJECT_BUILTIN_CODE(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; #define DEFINE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \ inline JSC::UnlinkedFunctionExecutable* ConsoleObjectBuiltinsWrapper::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::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_CONSOLEOBJECT_BUILTIN_CODE(DEFINE_BUILTIN_EXECUTABLES) #undef DEFINE_BUILTIN_EXECUTABLES inline void ConsoleObjectBuiltinsWrapper::exportNames() { #define EXPORT_FUNCTION_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName()); WEBCORE_FOREACH_CONSOLEOBJECT_BUILTIN_FUNCTION_NAME(EXPORT_FUNCTION_NAME) #undef EXPORT_FUNCTION_NAME } /* ReadableStreamInternals.ts */ // readableStreamReaderGenericInitialize #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMREADERGENERICINITIALIZE 1 extern const char* const s_readableStreamInternalsReadableStreamReaderGenericInitializeCode; extern const int s_readableStreamInternalsReadableStreamReaderGenericInitializeCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamReaderGenericInitializeCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamReaderGenericInitializeCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamReaderGenericInitializeCodeImplementationVisibility; // privateInitializeReadableStreamDefaultController #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_PRIVATEINITIALIZEREADABLESTREAMDEFAULTCONTROLLER 1 extern const char* const s_readableStreamInternalsPrivateInitializeReadableStreamDefaultControllerCode; extern const int s_readableStreamInternalsPrivateInitializeReadableStreamDefaultControllerCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsPrivateInitializeReadableStreamDefaultControllerCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsPrivateInitializeReadableStreamDefaultControllerCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsPrivateInitializeReadableStreamDefaultControllerCodeImplementationVisibility; // readableStreamDefaultControllerError #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMDEFAULTCONTROLLERERROR 1 extern const char* const s_readableStreamInternalsReadableStreamDefaultControllerErrorCode; extern const int s_readableStreamInternalsReadableStreamDefaultControllerErrorCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamDefaultControllerErrorCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamDefaultControllerErrorCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamDefaultControllerErrorCodeImplementationVisibility; // readableStreamPipeTo #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMPIPETO 1 extern const char* const s_readableStreamInternalsReadableStreamPipeToCode; extern const int s_readableStreamInternalsReadableStreamPipeToCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamPipeToCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamPipeToCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamPipeToCodeImplementationVisibility; // acquireReadableStreamDefaultReader #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_ACQUIREREADABLESTREAMDEFAULTREADER 1 extern const char* const s_readableStreamInternalsAcquireReadableStreamDefaultReaderCode; extern const int s_readableStreamInternalsAcquireReadableStreamDefaultReaderCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsAcquireReadableStreamDefaultReaderCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsAcquireReadableStreamDefaultReaderCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsAcquireReadableStreamDefaultReaderCodeImplementationVisibility; // setupReadableStreamDefaultController #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_SETUPREADABLESTREAMDEFAULTCONTROLLER 1 extern const char* const s_readableStreamInternalsSetupReadableStreamDefaultControllerCode; extern const int s_readableStreamInternalsSetupReadableStreamDefaultControllerCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsSetupReadableStreamDefaultControllerCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsSetupReadableStreamDefaultControllerCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsSetupReadableStreamDefaultControllerCodeImplementationVisibility; // createReadableStreamController #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_CREATEREADABLESTREAMCONTROLLER 1 extern const char* const s_readableStreamInternalsCreateReadableStreamControllerCode; extern const int s_readableStreamInternalsCreateReadableStreamControllerCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsCreateReadableStreamControllerCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsCreateReadableStreamControllerCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsCreateReadableStreamControllerCodeImplementationVisibility; // readableStreamDefaultControllerStart #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMDEFAULTCONTROLLERSTART 1 extern const char* const s_readableStreamInternalsReadableStreamDefaultControllerStartCode; extern const int s_readableStreamInternalsReadableStreamDefaultControllerStartCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamDefaultControllerStartCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamDefaultControllerStartCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamDefaultControllerStartCodeImplementationVisibility; // readableStreamPipeToWritableStream #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMPIPETOWRITABLESTREAM 1 extern const char* const s_readableStreamInternalsReadableStreamPipeToWritableStreamCode; extern const int s_readableStreamInternalsReadableStreamPipeToWritableStreamCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamPipeToWritableStreamCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamPipeToWritableStreamCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamPipeToWritableStreamCodeImplementationVisibility; // pipeToLoop #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_PIPETOLOOP 1 extern const char* const s_readableStreamInternalsPipeToLoopCode; extern const int s_readableStreamInternalsPipeToLoopCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsPipeToLoopCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsPipeToLoopCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsPipeToLoopCodeImplementationVisibility; // pipeToDoReadWrite #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_PIPETODOREADWRITE 1 extern const char* const s_readableStreamInternalsPipeToDoReadWriteCode; extern const int s_readableStreamInternalsPipeToDoReadWriteCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsPipeToDoReadWriteCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsPipeToDoReadWriteCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsPipeToDoReadWriteCodeImplementationVisibility; // pipeToErrorsMustBePropagatedForward #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_PIPETOERRORSMUSTBEPROPAGATEDFORWARD 1 extern const char* const s_readableStreamInternalsPipeToErrorsMustBePropagatedForwardCode; extern const int s_readableStreamInternalsPipeToErrorsMustBePropagatedForwardCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsPipeToErrorsMustBePropagatedForwardCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsPipeToErrorsMustBePropagatedForwardCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsPipeToErrorsMustBePropagatedForwardCodeImplementationVisibility; // pipeToErrorsMustBePropagatedBackward #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_PIPETOERRORSMUSTBEPROPAGATEDBACKWARD 1 extern const char* const s_readableStreamInternalsPipeToErrorsMustBePropagatedBackwardCode; extern const int s_readableStreamInternalsPipeToErrorsMustBePropagatedBackwardCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsPipeToErrorsMustBePropagatedBackwardCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsPipeToErrorsMustBePropagatedBackwardCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsPipeToErrorsMustBePropagatedBackwardCodeImplementationVisibility; // pipeToClosingMustBePropagatedForward #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_PIPETOCLOSINGMUSTBEPROPAGATEDFORWARD 1 extern const char* const s_readableStreamInternalsPipeToClosingMustBePropagatedForwardCode; extern const int s_readableStreamInternalsPipeToClosingMustBePropagatedForwardCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsPipeToClosingMustBePropagatedForwardCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsPipeToClosingMustBePropagatedForwardCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsPipeToClosingMustBePropagatedForwardCodeImplementationVisibility; // pipeToClosingMustBePropagatedBackward #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_PIPETOCLOSINGMUSTBEPROPAGATEDBACKWARD 1 extern const char* const s_readableStreamInternalsPipeToClosingMustBePropagatedBackwardCode; extern const int s_readableStreamInternalsPipeToClosingMustBePropagatedBackwardCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsPipeToClosingMustBePropagatedBackwardCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsPipeToClosingMustBePropagatedBackwardCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsPipeToClosingMustBePropagatedBackwardCodeImplementationVisibility; // pipeToShutdownWithAction #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_PIPETOSHUTDOWNWITHACTION 1 extern const char* const s_readableStreamInternalsPipeToShutdownWithActionCode; extern const int s_readableStreamInternalsPipeToShutdownWithActionCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsPipeToShutdownWithActionCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsPipeToShutdownWithActionCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsPipeToShutdownWithActionCodeImplementationVisibility; // pipeToShutdown #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_PIPETOSHUTDOWN 1 extern const char* const s_readableStreamInternalsPipeToShutdownCode; extern const int s_readableStreamInternalsPipeToShutdownCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsPipeToShutdownCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsPipeToShutdownCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsPipeToShutdownCodeImplementationVisibility; // pipeToFinalize #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_PIPETOFINALIZE 1 extern const char* const s_readableStreamInternalsPipeToFinalizeCode; extern const int s_readableStreamInternalsPipeToFinalizeCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsPipeToFinalizeCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsPipeToFinalizeCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsPipeToFinalizeCodeImplementationVisibility; // readableStreamTee #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMTEE 1 extern const char* const s_readableStreamInternalsReadableStreamTeeCode; extern const int s_readableStreamInternalsReadableStreamTeeCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamTeeCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamTeeCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamTeeCodeImplementationVisibility; // readableStreamTeePullFunction #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMTEEPULLFUNCTION 1 extern const char* const s_readableStreamInternalsReadableStreamTeePullFunctionCode; extern const int s_readableStreamInternalsReadableStreamTeePullFunctionCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamTeePullFunctionCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamTeePullFunctionCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamTeePullFunctionCodeImplementationVisibility; // readableStreamTeeBranch1CancelFunction #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMTEEBRANCH1CANCELFUNCTION 1 extern const char* const s_readableStreamInternalsReadableStreamTeeBranch1CancelFunctionCode; extern const int s_readableStreamInternalsReadableStreamTeeBranch1CancelFunctionCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamTeeBranch1CancelFunctionCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamTeeBranch1CancelFunctionCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamTeeBranch1CancelFunctionCodeImplementationVisibility; // readableStreamTeeBranch2CancelFunction #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMTEEBRANCH2CANCELFUNCTION 1 extern const char* const s_readableStreamInternalsReadableStreamTeeBranch2CancelFunctionCode; extern const int s_readableStreamInternalsReadableStreamTeeBranch2CancelFunctionCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamTeeBranch2CancelFunctionCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamTeeBranch2CancelFunctionCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamTeeBranch2CancelFunctionCodeImplementationVisibility; // isReadableStream #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_ISREADABLESTREAM 1 extern const char* const s_readableStreamInternalsIsReadableStreamCode; extern const int s_readableStreamInternalsIsReadableStreamCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsIsReadableStreamCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsIsReadableStreamCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsIsReadableStreamCodeImplementationVisibility; // isReadableStreamDefaultReader #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_ISREADABLESTREAMDEFAULTREADER 1 extern const char* const s_readableStreamInternalsIsReadableStreamDefaultReaderCode; extern const int s_readableStreamInternalsIsReadableStreamDefaultReaderCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsIsReadableStreamDefaultReaderCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsIsReadableStreamDefaultReaderCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsIsReadableStreamDefaultReaderCodeImplementationVisibility; // isReadableStreamDefaultController #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_ISREADABLESTREAMDEFAULTCONTROLLER 1 extern const char* const s_readableStreamInternalsIsReadableStreamDefaultControllerCode; extern const int s_readableStreamInternalsIsReadableStreamDefaultControllerCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsIsReadableStreamDefaultControllerCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsIsReadableStreamDefaultControllerCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsIsReadableStreamDefaultControllerCodeImplementationVisibility; // readDirectStream #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READDIRECTSTREAM 1 extern const char* const s_readableStreamInternalsReadDirectStreamCode; extern const int s_readableStreamInternalsReadDirectStreamCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadDirectStreamCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadDirectStreamCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadDirectStreamCodeImplementationVisibility; // assignToStream #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_ASSIGNTOSTREAM 1 extern const char* const s_readableStreamInternalsAssignToStreamCode; extern const int s_readableStreamInternalsAssignToStreamCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsAssignToStreamCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsAssignToStreamCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsAssignToStreamCodeImplementationVisibility; // readStreamIntoSink #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READSTREAMINTOSINK 1 extern const char* const s_readableStreamInternalsReadStreamIntoSinkCode; extern const int s_readableStreamInternalsReadStreamIntoSinkCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadStreamIntoSinkCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadStreamIntoSinkCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadStreamIntoSinkCodeImplementationVisibility; // handleDirectStreamError #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_HANDLEDIRECTSTREAMERROR 1 extern const char* const s_readableStreamInternalsHandleDirectStreamErrorCode; extern const int s_readableStreamInternalsHandleDirectStreamErrorCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsHandleDirectStreamErrorCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsHandleDirectStreamErrorCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsHandleDirectStreamErrorCodeImplementationVisibility; // handleDirectStreamErrorReject #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_HANDLEDIRECTSTREAMERRORREJECT 1 extern const char* const s_readableStreamInternalsHandleDirectStreamErrorRejectCode; extern const int s_readableStreamInternalsHandleDirectStreamErrorRejectCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsHandleDirectStreamErrorRejectCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsHandleDirectStreamErrorRejectCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsHandleDirectStreamErrorRejectCodeImplementationVisibility; // onPullDirectStream #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_ONPULLDIRECTSTREAM 1 extern const char* const s_readableStreamInternalsOnPullDirectStreamCode; extern const int s_readableStreamInternalsOnPullDirectStreamCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsOnPullDirectStreamCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsOnPullDirectStreamCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsOnPullDirectStreamCodeImplementationVisibility; // noopDoneFunction #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_NOOPDONEFUNCTION 1 extern const char* const s_readableStreamInternalsNoopDoneFunctionCode; extern const int s_readableStreamInternalsNoopDoneFunctionCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsNoopDoneFunctionCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsNoopDoneFunctionCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsNoopDoneFunctionCodeImplementationVisibility; // onReadableStreamDirectControllerClosed #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_ONREADABLESTREAMDIRECTCONTROLLERCLOSED 1 extern const char* const s_readableStreamInternalsOnReadableStreamDirectControllerClosedCode; extern const int s_readableStreamInternalsOnReadableStreamDirectControllerClosedCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsOnReadableStreamDirectControllerClosedCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsOnReadableStreamDirectControllerClosedCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsOnReadableStreamDirectControllerClosedCodeImplementationVisibility; // onCloseDirectStream #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_ONCLOSEDIRECTSTREAM 1 extern const char* const s_readableStreamInternalsOnCloseDirectStreamCode; extern const int s_readableStreamInternalsOnCloseDirectStreamCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsOnCloseDirectStreamCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsOnCloseDirectStreamCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsOnCloseDirectStreamCodeImplementationVisibility; // onFlushDirectStream #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_ONFLUSHDIRECTSTREAM 1 extern const char* const s_readableStreamInternalsOnFlushDirectStreamCode; extern const int s_readableStreamInternalsOnFlushDirectStreamCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsOnFlushDirectStreamCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsOnFlushDirectStreamCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsOnFlushDirectStreamCodeImplementationVisibility; // createTextStream #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_CREATETEXTSTREAM 1 extern const char* const s_readableStreamInternalsCreateTextStreamCode; extern const int s_readableStreamInternalsCreateTextStreamCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsCreateTextStreamCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsCreateTextStreamCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsCreateTextStreamCodeImplementationVisibility; // initializeTextStream #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_INITIALIZETEXTSTREAM 1 extern const char* const s_readableStreamInternalsInitializeTextStreamCode; extern const int s_readableStreamInternalsInitializeTextStreamCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsInitializeTextStreamCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsInitializeTextStreamCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsInitializeTextStreamCodeImplementationVisibility; // initializeArrayStream #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_INITIALIZEARRAYSTREAM 1 extern const char* const s_readableStreamInternalsInitializeArrayStreamCode; extern const int s_readableStreamInternalsInitializeArrayStreamCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsInitializeArrayStreamCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsInitializeArrayStreamCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsInitializeArrayStreamCodeImplementationVisibility; // initializeArrayBufferStream #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_INITIALIZEARRAYBUFFERSTREAM 1 extern const char* const s_readableStreamInternalsInitializeArrayBufferStreamCode; extern const int s_readableStreamInternalsInitializeArrayBufferStreamCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsInitializeArrayBufferStreamCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsInitializeArrayBufferStreamCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsInitializeArrayBufferStreamCodeImplementationVisibility; // readableStreamError #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMERROR 1 extern const char* const s_readableStreamInternalsReadableStreamErrorCode; extern const int s_readableStreamInternalsReadableStreamErrorCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamErrorCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamErrorCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamErrorCodeImplementationVisibility; // readableStreamDefaultControllerShouldCallPull #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMDEFAULTCONTROLLERSHOULDCALLPULL 1 extern const char* const s_readableStreamInternalsReadableStreamDefaultControllerShouldCallPullCode; extern const int s_readableStreamInternalsReadableStreamDefaultControllerShouldCallPullCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamDefaultControllerShouldCallPullCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamDefaultControllerShouldCallPullCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamDefaultControllerShouldCallPullCodeImplementationVisibility; // readableStreamDefaultControllerCallPullIfNeeded #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMDEFAULTCONTROLLERCALLPULLIFNEEDED 1 extern const char* const s_readableStreamInternalsReadableStreamDefaultControllerCallPullIfNeededCode; extern const int s_readableStreamInternalsReadableStreamDefaultControllerCallPullIfNeededCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamDefaultControllerCallPullIfNeededCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamDefaultControllerCallPullIfNeededCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamDefaultControllerCallPullIfNeededCodeImplementationVisibility; // isReadableStreamLocked #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_ISREADABLESTREAMLOCKED 1 extern const char* const s_readableStreamInternalsIsReadableStreamLockedCode; extern const int s_readableStreamInternalsIsReadableStreamLockedCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsIsReadableStreamLockedCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsIsReadableStreamLockedCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsIsReadableStreamLockedCodeImplementationVisibility; // readableStreamDefaultControllerGetDesiredSize #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMDEFAULTCONTROLLERGETDESIREDSIZE 1 extern const char* const s_readableStreamInternalsReadableStreamDefaultControllerGetDesiredSizeCode; extern const int s_readableStreamInternalsReadableStreamDefaultControllerGetDesiredSizeCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamDefaultControllerGetDesiredSizeCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamDefaultControllerGetDesiredSizeCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamDefaultControllerGetDesiredSizeCodeImplementationVisibility; // readableStreamReaderGenericCancel #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMREADERGENERICCANCEL 1 extern const char* const s_readableStreamInternalsReadableStreamReaderGenericCancelCode; extern const int s_readableStreamInternalsReadableStreamReaderGenericCancelCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamReaderGenericCancelCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamReaderGenericCancelCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamReaderGenericCancelCodeImplementationVisibility; // readableStreamCancel #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMCANCEL 1 extern const char* const s_readableStreamInternalsReadableStreamCancelCode; extern const int s_readableStreamInternalsReadableStreamCancelCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamCancelCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamCancelCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamCancelCodeImplementationVisibility; // readableStreamDefaultControllerCancel #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMDEFAULTCONTROLLERCANCEL 1 extern const char* const s_readableStreamInternalsReadableStreamDefaultControllerCancelCode; extern const int s_readableStreamInternalsReadableStreamDefaultControllerCancelCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamDefaultControllerCancelCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamDefaultControllerCancelCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamDefaultControllerCancelCodeImplementationVisibility; // readableStreamDefaultControllerPull #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMDEFAULTCONTROLLERPULL 1 extern const char* const s_readableStreamInternalsReadableStreamDefaultControllerPullCode; extern const int s_readableStreamInternalsReadableStreamDefaultControllerPullCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamDefaultControllerPullCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamDefaultControllerPullCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamDefaultControllerPullCodeImplementationVisibility; // readableStreamDefaultControllerClose #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMDEFAULTCONTROLLERCLOSE 1 extern const char* const s_readableStreamInternalsReadableStreamDefaultControllerCloseCode; extern const int s_readableStreamInternalsReadableStreamDefaultControllerCloseCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamDefaultControllerCloseCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamDefaultControllerCloseCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamDefaultControllerCloseCodeImplementationVisibility; // readableStreamClose #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMCLOSE 1 extern const char* const s_readableStreamInternalsReadableStreamCloseCode; extern const int s_readableStreamInternalsReadableStreamCloseCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamCloseCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamCloseCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamCloseCodeImplementationVisibility; // readableStreamFulfillReadRequest #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMFULFILLREADREQUEST 1 extern const char* const s_readableStreamInternalsReadableStreamFulfillReadRequestCode; extern const int s_readableStreamInternalsReadableStreamFulfillReadRequestCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamFulfillReadRequestCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamFulfillReadRequestCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamFulfillReadRequestCodeImplementationVisibility; // readableStreamDefaultControllerEnqueue #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMDEFAULTCONTROLLERENQUEUE 1 extern const char* const s_readableStreamInternalsReadableStreamDefaultControllerEnqueueCode; extern const int s_readableStreamInternalsReadableStreamDefaultControllerEnqueueCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamDefaultControllerEnqueueCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamDefaultControllerEnqueueCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamDefaultControllerEnqueueCodeImplementationVisibility; // readableStreamDefaultReaderRead #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMDEFAULTREADERREAD 1 extern const char* const s_readableStreamInternalsReadableStreamDefaultReaderReadCode; extern const int s_readableStreamInternalsReadableStreamDefaultReaderReadCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamDefaultReaderReadCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamDefaultReaderReadCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamDefaultReaderReadCodeImplementationVisibility; // readableStreamAddReadRequest #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMADDREADREQUEST 1 extern const char* const s_readableStreamInternalsReadableStreamAddReadRequestCode; extern const int s_readableStreamInternalsReadableStreamAddReadRequestCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamAddReadRequestCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamAddReadRequestCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamAddReadRequestCodeImplementationVisibility; // isReadableStreamDisturbed #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_ISREADABLESTREAMDISTURBED 1 extern const char* const s_readableStreamInternalsIsReadableStreamDisturbedCode; extern const int s_readableStreamInternalsIsReadableStreamDisturbedCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsIsReadableStreamDisturbedCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsIsReadableStreamDisturbedCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsIsReadableStreamDisturbedCodeImplementationVisibility; // readableStreamReaderGenericRelease #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMREADERGENERICRELEASE 1 extern const char* const s_readableStreamInternalsReadableStreamReaderGenericReleaseCode; extern const int s_readableStreamInternalsReadableStreamReaderGenericReleaseCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamReaderGenericReleaseCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamReaderGenericReleaseCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamReaderGenericReleaseCodeImplementationVisibility; // readableStreamDefaultControllerCanCloseOrEnqueue #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMDEFAULTCONTROLLERCANCLOSEORENQUEUE 1 extern const char* const s_readableStreamInternalsReadableStreamDefaultControllerCanCloseOrEnqueueCode; extern const int s_readableStreamInternalsReadableStreamDefaultControllerCanCloseOrEnqueueCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamDefaultControllerCanCloseOrEnqueueCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamDefaultControllerCanCloseOrEnqueueCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamDefaultControllerCanCloseOrEnqueueCodeImplementationVisibility; // lazyLoadStream #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_LAZYLOADSTREAM 1 extern const char* const s_readableStreamInternalsLazyLoadStreamCode; extern const int s_readableStreamInternalsLazyLoadStreamCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsLazyLoadStreamCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsLazyLoadStreamCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsLazyLoadStreamCodeImplementationVisibility; // readableStreamIntoArray #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMINTOARRAY 1 extern const char* const s_readableStreamInternalsReadableStreamIntoArrayCode; extern const int s_readableStreamInternalsReadableStreamIntoArrayCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamIntoArrayCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamIntoArrayCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamIntoArrayCodeImplementationVisibility; // readableStreamIntoText #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMINTOTEXT 1 extern const char* const s_readableStreamInternalsReadableStreamIntoTextCode; extern const int s_readableStreamInternalsReadableStreamIntoTextCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamIntoTextCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamIntoTextCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamIntoTextCodeImplementationVisibility; // readableStreamToArrayBufferDirect #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMTOARRAYBUFFERDIRECT 1 extern const char* const s_readableStreamInternalsReadableStreamToArrayBufferDirectCode; extern const int s_readableStreamInternalsReadableStreamToArrayBufferDirectCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamToArrayBufferDirectCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamToArrayBufferDirectCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamToArrayBufferDirectCodeImplementationVisibility; // readableStreamToTextDirect #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMTOTEXTDIRECT 1 extern const char* const s_readableStreamInternalsReadableStreamToTextDirectCode; extern const int s_readableStreamInternalsReadableStreamToTextDirectCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamToTextDirectCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamToTextDirectCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamToTextDirectCodeImplementationVisibility; // readableStreamToArrayDirect #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMTOARRAYDIRECT 1 extern const char* const s_readableStreamInternalsReadableStreamToArrayDirectCode; extern const int s_readableStreamInternalsReadableStreamToArrayDirectCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamToArrayDirectCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamToArrayDirectCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamToArrayDirectCodeImplementationVisibility; // readableStreamDefineLazyIterators #define WEBCORE_BUILTIN_READABLESTREAMINTERNALS_READABLESTREAMDEFINELAZYITERATORS 1 extern const char* const s_readableStreamInternalsReadableStreamDefineLazyIteratorsCode; extern const int s_readableStreamInternalsReadableStreamDefineLazyIteratorsCodeLength; extern const JSC::ConstructAbility s_readableStreamInternalsReadableStreamDefineLazyIteratorsCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInternalsReadableStreamDefineLazyIteratorsCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamDefineLazyIteratorsCodeImplementationVisibility; #define WEBCORE_FOREACH_READABLESTREAMINTERNALS_BUILTIN_DATA(macro) \ macro(readableStreamReaderGenericInitialize, readableStreamInternalsReadableStreamReaderGenericInitialize, 2) \ macro(privateInitializeReadableStreamDefaultController, readableStreamInternalsPrivateInitializeReadableStreamDefaultController, 4) \ macro(readableStreamDefaultControllerError, readableStreamInternalsReadableStreamDefaultControllerError, 2) \ macro(readableStreamPipeTo, readableStreamInternalsReadableStreamPipeTo, 2) \ macro(acquireReadableStreamDefaultReader, readableStreamInternalsAcquireReadableStreamDefaultReader, 1) \ macro(setupReadableStreamDefaultController, readableStreamInternalsSetupReadableStreamDefaultController, 8) \ macro(createReadableStreamController, readableStreamInternalsCreateReadableStreamController, 3) \ macro(readableStreamDefaultControllerStart, readableStreamInternalsReadableStreamDefaultControllerStart, 1) \ macro(readableStreamPipeToWritableStream, readableStreamInternalsReadableStreamPipeToWritableStream, 7) \ macro(pipeToLoop, readableStreamInternalsPipeToLoop, 1) \ macro(pipeToDoReadWrite, readableStreamInternalsPipeToDoReadWrite, 1) \ macro(pipeToErrorsMustBePropagatedForward, readableStreamInternalsPipeToErrorsMustBePropagatedForward, 1) \ macro(pipeToErrorsMustBePropagatedBackward, readableStreamInternalsPipeToErrorsMustBePropagatedBackward, 1) \ macro(pipeToClosingMustBePropagatedForward, readableStreamInternalsPipeToClosingMustBePropagatedForward, 1) \ macro(pipeToClosingMustBePropagatedBackward, readableStreamInternalsPipeToClosingMustBePropagatedBackward, 1) \ macro(pipeToShutdownWithAction, readableStreamInternalsPipeToShutdownWithAction, 2) \ macro(pipeToShutdown, readableStreamInternalsPipeToShutdown, 1) \ macro(pipeToFinalize, readableStreamInternalsPipeToFinalize, 1) \ macro(readableStreamTee, readableStreamInternalsReadableStreamTee, 2) \ macro(readableStreamTeePullFunction, readableStreamInternalsReadableStreamTeePullFunction, 3) \ macro(readableStreamTeeBranch1CancelFunction, readableStreamInternalsReadableStreamTeeBranch1CancelFunction, 2) \ macro(readableStreamTeeBranch2CancelFunction, readableStreamInternalsReadableStreamTeeBranch2CancelFunction, 2) \ macro(isReadableStream, readableStreamInternalsIsReadableStream, 1) \ macro(isReadableStreamDefaultReader, readableStreamInternalsIsReadableStreamDefaultReader, 1) \ macro(isReadableStreamDefaultController, readableStreamInternalsIsReadableStreamDefaultController, 1) \ macro(readDirectStream, readableStreamInternalsReadDirectStream, 3) \ macro(assignToStream, readableStreamInternalsAssignToStream, 2) \ macro(readStreamIntoSink, readableStreamInternalsReadStreamIntoSink, 3) \ macro(handleDirectStreamError, readableStreamInternalsHandleDirectStreamError, 1) \ macro(handleDirectStreamErrorReject, readableStreamInternalsHandleDirectStreamErrorReject, 1) \ macro(onPullDirectStream, readableStreamInternalsOnPullDirectStream, 1) \ macro(noopDoneFunction, readableStreamInternalsNoopDoneFunction, 0) \ macro(onReadableStreamDirectControllerClosed, readableStreamInternalsOnReadableStreamDirectControllerClosed, 1) \ macro(onCloseDirectStream, readableStreamInternalsOnCloseDirectStream, 1) \ macro(onFlushDirectStream, readableStreamInternalsOnFlushDirectStream, 0) \ macro(createTextStream, readableStreamInternalsCreateTextStream, 1) \ macro(initializeTextStream, readableStreamInternalsInitializeTextStream, 2) \ macro(initializeArrayStream, readableStreamInternalsInitializeArrayStream, 2) \ macro(initializeArrayBufferStream, readableStreamInternalsInitializeArrayBufferStream, 2) \ macro(readableStreamError, readableStreamInternalsReadableStreamError, 2) \ macro(readableStreamDefaultControllerShouldCallPull, readableStreamInternalsReadableStreamDefaultControllerShouldCallPull, 1) \ macro(readableStreamDefaultControllerCallPullIfNeeded, readableStreamInternalsReadableStreamDefaultControllerCallPullIfNeeded, 1) \ macro(isReadableStreamLocked, readableStreamInternalsIsReadableStreamLocked, 1) \ macro(readableStreamDefaultControllerGetDesiredSize, readableStreamInternalsReadableStreamDefaultControllerGetDesiredSize, 1) \ macro(readableStreamReaderGenericCancel, readableStreamInternalsReadableStreamReaderGenericCancel, 2) \ macro(readableStreamCancel, readableStreamInternalsReadableStreamCancel, 2) \ macro(readableStreamDefaultControllerCancel, readableStreamInternalsReadableStreamDefaultControllerCancel, 2) \ macro(readableStreamDefaultControllerPull, readableStreamInternalsReadableStreamDefaultControllerPull, 1) \ macro(readableStreamDefaultControllerClose, readableStreamInternalsReadableStreamDefaultControllerClose, 1) \ macro(readableStreamClose, readableStreamInternalsReadableStreamClose, 1) \ macro(readableStreamFulfillReadRequest, readableStreamInternalsReadableStreamFulfillReadRequest, 3) \ macro(readableStreamDefaultControllerEnqueue, readableStreamInternalsReadableStreamDefaultControllerEnqueue, 2) \ macro(readableStreamDefaultReaderRead, readableStreamInternalsReadableStreamDefaultReaderRead, 1) \ macro(readableStreamAddReadRequest, readableStreamInternalsReadableStreamAddReadRequest, 1) \ macro(isReadableStreamDisturbed, readableStreamInternalsIsReadableStreamDisturbed, 1) \ macro(readableStreamReaderGenericRelease, readableStreamInternalsReadableStreamReaderGenericRelease, 1) \ macro(readableStreamDefaultControllerCanCloseOrEnqueue, readableStreamInternalsReadableStreamDefaultControllerCanCloseOrEnqueue, 1) \ macro(lazyLoadStream, readableStreamInternalsLazyLoadStream, 2) \ macro(readableStreamIntoArray, readableStreamInternalsReadableStreamIntoArray, 1) \ macro(readableStreamIntoText, readableStreamInternalsReadableStreamIntoText, 1) \ macro(readableStreamToArrayBufferDirect, readableStreamInternalsReadableStreamToArrayBufferDirect, 2) \ macro(readableStreamToTextDirect, readableStreamInternalsReadableStreamToTextDirect, 2) \ macro(readableStreamToArrayDirect, readableStreamInternalsReadableStreamToArrayDirect, 2) \ macro(readableStreamDefineLazyIterators, readableStreamInternalsReadableStreamDefineLazyIterators, 1) \ #define WEBCORE_FOREACH_READABLESTREAMINTERNALS_BUILTIN_CODE(macro) \ macro(readableStreamInternalsReadableStreamReaderGenericInitializeCode, readableStreamReaderGenericInitialize, ASCIILiteral(), s_readableStreamInternalsReadableStreamReaderGenericInitializeCodeLength) \ macro(readableStreamInternalsPrivateInitializeReadableStreamDefaultControllerCode, privateInitializeReadableStreamDefaultController, ASCIILiteral(), s_readableStreamInternalsPrivateInitializeReadableStreamDefaultControllerCodeLength) \ macro(readableStreamInternalsReadableStreamDefaultControllerErrorCode, readableStreamDefaultControllerError, ASCIILiteral(), s_readableStreamInternalsReadableStreamDefaultControllerErrorCodeLength) \ macro(readableStreamInternalsReadableStreamPipeToCode, readableStreamPipeTo, ASCIILiteral(), s_readableStreamInternalsReadableStreamPipeToCodeLength) \ macro(readableStreamInternalsAcquireReadableStreamDefaultReaderCode, acquireReadableStreamDefaultReader, ASCIILiteral(), s_readableStreamInternalsAcquireReadableStreamDefaultReaderCodeLength) \ macro(readableStreamInternalsSetupReadableStreamDefaultControllerCode, setupReadableStreamDefaultController, ASCIILiteral(), s_readableStreamInternalsSetupReadableStreamDefaultControllerCodeLength) \ macro(readableStreamInternalsCreateReadableStreamControllerCode, createReadableStreamController, ASCIILiteral(), s_readableStreamInternalsCreateReadableStreamControllerCodeLength) \ macro(readableStreamInternalsReadableStreamDefaultControllerStartCode, readableStreamDefaultControllerStart, ASCIILiteral(), s_readableStreamInternalsReadableStreamDefaultControllerStartCodeLength) \ macro(readableStreamInternalsReadableStreamPipeToWritableStreamCode, readableStreamPipeToWritableStream, ASCIILiteral(), s_readableStreamInternalsReadableStreamPipeToWritableStreamCodeLength) \ macro(readableStreamInternalsPipeToLoopCode, pipeToLoop, ASCIILiteral(), s_readableStreamInternalsPipeToLoopCodeLength) \ macro(readableStreamInternalsPipeToDoReadWriteCode, pipeToDoReadWrite, ASCIILiteral(), s_readableStreamInternalsPipeToDoReadWriteCodeLength) \ macro(readableStreamInternalsPipeToErrorsMustBePropagatedForwardCode, pipeToErrorsMustBePropagatedForward, ASCIILiteral(), s_readableStreamInternalsPipeToErrorsMustBePropagatedForwardCodeLength) \ macro(readableStreamInternalsPipeToErrorsMustBePropagatedBackwardCode, pipeToErrorsMustBePropagatedBackward, ASCIILiteral(), s_readableStreamInternalsPipeToErrorsMustBePropagatedBackwardCodeLength) \ macro(readableStreamInternalsPipeToClosingMustBePropagatedForwardCode, pipeToClosingMustBePropagatedForward, ASCIILiteral(), s_readableStreamInternalsPipeToClosingMustBePropagatedForwardCodeLength) \ macro(readableStreamInternalsPipeToClosingMustBePropagatedBackwardCode, pipeToClosingMustBePropagatedBackward, ASCIILiteral(), s_readableStreamInternalsPipeToClosingMustBePropagatedBackwardCodeLength) \ macro(readableStreamInternalsPipeToShutdownWithActionCode, pipeToShutdownWithAction, ASCIILiteral(), s_readableStreamInternalsPipeToShutdownWithActionCodeLength) \ macro(readableStreamInternalsPipeToShutdownCode, pipeToShutdown, ASCIILiteral(), s_readableStreamInternalsPipeToShutdownCodeLength) \ macro(readableStreamInternalsPipeToFinalizeCode, pipeToFinalize, ASCIILiteral(), s_readableStreamInternalsPipeToFinalizeCodeLength) \ macro(readableStreamInternalsReadableStreamTeeCode, readableStreamTee, ASCIILiteral(), s_readableStreamInternalsReadableStreamTeeCodeLength) \ macro(readableStreamInternalsReadableStreamTeePullFunctionCode, readableStreamTeePullFunction, ASCIILiteral(), s_readableStreamInternalsReadableStreamTeePullFunctionCodeLength) \ macro(readableStreamInternalsReadableStreamTeeBranch1CancelFunctionCode, readableStreamTeeBranch1CancelFunction, ASCIILiteral(), s_readableStreamInternalsReadableStreamTeeBranch1CancelFunctionCodeLength) \ macro(readableStreamInternalsReadableStreamTeeBranch2CancelFunctionCode, readableStreamTeeBranch2CancelFunction, ASCIILiteral(), s_readableStreamInternalsReadableStreamTeeBranch2CancelFunctionCodeLength) \ macro(readableStreamInternalsIsReadableStreamCode, isReadableStream, ASCIILiteral(), s_readableStreamInternalsIsReadableStreamCodeLength) \ macro(readableStreamInternalsIsReadableStreamDefaultReaderCode, isReadableStreamDefaultReader, ASCIILiteral(), s_readableStreamInternalsIsReadableStreamDefaultReaderCodeLength) \ macro(readableStreamInternalsIsReadableStreamDefaultControllerCode, isReadableStreamDefaultController, ASCIILiteral(), s_readableStreamInternalsIsReadableStreamDefaultControllerCodeLength) \ macro(readableStreamInternalsReadDirectStreamCode, readDirectStream, ASCIILiteral(), s_readableStreamInternalsReadDirectStreamCodeLength) \ macro(readableStreamInternalsAssignToStreamCode, assignToStream, ASCIILiteral(), s_readableStreamInternalsAssignToStreamCodeLength) \ macro(readableStreamInternalsReadStreamIntoSinkCode, readStreamIntoSink, ASCIILiteral(), s_readableStreamInternalsReadStreamIntoSinkCodeLength) \ macro(readableStreamInternalsHandleDirectStreamErrorCode, handleDirectStreamError, ASCIILiteral(), s_readableStreamInternalsHandleDirectStreamErrorCodeLength) \ macro(readableStreamInternalsHandleDirectStreamErrorRejectCode, handleDirectStreamErrorReject, ASCIILiteral(), s_readableStreamInternalsHandleDirectStreamErrorRejectCodeLength) \ macro(readableStreamInternalsOnPullDirectStreamCode, onPullDirectStream, ASCIILiteral(), s_readableStreamInternalsOnPullDirectStreamCodeLength) \ macro(readableStreamInternalsNoopDoneFunctionCode, noopDoneFunction, ASCIILiteral(), s_readableStreamInternalsNoopDoneFunctionCodeLength) \ macro(readableStreamInternalsOnReadableStreamDirectControllerClosedCode, onReadableStreamDirectControllerClosed, ASCIILiteral(), s_readableStreamInternalsOnReadableStreamDirectControllerClosedCodeLength) \ macro(readableStreamInternalsOnCloseDirectStreamCode, onCloseDirectStream, ASCIILiteral(), s_readableStreamInternalsOnCloseDirectStreamCodeLength) \ macro(readableStreamInternalsOnFlushDirectStreamCode, onFlushDirectStream, ASCIILiteral(), s_readableStreamInternalsOnFlushDirectStreamCodeLength) \ macro(readableStreamInternalsCreateTextStreamCode, createTextStream, ASCIILiteral(), s_readableStreamInternalsCreateTextStreamCodeLength) \ macro(readableStreamInternalsInitializeTextStreamCode, initializeTextStream, ASCIILiteral(), s_readableStreamInternalsInitializeTextStreamCodeLength) \ macro(readableStreamInternalsInitializeArrayStreamCode, initializeArrayStream, ASCIILiteral(), s_readableStreamInternalsInitializeArrayStreamCodeLength) \ macro(readableStreamInternalsInitializeArrayBufferStreamCode, initializeArrayBufferStream, ASCIILiteral(), s_readableStreamInternalsInitializeArrayBufferStreamCodeLength) \ macro(readableStreamInternalsReadableStreamErrorCode, readableStreamError, ASCIILiteral(), s_readableStreamInternalsReadableStreamErrorCodeLength) \ macro(readableStreamInternalsReadableStreamDefaultControllerShouldCallPullCode, readableStreamDefaultControllerShouldCallPull, ASCIILiteral(), s_readableStreamInternalsReadableStreamDefaultControllerShouldCallPullCodeLength) \ macro(readableStreamInternalsReadableStreamDefaultControllerCallPullIfNeededCode, readableStreamDefaultControllerCallPullIfNeeded, ASCIILiteral(), s_readableStreamInternalsReadableStreamDefaultControllerCallPullIfNeededCodeLength) \ macro(readableStreamInternalsIsReadableStreamLockedCode, isReadableStreamLocked, ASCIILiteral(), s_readableStreamInternalsIsReadableStreamLockedCodeLength) \ macro(readableStreamInternalsReadableStreamDefaultControllerGetDesiredSizeCode, readableStreamDefaultControllerGetDesiredSize, ASCIILiteral(), s_readableStreamInternalsReadableStreamDefaultControllerGetDesiredSizeCodeLength) \ macro(readableStreamInternalsReadableStreamReaderGenericCancelCode, readableStreamReaderGenericCancel, ASCIILiteral(), s_readableStreamInternalsReadableStreamReaderGenericCancelCodeLength) \ macro(readableStreamInternalsReadableStreamCancelCode, readableStreamCancel, ASCIILiteral(), s_readableStreamInternalsReadableStreamCancelCodeLength) \ macro(readableStreamInternalsReadableStreamDefaultControllerCancelCode, readableStreamDefaultControllerCancel, ASCIILiteral(), s_readableStreamInternalsReadableStreamDefaultControllerCancelCodeLength) \ macro(readableStreamInternalsReadableStreamDefaultControllerPullCode, readableStreamDefaultControllerPull, ASCIILiteral(), s_readableStreamInternalsReadableStreamDefaultControllerPullCodeLength) \ macro(readableStreamInternalsReadableStreamDefaultControllerCloseCode, readableStreamDefaultControllerClose, ASCIILiteral(), s_readableStreamInternalsReadableStreamDefaultControllerCloseCodeLength) \ macro(readableStreamInternalsReadableStreamCloseCode, readableStreamClose, ASCIILiteral(), s_readableStreamInternalsReadableStreamCloseCodeLength) \ macro(readableStreamInternalsReadableStreamFulfillReadRequestCode, readableStreamFulfillReadRequest, ASCIILiteral(), s_readableStreamInternalsReadableStreamFulfillReadRequestCodeLength) \ macro(readableStreamInternalsReadableStreamDefaultControllerEnqueueCode, readableStreamDefaultControllerEnqueue, ASCIILiteral(), s_readableStreamInternalsReadableStreamDefaultControllerEnqueueCodeLength) \ macro(readableStreamInternalsReadableStreamDefaultReaderReadCode, readableStreamDefaultReaderRead, ASCIILiteral(), s_readableStreamInternalsReadableStreamDefaultReaderReadCodeLength) \ macro(readableStreamInternalsReadableStreamAddReadRequestCode, readableStreamAddReadRequest, ASCIILiteral(), s_readableStreamInternalsReadableStreamAddReadRequestCodeLength) \ macro(readableStreamInternalsIsReadableStreamDisturbedCode, isReadableStreamDisturbed, ASCIILiteral(), s_readableStreamInternalsIsReadableStreamDisturbedCodeLength) \ macro(readableStreamInternalsReadableStreamReaderGenericReleaseCode, readableStreamReaderGenericRelease, ASCIILiteral(), s_readableStreamInternalsReadableStreamReaderGenericReleaseCodeLength) \ macro(readableStreamInternalsReadableStreamDefaultControllerCanCloseOrEnqueueCode, readableStreamDefaultControllerCanCloseOrEnqueue, ASCIILiteral(), s_readableStreamInternalsReadableStreamDefaultControllerCanCloseOrEnqueueCodeLength) \ macro(readableStreamInternalsLazyLoadStreamCode, lazyLoadStream, ASCIILiteral(), s_readableStreamInternalsLazyLoadStreamCodeLength) \ macro(readableStreamInternalsReadableStreamIntoArrayCode, readableStreamIntoArray, ASCIILiteral(), s_readableStreamInternalsReadableStreamIntoArrayCodeLength) \ macro(readableStreamInternalsReadableStreamIntoTextCode, readableStreamIntoText, ASCIILiteral(), s_readableStreamInternalsReadableStreamIntoTextCodeLength) \ macro(readableStreamInternalsReadableStreamToArrayBufferDirectCode, readableStreamToArrayBufferDirect, ASCIILiteral(), s_readableStreamInternalsReadableStreamToArrayBufferDirectCodeLength) \ macro(readableStreamInternalsReadableStreamToTextDirectCode, readableStreamToTextDirect, ASCIILiteral(), s_readableStreamInternalsReadableStreamToTextDirectCodeLength) \ macro(readableStreamInternalsReadableStreamToArrayDirectCode, readableStreamToArrayDirect, ASCIILiteral(), s_readableStreamInternalsReadableStreamToArrayDirectCodeLength) \ macro(readableStreamInternalsReadableStreamDefineLazyIteratorsCode, readableStreamDefineLazyIterators, ASCIILiteral(), s_readableStreamInternalsReadableStreamDefineLazyIteratorsCodeLength) \ #define WEBCORE_FOREACH_READABLESTREAMINTERNALS_BUILTIN_FUNCTION_NAME(macro) \ macro(readableStreamReaderGenericInitialize) \ macro(privateInitializeReadableStreamDefaultController) \ macro(readableStreamDefaultControllerError) \ macro(readableStreamPipeTo) \ macro(acquireReadableStreamDefaultReader) \ macro(setupReadableStreamDefaultController) \ macro(createReadableStreamController) \ macro(readableStreamDefaultControllerStart) \ macro(readableStreamPipeToWritableStream) \ macro(pipeToLoop) \ macro(pipeToDoReadWrite) \ macro(pipeToErrorsMustBePropagatedForward) \ macro(pipeToErrorsMustBePropagatedBackward) \ macro(pipeToClosingMustBePropagatedForward) \ macro(pipeToClosingMustBePropagatedBackward) \ macro(pipeToShutdownWithAction) \ macro(pipeToShutdown) \ macro(pipeToFinalize) \ macro(readableStreamTee) \ macro(readableStreamTeePullFunction) \ macro(readableStreamTeeBranch1CancelFunction) \ macro(readableStreamTeeBranch2CancelFunction) \ macro(isReadableStream) \ macro(isReadableStreamDefaultReader) \ macro(isReadableStreamDefaultController) \ macro(readDirectStream) \ macro(assignToStream) \ macro(readStreamIntoSink) \ macro(handleDirectStreamError) \ macro(handleDirectStreamErrorReject) \ macro(onPullDirectStream) \ macro(noopDoneFunction) \ macro(onReadableStreamDirectControllerClosed) \ macro(onCloseDirectStream) \ macro(onFlushDirectStream) \ macro(createTextStream) \ macro(initializeTextStream) \ macro(initializeArrayStream) \ macro(initializeArrayBufferStream) \ macro(readableStreamError) \ macro(readableStreamDefaultControllerShouldCallPull) \ macro(readableStreamDefaultControllerCallPullIfNeeded) \ macro(isReadableStreamLocked) \ macro(readableStreamDefaultControllerGetDesiredSize) \ macro(readableStreamReaderGenericCancel) \ macro(readableStreamCancel) \ macro(readableStreamDefaultControllerCancel) \ macro(readableStreamDefaultControllerPull) \ macro(readableStreamDefaultControllerClose) \ macro(readableStreamClose) \ macro(readableStreamFulfillReadRequest) \ macro(readableStreamDefaultControllerEnqueue) \ macro(readableStreamDefaultReaderRead) \ macro(readableStreamAddReadRequest) \ macro(isReadableStreamDisturbed) \ macro(readableStreamReaderGenericRelease) \ macro(readableStreamDefaultControllerCanCloseOrEnqueue) \ macro(lazyLoadStream) \ macro(readableStreamIntoArray) \ macro(readableStreamIntoText) \ macro(readableStreamToArrayBufferDirect) \ macro(readableStreamToTextDirect) \ macro(readableStreamToArrayDirect) \ macro(readableStreamDefineLazyIterators) \ #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM&); WEBCORE_FOREACH_READABLESTREAMINTERNALS_BUILTIN_CODE(DECLARE_BUILTIN_GENERATOR) #undef DECLARE_BUILTIN_GENERATOR class ReadableStreamInternalsBuiltinsWrapper : private JSC::WeakHandleOwner { public: explicit ReadableStreamInternalsBuiltinsWrapper(JSC::VM& vm) : m_vm(vm) WEBCORE_FOREACH_READABLESTREAMINTERNALS_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), { }, JSC::SourceTaintedOrigin::Untainted)) WEBCORE_FOREACH_READABLESTREAMINTERNALS_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_READABLESTREAMINTERNALS_BUILTIN_CODE(EXPOSE_BUILTIN_EXECUTABLES) #undef EXPOSE_BUILTIN_EXECUTABLES WEBCORE_FOREACH_READABLESTREAMINTERNALS_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR) void exportNames(); private: JSC::VM& m_vm; WEBCORE_FOREACH_READABLESTREAMINTERNALS_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_NAMES) #define DECLARE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) \ JSC::SourceCode m_##name##Source;\ JSC::Weak m_##name##Executable; WEBCORE_FOREACH_READABLESTREAMINTERNALS_BUILTIN_CODE(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; #define DEFINE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \ inline JSC::UnlinkedFunctionExecutable* ReadableStreamInternalsBuiltinsWrapper::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::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_READABLESTREAMINTERNALS_BUILTIN_CODE(DEFINE_BUILTIN_EXECUTABLES) #undef DEFINE_BUILTIN_EXECUTABLES inline void ReadableStreamInternalsBuiltinsWrapper::exportNames() { #define EXPORT_FUNCTION_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName()); WEBCORE_FOREACH_READABLESTREAMINTERNALS_BUILTIN_FUNCTION_NAME(EXPORT_FUNCTION_NAME) #undef EXPORT_FUNCTION_NAME } class ReadableStreamInternalsBuiltinFunctions { public: explicit ReadableStreamInternalsBuiltinFunctions(JSC::VM& vm) : m_vm(vm) { } void init(JSC::JSGlobalObject&); template void visit(Visitor&); public: JSC::VM& m_vm; #define DECLARE_BUILTIN_SOURCE_MEMBERS(functionName) \ JSC::WriteBarrier m_##functionName##Function; WEBCORE_FOREACH_READABLESTREAMINTERNALS_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; inline void ReadableStreamInternalsBuiltinFunctions::init(JSC::JSGlobalObject& globalObject) { #define EXPORT_FUNCTION(codeName, functionName, overriddenName, length) \ m_##functionName##Function.set(m_vm, &globalObject, JSC::JSFunction::create(m_vm, codeName##Generator(m_vm), &globalObject)); WEBCORE_FOREACH_READABLESTREAMINTERNALS_BUILTIN_CODE(EXPORT_FUNCTION) #undef EXPORT_FUNCTION } template inline void ReadableStreamInternalsBuiltinFunctions::visit(Visitor& visitor) { #define VISIT_FUNCTION(name) visitor.append(m_##name##Function); WEBCORE_FOREACH_READABLESTREAMINTERNALS_BUILTIN_FUNCTION_NAME(VISIT_FUNCTION) #undef VISIT_FUNCTION } template void ReadableStreamInternalsBuiltinFunctions::visit(JSC::AbstractSlotVisitor&); template void ReadableStreamInternalsBuiltinFunctions::visit(JSC::SlotVisitor&); /* TransformStreamDefaultController.ts */ // initializeTransformStreamDefaultController #define WEBCORE_BUILTIN_TRANSFORMSTREAMDEFAULTCONTROLLER_INITIALIZETRANSFORMSTREAMDEFAULTCONTROLLER 1 extern const char* const s_transformStreamDefaultControllerInitializeTransformStreamDefaultControllerCode; extern const int s_transformStreamDefaultControllerInitializeTransformStreamDefaultControllerCodeLength; extern const JSC::ConstructAbility s_transformStreamDefaultControllerInitializeTransformStreamDefaultControllerCodeConstructAbility; extern const JSC::ConstructorKind s_transformStreamDefaultControllerInitializeTransformStreamDefaultControllerCodeConstructorKind; extern const JSC::ImplementationVisibility s_transformStreamDefaultControllerInitializeTransformStreamDefaultControllerCodeImplementationVisibility; // desiredSize #define WEBCORE_BUILTIN_TRANSFORMSTREAMDEFAULTCONTROLLER_DESIREDSIZE 1 extern const char* const s_transformStreamDefaultControllerDesiredSizeCode; extern const int s_transformStreamDefaultControllerDesiredSizeCodeLength; extern const JSC::ConstructAbility s_transformStreamDefaultControllerDesiredSizeCodeConstructAbility; extern const JSC::ConstructorKind s_transformStreamDefaultControllerDesiredSizeCodeConstructorKind; extern const JSC::ImplementationVisibility s_transformStreamDefaultControllerDesiredSizeCodeImplementationVisibility; // enqueue #define WEBCORE_BUILTIN_TRANSFORMSTREAMDEFAULTCONTROLLER_ENQUEUE 1 extern const char* const s_transformStreamDefaultControllerEnqueueCode; extern const int s_transformStreamDefaultControllerEnqueueCodeLength; extern const JSC::ConstructAbility s_transformStreamDefaultControllerEnqueueCodeConstructAbility; extern const JSC::ConstructorKind s_transformStreamDefaultControllerEnqueueCodeConstructorKind; extern const JSC::ImplementationVisibility s_transformStreamDefaultControllerEnqueueCodeImplementationVisibility; // error #define WEBCORE_BUILTIN_TRANSFORMSTREAMDEFAULTCONTROLLER_ERROR 1 extern const char* const s_transformStreamDefaultControllerErrorCode; extern const int s_transformStreamDefaultControllerErrorCodeLength; extern const JSC::ConstructAbility s_transformStreamDefaultControllerErrorCodeConstructAbility; extern const JSC::ConstructorKind s_transformStreamDefaultControllerErrorCodeConstructorKind; extern const JSC::ImplementationVisibility s_transformStreamDefaultControllerErrorCodeImplementationVisibility; // terminate #define WEBCORE_BUILTIN_TRANSFORMSTREAMDEFAULTCONTROLLER_TERMINATE 1 extern const char* const s_transformStreamDefaultControllerTerminateCode; extern const int s_transformStreamDefaultControllerTerminateCodeLength; extern const JSC::ConstructAbility s_transformStreamDefaultControllerTerminateCodeConstructAbility; extern const JSC::ConstructorKind s_transformStreamDefaultControllerTerminateCodeConstructorKind; extern const JSC::ImplementationVisibility s_transformStreamDefaultControllerTerminateCodeImplementationVisibility; #define WEBCORE_FOREACH_TRANSFORMSTREAMDEFAULTCONTROLLER_BUILTIN_DATA(macro) \ macro(initializeTransformStreamDefaultController, transformStreamDefaultControllerInitializeTransformStreamDefaultController, 0) \ macro(desiredSize, transformStreamDefaultControllerDesiredSize, 0) \ macro(enqueue, transformStreamDefaultControllerEnqueue, 1) \ macro(error, transformStreamDefaultControllerError, 1) \ macro(terminate, transformStreamDefaultControllerTerminate, 0) \ #define WEBCORE_FOREACH_TRANSFORMSTREAMDEFAULTCONTROLLER_BUILTIN_CODE(macro) \ macro(transformStreamDefaultControllerInitializeTransformStreamDefaultControllerCode, initializeTransformStreamDefaultController, ASCIILiteral(), s_transformStreamDefaultControllerInitializeTransformStreamDefaultControllerCodeLength) \ macro(transformStreamDefaultControllerDesiredSizeCode, desiredSize, "get desiredSize"_s, s_transformStreamDefaultControllerDesiredSizeCodeLength) \ macro(transformStreamDefaultControllerEnqueueCode, enqueue, ASCIILiteral(), s_transformStreamDefaultControllerEnqueueCodeLength) \ macro(transformStreamDefaultControllerErrorCode, error, ASCIILiteral(), s_transformStreamDefaultControllerErrorCodeLength) \ macro(transformStreamDefaultControllerTerminateCode, terminate, ASCIILiteral(), s_transformStreamDefaultControllerTerminateCodeLength) \ #define WEBCORE_FOREACH_TRANSFORMSTREAMDEFAULTCONTROLLER_BUILTIN_FUNCTION_NAME(macro) \ macro(initializeTransformStreamDefaultController) \ macro(desiredSize) \ macro(enqueue) \ macro(error) \ macro(terminate) \ #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM&); WEBCORE_FOREACH_TRANSFORMSTREAMDEFAULTCONTROLLER_BUILTIN_CODE(DECLARE_BUILTIN_GENERATOR) #undef DECLARE_BUILTIN_GENERATOR class TransformStreamDefaultControllerBuiltinsWrapper : private JSC::WeakHandleOwner { public: explicit TransformStreamDefaultControllerBuiltinsWrapper(JSC::VM& vm) : m_vm(vm) WEBCORE_FOREACH_TRANSFORMSTREAMDEFAULTCONTROLLER_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), { }, JSC::SourceTaintedOrigin::Untainted)) WEBCORE_FOREACH_TRANSFORMSTREAMDEFAULTCONTROLLER_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_TRANSFORMSTREAMDEFAULTCONTROLLER_BUILTIN_CODE(EXPOSE_BUILTIN_EXECUTABLES) #undef EXPOSE_BUILTIN_EXECUTABLES WEBCORE_FOREACH_TRANSFORMSTREAMDEFAULTCONTROLLER_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR) void exportNames(); private: JSC::VM& m_vm; WEBCORE_FOREACH_TRANSFORMSTREAMDEFAULTCONTROLLER_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_NAMES) #define DECLARE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) \ JSC::SourceCode m_##name##Source;\ JSC::Weak m_##name##Executable; WEBCORE_FOREACH_TRANSFORMSTREAMDEFAULTCONTROLLER_BUILTIN_CODE(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; #define DEFINE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \ inline JSC::UnlinkedFunctionExecutable* TransformStreamDefaultControllerBuiltinsWrapper::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::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_TRANSFORMSTREAMDEFAULTCONTROLLER_BUILTIN_CODE(DEFINE_BUILTIN_EXECUTABLES) #undef DEFINE_BUILTIN_EXECUTABLES inline void TransformStreamDefaultControllerBuiltinsWrapper::exportNames() { #define EXPORT_FUNCTION_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName()); WEBCORE_FOREACH_TRANSFORMSTREAMDEFAULTCONTROLLER_BUILTIN_FUNCTION_NAME(EXPORT_FUNCTION_NAME) #undef EXPORT_FUNCTION_NAME } /* ReadableStreamBYOBReader.ts */ // initializeReadableStreamBYOBReader #define WEBCORE_BUILTIN_READABLESTREAMBYOBREADER_INITIALIZEREADABLESTREAMBYOBREADER 1 extern const char* const s_readableStreamBYOBReaderInitializeReadableStreamBYOBReaderCode; extern const int s_readableStreamBYOBReaderInitializeReadableStreamBYOBReaderCodeLength; extern const JSC::ConstructAbility s_readableStreamBYOBReaderInitializeReadableStreamBYOBReaderCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamBYOBReaderInitializeReadableStreamBYOBReaderCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamBYOBReaderInitializeReadableStreamBYOBReaderCodeImplementationVisibility; // cancel #define WEBCORE_BUILTIN_READABLESTREAMBYOBREADER_CANCEL 1 extern const char* const s_readableStreamBYOBReaderCancelCode; extern const int s_readableStreamBYOBReaderCancelCodeLength; extern const JSC::ConstructAbility s_readableStreamBYOBReaderCancelCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamBYOBReaderCancelCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamBYOBReaderCancelCodeImplementationVisibility; // read #define WEBCORE_BUILTIN_READABLESTREAMBYOBREADER_READ 1 extern const char* const s_readableStreamBYOBReaderReadCode; extern const int s_readableStreamBYOBReaderReadCodeLength; extern const JSC::ConstructAbility s_readableStreamBYOBReaderReadCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamBYOBReaderReadCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamBYOBReaderReadCodeImplementationVisibility; // releaseLock #define WEBCORE_BUILTIN_READABLESTREAMBYOBREADER_RELEASELOCK 1 extern const char* const s_readableStreamBYOBReaderReleaseLockCode; extern const int s_readableStreamBYOBReaderReleaseLockCodeLength; extern const JSC::ConstructAbility s_readableStreamBYOBReaderReleaseLockCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamBYOBReaderReleaseLockCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamBYOBReaderReleaseLockCodeImplementationVisibility; // closed #define WEBCORE_BUILTIN_READABLESTREAMBYOBREADER_CLOSED 1 extern const char* const s_readableStreamBYOBReaderClosedCode; extern const int s_readableStreamBYOBReaderClosedCodeLength; extern const JSC::ConstructAbility s_readableStreamBYOBReaderClosedCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamBYOBReaderClosedCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamBYOBReaderClosedCodeImplementationVisibility; #define WEBCORE_FOREACH_READABLESTREAMBYOBREADER_BUILTIN_DATA(macro) \ macro(initializeReadableStreamBYOBReader, readableStreamBYOBReaderInitializeReadableStreamBYOBReader, 1) \ macro(cancel, readableStreamBYOBReaderCancel, 1) \ macro(read, readableStreamBYOBReaderRead, 1) \ macro(releaseLock, readableStreamBYOBReaderReleaseLock, 0) \ macro(closed, readableStreamBYOBReaderClosed, 0) \ #define WEBCORE_FOREACH_READABLESTREAMBYOBREADER_BUILTIN_CODE(macro) \ macro(readableStreamBYOBReaderInitializeReadableStreamBYOBReaderCode, initializeReadableStreamBYOBReader, ASCIILiteral(), s_readableStreamBYOBReaderInitializeReadableStreamBYOBReaderCodeLength) \ macro(readableStreamBYOBReaderCancelCode, cancel, ASCIILiteral(), s_readableStreamBYOBReaderCancelCodeLength) \ macro(readableStreamBYOBReaderReadCode, read, ASCIILiteral(), s_readableStreamBYOBReaderReadCodeLength) \ macro(readableStreamBYOBReaderReleaseLockCode, releaseLock, ASCIILiteral(), s_readableStreamBYOBReaderReleaseLockCodeLength) \ macro(readableStreamBYOBReaderClosedCode, closed, "get closed"_s, s_readableStreamBYOBReaderClosedCodeLength) \ #define WEBCORE_FOREACH_READABLESTREAMBYOBREADER_BUILTIN_FUNCTION_NAME(macro) \ macro(initializeReadableStreamBYOBReader) \ macro(cancel) \ macro(read) \ macro(releaseLock) \ macro(closed) \ #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM&); WEBCORE_FOREACH_READABLESTREAMBYOBREADER_BUILTIN_CODE(DECLARE_BUILTIN_GENERATOR) #undef DECLARE_BUILTIN_GENERATOR class ReadableStreamBYOBReaderBuiltinsWrapper : private JSC::WeakHandleOwner { public: explicit ReadableStreamBYOBReaderBuiltinsWrapper(JSC::VM& vm) : m_vm(vm) WEBCORE_FOREACH_READABLESTREAMBYOBREADER_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), { }, JSC::SourceTaintedOrigin::Untainted)) WEBCORE_FOREACH_READABLESTREAMBYOBREADER_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_READABLESTREAMBYOBREADER_BUILTIN_CODE(EXPOSE_BUILTIN_EXECUTABLES) #undef EXPOSE_BUILTIN_EXECUTABLES WEBCORE_FOREACH_READABLESTREAMBYOBREADER_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR) void exportNames(); private: JSC::VM& m_vm; WEBCORE_FOREACH_READABLESTREAMBYOBREADER_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_NAMES) #define DECLARE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) \ JSC::SourceCode m_##name##Source;\ JSC::Weak m_##name##Executable; WEBCORE_FOREACH_READABLESTREAMBYOBREADER_BUILTIN_CODE(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; #define DEFINE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \ inline JSC::UnlinkedFunctionExecutable* ReadableStreamBYOBReaderBuiltinsWrapper::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::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_READABLESTREAMBYOBREADER_BUILTIN_CODE(DEFINE_BUILTIN_EXECUTABLES) #undef DEFINE_BUILTIN_EXECUTABLES inline void ReadableStreamBYOBReaderBuiltinsWrapper::exportNames() { #define EXPORT_FUNCTION_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName()); WEBCORE_FOREACH_READABLESTREAMBYOBREADER_BUILTIN_FUNCTION_NAME(EXPORT_FUNCTION_NAME) #undef EXPORT_FUNCTION_NAME } /* JSBufferConstructor.ts */ // from #define WEBCORE_BUILTIN_JSBUFFERCONSTRUCTOR_FROM 1 extern const char* const s_jsBufferConstructorFromCode; extern const int s_jsBufferConstructorFromCodeLength; 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&); WEBCORE_FOREACH_JSBUFFERCONSTRUCTOR_BUILTIN_CODE(DECLARE_BUILTIN_GENERATOR) #undef DECLARE_BUILTIN_GENERATOR class JSBufferConstructorBuiltinsWrapper : private JSC::WeakHandleOwner { public: explicit JSBufferConstructorBuiltinsWrapper(JSC::VM& vm) : m_vm(vm) WEBCORE_FOREACH_JSBUFFERCONSTRUCTOR_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), { }, JSC::SourceTaintedOrigin::Untainted)) WEBCORE_FOREACH_JSBUFFERCONSTRUCTOR_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_JSBUFFERCONSTRUCTOR_BUILTIN_CODE(EXPOSE_BUILTIN_EXECUTABLES) #undef EXPOSE_BUILTIN_EXECUTABLES WEBCORE_FOREACH_JSBUFFERCONSTRUCTOR_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR) void exportNames(); private: JSC::VM& m_vm; WEBCORE_FOREACH_JSBUFFERCONSTRUCTOR_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_NAMES) #define DECLARE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) \ JSC::SourceCode m_##name##Source;\ JSC::Weak m_##name##Executable; WEBCORE_FOREACH_JSBUFFERCONSTRUCTOR_BUILTIN_CODE(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; #define DEFINE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \ inline JSC::UnlinkedFunctionExecutable* JSBufferConstructorBuiltinsWrapper::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::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_JSBUFFERCONSTRUCTOR_BUILTIN_CODE(DEFINE_BUILTIN_EXECUTABLES) #undef DEFINE_BUILTIN_EXECUTABLES inline void JSBufferConstructorBuiltinsWrapper::exportNames() { #define EXPORT_FUNCTION_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName()); WEBCORE_FOREACH_JSBUFFERCONSTRUCTOR_BUILTIN_FUNCTION_NAME(EXPORT_FUNCTION_NAME) #undef EXPORT_FUNCTION_NAME } /* ReadableStreamDefaultReader.ts */ // initializeReadableStreamDefaultReader #define WEBCORE_BUILTIN_READABLESTREAMDEFAULTREADER_INITIALIZEREADABLESTREAMDEFAULTREADER 1 extern const char* const s_readableStreamDefaultReaderInitializeReadableStreamDefaultReaderCode; extern const int s_readableStreamDefaultReaderInitializeReadableStreamDefaultReaderCodeLength; extern const JSC::ConstructAbility s_readableStreamDefaultReaderInitializeReadableStreamDefaultReaderCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamDefaultReaderInitializeReadableStreamDefaultReaderCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamDefaultReaderInitializeReadableStreamDefaultReaderCodeImplementationVisibility; // cancel #define WEBCORE_BUILTIN_READABLESTREAMDEFAULTREADER_CANCEL 1 extern const char* const s_readableStreamDefaultReaderCancelCode; extern const int s_readableStreamDefaultReaderCancelCodeLength; extern const JSC::ConstructAbility s_readableStreamDefaultReaderCancelCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamDefaultReaderCancelCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamDefaultReaderCancelCodeImplementationVisibility; // readMany #define WEBCORE_BUILTIN_READABLESTREAMDEFAULTREADER_READMANY 1 extern const char* const s_readableStreamDefaultReaderReadManyCode; extern const int s_readableStreamDefaultReaderReadManyCodeLength; extern const JSC::ConstructAbility s_readableStreamDefaultReaderReadManyCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamDefaultReaderReadManyCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamDefaultReaderReadManyCodeImplementationVisibility; // read #define WEBCORE_BUILTIN_READABLESTREAMDEFAULTREADER_READ 1 extern const char* const s_readableStreamDefaultReaderReadCode; extern const int s_readableStreamDefaultReaderReadCodeLength; extern const JSC::ConstructAbility s_readableStreamDefaultReaderReadCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamDefaultReaderReadCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamDefaultReaderReadCodeImplementationVisibility; // releaseLock #define WEBCORE_BUILTIN_READABLESTREAMDEFAULTREADER_RELEASELOCK 1 extern const char* const s_readableStreamDefaultReaderReleaseLockCode; extern const int s_readableStreamDefaultReaderReleaseLockCodeLength; extern const JSC::ConstructAbility s_readableStreamDefaultReaderReleaseLockCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamDefaultReaderReleaseLockCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamDefaultReaderReleaseLockCodeImplementationVisibility; // closed #define WEBCORE_BUILTIN_READABLESTREAMDEFAULTREADER_CLOSED 1 extern const char* const s_readableStreamDefaultReaderClosedCode; extern const int s_readableStreamDefaultReaderClosedCodeLength; extern const JSC::ConstructAbility s_readableStreamDefaultReaderClosedCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamDefaultReaderClosedCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamDefaultReaderClosedCodeImplementationVisibility; #define WEBCORE_FOREACH_READABLESTREAMDEFAULTREADER_BUILTIN_DATA(macro) \ macro(initializeReadableStreamDefaultReader, readableStreamDefaultReaderInitializeReadableStreamDefaultReader, 1) \ macro(cancel, readableStreamDefaultReaderCancel, 1) \ macro(readMany, readableStreamDefaultReaderReadMany, 0) \ macro(read, readableStreamDefaultReaderRead, 0) \ macro(releaseLock, readableStreamDefaultReaderReleaseLock, 0) \ macro(closed, readableStreamDefaultReaderClosed, 0) \ #define WEBCORE_FOREACH_READABLESTREAMDEFAULTREADER_BUILTIN_CODE(macro) \ macro(readableStreamDefaultReaderInitializeReadableStreamDefaultReaderCode, initializeReadableStreamDefaultReader, ASCIILiteral(), s_readableStreamDefaultReaderInitializeReadableStreamDefaultReaderCodeLength) \ macro(readableStreamDefaultReaderCancelCode, cancel, ASCIILiteral(), s_readableStreamDefaultReaderCancelCodeLength) \ macro(readableStreamDefaultReaderReadManyCode, readMany, ASCIILiteral(), s_readableStreamDefaultReaderReadManyCodeLength) \ macro(readableStreamDefaultReaderReadCode, read, ASCIILiteral(), s_readableStreamDefaultReaderReadCodeLength) \ macro(readableStreamDefaultReaderReleaseLockCode, releaseLock, ASCIILiteral(), s_readableStreamDefaultReaderReleaseLockCodeLength) \ macro(readableStreamDefaultReaderClosedCode, closed, "get closed"_s, s_readableStreamDefaultReaderClosedCodeLength) \ #define WEBCORE_FOREACH_READABLESTREAMDEFAULTREADER_BUILTIN_FUNCTION_NAME(macro) \ macro(initializeReadableStreamDefaultReader) \ macro(cancel) \ macro(readMany) \ macro(read) \ macro(releaseLock) \ macro(closed) \ #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM&); WEBCORE_FOREACH_READABLESTREAMDEFAULTREADER_BUILTIN_CODE(DECLARE_BUILTIN_GENERATOR) #undef DECLARE_BUILTIN_GENERATOR class ReadableStreamDefaultReaderBuiltinsWrapper : private JSC::WeakHandleOwner { public: explicit ReadableStreamDefaultReaderBuiltinsWrapper(JSC::VM& vm) : m_vm(vm) WEBCORE_FOREACH_READABLESTREAMDEFAULTREADER_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), { }, JSC::SourceTaintedOrigin::Untainted)) WEBCORE_FOREACH_READABLESTREAMDEFAULTREADER_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_READABLESTREAMDEFAULTREADER_BUILTIN_CODE(EXPOSE_BUILTIN_EXECUTABLES) #undef EXPOSE_BUILTIN_EXECUTABLES WEBCORE_FOREACH_READABLESTREAMDEFAULTREADER_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR) void exportNames(); private: JSC::VM& m_vm; WEBCORE_FOREACH_READABLESTREAMDEFAULTREADER_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_NAMES) #define DECLARE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) \ JSC::SourceCode m_##name##Source;\ JSC::Weak m_##name##Executable; WEBCORE_FOREACH_READABLESTREAMDEFAULTREADER_BUILTIN_CODE(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; #define DEFINE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \ inline JSC::UnlinkedFunctionExecutable* ReadableStreamDefaultReaderBuiltinsWrapper::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::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_READABLESTREAMDEFAULTREADER_BUILTIN_CODE(DEFINE_BUILTIN_EXECUTABLES) #undef DEFINE_BUILTIN_EXECUTABLES inline void ReadableStreamDefaultReaderBuiltinsWrapper::exportNames() { #define EXPORT_FUNCTION_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName()); WEBCORE_FOREACH_READABLESTREAMDEFAULTREADER_BUILTIN_FUNCTION_NAME(EXPORT_FUNCTION_NAME) #undef EXPORT_FUNCTION_NAME } /* StreamInternals.ts */ // markPromiseAsHandled #define WEBCORE_BUILTIN_STREAMINTERNALS_MARKPROMISEASHANDLED 1 extern const char* const s_streamInternalsMarkPromiseAsHandledCode; extern const int s_streamInternalsMarkPromiseAsHandledCodeLength; extern const JSC::ConstructAbility s_streamInternalsMarkPromiseAsHandledCodeConstructAbility; extern const JSC::ConstructorKind s_streamInternalsMarkPromiseAsHandledCodeConstructorKind; extern const JSC::ImplementationVisibility s_streamInternalsMarkPromiseAsHandledCodeImplementationVisibility; // shieldingPromiseResolve #define WEBCORE_BUILTIN_STREAMINTERNALS_SHIELDINGPROMISERESOLVE 1 extern const char* const s_streamInternalsShieldingPromiseResolveCode; extern const int s_streamInternalsShieldingPromiseResolveCodeLength; extern const JSC::ConstructAbility s_streamInternalsShieldingPromiseResolveCodeConstructAbility; extern const JSC::ConstructorKind s_streamInternalsShieldingPromiseResolveCodeConstructorKind; extern const JSC::ImplementationVisibility s_streamInternalsShieldingPromiseResolveCodeImplementationVisibility; // promiseInvokeOrNoopMethodNoCatch #define WEBCORE_BUILTIN_STREAMINTERNALS_PROMISEINVOKEORNOOPMETHODNOCATCH 1 extern const char* const s_streamInternalsPromiseInvokeOrNoopMethodNoCatchCode; extern const int s_streamInternalsPromiseInvokeOrNoopMethodNoCatchCodeLength; extern const JSC::ConstructAbility s_streamInternalsPromiseInvokeOrNoopMethodNoCatchCodeConstructAbility; extern const JSC::ConstructorKind s_streamInternalsPromiseInvokeOrNoopMethodNoCatchCodeConstructorKind; extern const JSC::ImplementationVisibility s_streamInternalsPromiseInvokeOrNoopMethodNoCatchCodeImplementationVisibility; // promiseInvokeOrNoopNoCatch #define WEBCORE_BUILTIN_STREAMINTERNALS_PROMISEINVOKEORNOOPNOCATCH 1 extern const char* const s_streamInternalsPromiseInvokeOrNoopNoCatchCode; extern const int s_streamInternalsPromiseInvokeOrNoopNoCatchCodeLength; extern const JSC::ConstructAbility s_streamInternalsPromiseInvokeOrNoopNoCatchCodeConstructAbility; extern const JSC::ConstructorKind s_streamInternalsPromiseInvokeOrNoopNoCatchCodeConstructorKind; extern const JSC::ImplementationVisibility s_streamInternalsPromiseInvokeOrNoopNoCatchCodeImplementationVisibility; // promiseInvokeOrNoopMethod #define WEBCORE_BUILTIN_STREAMINTERNALS_PROMISEINVOKEORNOOPMETHOD 1 extern const char* const s_streamInternalsPromiseInvokeOrNoopMethodCode; extern const int s_streamInternalsPromiseInvokeOrNoopMethodCodeLength; extern const JSC::ConstructAbility s_streamInternalsPromiseInvokeOrNoopMethodCodeConstructAbility; extern const JSC::ConstructorKind s_streamInternalsPromiseInvokeOrNoopMethodCodeConstructorKind; extern const JSC::ImplementationVisibility s_streamInternalsPromiseInvokeOrNoopMethodCodeImplementationVisibility; // promiseInvokeOrNoop #define WEBCORE_BUILTIN_STREAMINTERNALS_PROMISEINVOKEORNOOP 1 extern const char* const s_streamInternalsPromiseInvokeOrNoopCode; extern const int s_streamInternalsPromiseInvokeOrNoopCodeLength; extern const JSC::ConstructAbility s_streamInternalsPromiseInvokeOrNoopCodeConstructAbility; extern const JSC::ConstructorKind s_streamInternalsPromiseInvokeOrNoopCodeConstructorKind; extern const JSC::ImplementationVisibility s_streamInternalsPromiseInvokeOrNoopCodeImplementationVisibility; // promiseInvokeOrFallbackOrNoop #define WEBCORE_BUILTIN_STREAMINTERNALS_PROMISEINVOKEORFALLBACKORNOOP 1 extern const char* const s_streamInternalsPromiseInvokeOrFallbackOrNoopCode; extern const int s_streamInternalsPromiseInvokeOrFallbackOrNoopCodeLength; extern const JSC::ConstructAbility s_streamInternalsPromiseInvokeOrFallbackOrNoopCodeConstructAbility; extern const JSC::ConstructorKind s_streamInternalsPromiseInvokeOrFallbackOrNoopCodeConstructorKind; extern const JSC::ImplementationVisibility s_streamInternalsPromiseInvokeOrFallbackOrNoopCodeImplementationVisibility; // validateAndNormalizeQueuingStrategy #define WEBCORE_BUILTIN_STREAMINTERNALS_VALIDATEANDNORMALIZEQUEUINGSTRATEGY 1 extern const char* const s_streamInternalsValidateAndNormalizeQueuingStrategyCode; extern const int s_streamInternalsValidateAndNormalizeQueuingStrategyCodeLength; extern const JSC::ConstructAbility s_streamInternalsValidateAndNormalizeQueuingStrategyCodeConstructAbility; extern const JSC::ConstructorKind s_streamInternalsValidateAndNormalizeQueuingStrategyCodeConstructorKind; extern const JSC::ImplementationVisibility s_streamInternalsValidateAndNormalizeQueuingStrategyCodeImplementationVisibility; // createFIFO #define WEBCORE_BUILTIN_STREAMINTERNALS_CREATEFIFO 1 extern const char* const s_streamInternalsCreateFIFOCode; extern const int s_streamInternalsCreateFIFOCodeLength; extern const JSC::ConstructAbility s_streamInternalsCreateFIFOCodeConstructAbility; extern const JSC::ConstructorKind s_streamInternalsCreateFIFOCodeConstructorKind; extern const JSC::ImplementationVisibility s_streamInternalsCreateFIFOCodeImplementationVisibility; // newQueue #define WEBCORE_BUILTIN_STREAMINTERNALS_NEWQUEUE 1 extern const char* const s_streamInternalsNewQueueCode; extern const int s_streamInternalsNewQueueCodeLength; extern const JSC::ConstructAbility s_streamInternalsNewQueueCodeConstructAbility; extern const JSC::ConstructorKind s_streamInternalsNewQueueCodeConstructorKind; extern const JSC::ImplementationVisibility s_streamInternalsNewQueueCodeImplementationVisibility; // dequeueValue #define WEBCORE_BUILTIN_STREAMINTERNALS_DEQUEUEVALUE 1 extern const char* const s_streamInternalsDequeueValueCode; extern const int s_streamInternalsDequeueValueCodeLength; extern const JSC::ConstructAbility s_streamInternalsDequeueValueCodeConstructAbility; extern const JSC::ConstructorKind s_streamInternalsDequeueValueCodeConstructorKind; extern const JSC::ImplementationVisibility s_streamInternalsDequeueValueCodeImplementationVisibility; // enqueueValueWithSize #define WEBCORE_BUILTIN_STREAMINTERNALS_ENQUEUEVALUEWITHSIZE 1 extern const char* const s_streamInternalsEnqueueValueWithSizeCode; extern const int s_streamInternalsEnqueueValueWithSizeCodeLength; extern const JSC::ConstructAbility s_streamInternalsEnqueueValueWithSizeCodeConstructAbility; extern const JSC::ConstructorKind s_streamInternalsEnqueueValueWithSizeCodeConstructorKind; extern const JSC::ImplementationVisibility s_streamInternalsEnqueueValueWithSizeCodeImplementationVisibility; // peekQueueValue #define WEBCORE_BUILTIN_STREAMINTERNALS_PEEKQUEUEVALUE 1 extern const char* const s_streamInternalsPeekQueueValueCode; extern const int s_streamInternalsPeekQueueValueCodeLength; extern const JSC::ConstructAbility s_streamInternalsPeekQueueValueCodeConstructAbility; extern const JSC::ConstructorKind s_streamInternalsPeekQueueValueCodeConstructorKind; extern const JSC::ImplementationVisibility s_streamInternalsPeekQueueValueCodeImplementationVisibility; // resetQueue #define WEBCORE_BUILTIN_STREAMINTERNALS_RESETQUEUE 1 extern const char* const s_streamInternalsResetQueueCode; extern const int s_streamInternalsResetQueueCodeLength; extern const JSC::ConstructAbility s_streamInternalsResetQueueCodeConstructAbility; extern const JSC::ConstructorKind s_streamInternalsResetQueueCodeConstructorKind; extern const JSC::ImplementationVisibility s_streamInternalsResetQueueCodeImplementationVisibility; // extractSizeAlgorithm #define WEBCORE_BUILTIN_STREAMINTERNALS_EXTRACTSIZEALGORITHM 1 extern const char* const s_streamInternalsExtractSizeAlgorithmCode; extern const int s_streamInternalsExtractSizeAlgorithmCodeLength; extern const JSC::ConstructAbility s_streamInternalsExtractSizeAlgorithmCodeConstructAbility; extern const JSC::ConstructorKind s_streamInternalsExtractSizeAlgorithmCodeConstructorKind; extern const JSC::ImplementationVisibility s_streamInternalsExtractSizeAlgorithmCodeImplementationVisibility; // extractHighWaterMark #define WEBCORE_BUILTIN_STREAMINTERNALS_EXTRACTHIGHWATERMARK 1 extern const char* const s_streamInternalsExtractHighWaterMarkCode; extern const int s_streamInternalsExtractHighWaterMarkCodeLength; extern const JSC::ConstructAbility s_streamInternalsExtractHighWaterMarkCodeConstructAbility; extern const JSC::ConstructorKind s_streamInternalsExtractHighWaterMarkCodeConstructorKind; extern const JSC::ImplementationVisibility s_streamInternalsExtractHighWaterMarkCodeImplementationVisibility; // extractHighWaterMarkFromQueuingStrategyInit #define WEBCORE_BUILTIN_STREAMINTERNALS_EXTRACTHIGHWATERMARKFROMQUEUINGSTRATEGYINIT 1 extern const char* const s_streamInternalsExtractHighWaterMarkFromQueuingStrategyInitCode; extern const int s_streamInternalsExtractHighWaterMarkFromQueuingStrategyInitCodeLength; extern const JSC::ConstructAbility s_streamInternalsExtractHighWaterMarkFromQueuingStrategyInitCodeConstructAbility; extern const JSC::ConstructorKind s_streamInternalsExtractHighWaterMarkFromQueuingStrategyInitCodeConstructorKind; extern const JSC::ImplementationVisibility s_streamInternalsExtractHighWaterMarkFromQueuingStrategyInitCodeImplementationVisibility; // createFulfilledPromise #define WEBCORE_BUILTIN_STREAMINTERNALS_CREATEFULFILLEDPROMISE 1 extern const char* const s_streamInternalsCreateFulfilledPromiseCode; extern const int s_streamInternalsCreateFulfilledPromiseCodeLength; extern const JSC::ConstructAbility s_streamInternalsCreateFulfilledPromiseCodeConstructAbility; extern const JSC::ConstructorKind s_streamInternalsCreateFulfilledPromiseCodeConstructorKind; extern const JSC::ImplementationVisibility s_streamInternalsCreateFulfilledPromiseCodeImplementationVisibility; // toDictionary #define WEBCORE_BUILTIN_STREAMINTERNALS_TODICTIONARY 1 extern const char* const s_streamInternalsToDictionaryCode; extern const int s_streamInternalsToDictionaryCodeLength; extern const JSC::ConstructAbility s_streamInternalsToDictionaryCodeConstructAbility; extern const JSC::ConstructorKind s_streamInternalsToDictionaryCodeConstructorKind; extern const JSC::ImplementationVisibility s_streamInternalsToDictionaryCodeImplementationVisibility; #define WEBCORE_FOREACH_STREAMINTERNALS_BUILTIN_DATA(macro) \ macro(markPromiseAsHandled, streamInternalsMarkPromiseAsHandled, 1) \ macro(shieldingPromiseResolve, streamInternalsShieldingPromiseResolve, 1) \ macro(promiseInvokeOrNoopMethodNoCatch, streamInternalsPromiseInvokeOrNoopMethodNoCatch, 3) \ macro(promiseInvokeOrNoopNoCatch, streamInternalsPromiseInvokeOrNoopNoCatch, 3) \ macro(promiseInvokeOrNoopMethod, streamInternalsPromiseInvokeOrNoopMethod, 3) \ macro(promiseInvokeOrNoop, streamInternalsPromiseInvokeOrNoop, 3) \ macro(promiseInvokeOrFallbackOrNoop, streamInternalsPromiseInvokeOrFallbackOrNoop, 5) \ macro(validateAndNormalizeQueuingStrategy, streamInternalsValidateAndNormalizeQueuingStrategy, 2) \ macro(createFIFO, streamInternalsCreateFIFO, 0) \ macro(newQueue, streamInternalsNewQueue, 0) \ macro(dequeueValue, streamInternalsDequeueValue, 1) \ macro(enqueueValueWithSize, streamInternalsEnqueueValueWithSize, 3) \ macro(peekQueueValue, streamInternalsPeekQueueValue, 1) \ macro(resetQueue, streamInternalsResetQueue, 1) \ macro(extractSizeAlgorithm, streamInternalsExtractSizeAlgorithm, 1) \ macro(extractHighWaterMark, streamInternalsExtractHighWaterMark, 2) \ macro(extractHighWaterMarkFromQueuingStrategyInit, streamInternalsExtractHighWaterMarkFromQueuingStrategyInit, 1) \ macro(createFulfilledPromise, streamInternalsCreateFulfilledPromise, 1) \ macro(toDictionary, streamInternalsToDictionary, 3) \ #define WEBCORE_FOREACH_STREAMINTERNALS_BUILTIN_CODE(macro) \ macro(streamInternalsMarkPromiseAsHandledCode, markPromiseAsHandled, ASCIILiteral(), s_streamInternalsMarkPromiseAsHandledCodeLength) \ macro(streamInternalsShieldingPromiseResolveCode, shieldingPromiseResolve, ASCIILiteral(), s_streamInternalsShieldingPromiseResolveCodeLength) \ macro(streamInternalsPromiseInvokeOrNoopMethodNoCatchCode, promiseInvokeOrNoopMethodNoCatch, ASCIILiteral(), s_streamInternalsPromiseInvokeOrNoopMethodNoCatchCodeLength) \ macro(streamInternalsPromiseInvokeOrNoopNoCatchCode, promiseInvokeOrNoopNoCatch, ASCIILiteral(), s_streamInternalsPromiseInvokeOrNoopNoCatchCodeLength) \ macro(streamInternalsPromiseInvokeOrNoopMethodCode, promiseInvokeOrNoopMethod, ASCIILiteral(), s_streamInternalsPromiseInvokeOrNoopMethodCodeLength) \ macro(streamInternalsPromiseInvokeOrNoopCode, promiseInvokeOrNoop, ASCIILiteral(), s_streamInternalsPromiseInvokeOrNoopCodeLength) \ macro(streamInternalsPromiseInvokeOrFallbackOrNoopCode, promiseInvokeOrFallbackOrNoop, ASCIILiteral(), s_streamInternalsPromiseInvokeOrFallbackOrNoopCodeLength) \ macro(streamInternalsValidateAndNormalizeQueuingStrategyCode, validateAndNormalizeQueuingStrategy, ASCIILiteral(), s_streamInternalsValidateAndNormalizeQueuingStrategyCodeLength) \ macro(streamInternalsCreateFIFOCode, createFIFO, ASCIILiteral(), s_streamInternalsCreateFIFOCodeLength) \ macro(streamInternalsNewQueueCode, newQueue, ASCIILiteral(), s_streamInternalsNewQueueCodeLength) \ macro(streamInternalsDequeueValueCode, dequeueValue, ASCIILiteral(), s_streamInternalsDequeueValueCodeLength) \ macro(streamInternalsEnqueueValueWithSizeCode, enqueueValueWithSize, ASCIILiteral(), s_streamInternalsEnqueueValueWithSizeCodeLength) \ macro(streamInternalsPeekQueueValueCode, peekQueueValue, ASCIILiteral(), s_streamInternalsPeekQueueValueCodeLength) \ macro(streamInternalsResetQueueCode, resetQueue, ASCIILiteral(), s_streamInternalsResetQueueCodeLength) \ macro(streamInternalsExtractSizeAlgorithmCode, extractSizeAlgorithm, ASCIILiteral(), s_streamInternalsExtractSizeAlgorithmCodeLength) \ macro(streamInternalsExtractHighWaterMarkCode, extractHighWaterMark, ASCIILiteral(), s_streamInternalsExtractHighWaterMarkCodeLength) \ macro(streamInternalsExtractHighWaterMarkFromQueuingStrategyInitCode, extractHighWaterMarkFromQueuingStrategyInit, ASCIILiteral(), s_streamInternalsExtractHighWaterMarkFromQueuingStrategyInitCodeLength) \ macro(streamInternalsCreateFulfilledPromiseCode, createFulfilledPromise, ASCIILiteral(), s_streamInternalsCreateFulfilledPromiseCodeLength) \ macro(streamInternalsToDictionaryCode, toDictionary, ASCIILiteral(), s_streamInternalsToDictionaryCodeLength) \ #define WEBCORE_FOREACH_STREAMINTERNALS_BUILTIN_FUNCTION_NAME(macro) \ macro(markPromiseAsHandled) \ macro(shieldingPromiseResolve) \ macro(promiseInvokeOrNoopMethodNoCatch) \ macro(promiseInvokeOrNoopNoCatch) \ macro(promiseInvokeOrNoopMethod) \ macro(promiseInvokeOrNoop) \ macro(promiseInvokeOrFallbackOrNoop) \ macro(validateAndNormalizeQueuingStrategy) \ macro(createFIFO) \ macro(newQueue) \ macro(dequeueValue) \ macro(enqueueValueWithSize) \ macro(peekQueueValue) \ macro(resetQueue) \ macro(extractSizeAlgorithm) \ macro(extractHighWaterMark) \ macro(extractHighWaterMarkFromQueuingStrategyInit) \ macro(createFulfilledPromise) \ macro(toDictionary) \ #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM&); WEBCORE_FOREACH_STREAMINTERNALS_BUILTIN_CODE(DECLARE_BUILTIN_GENERATOR) #undef DECLARE_BUILTIN_GENERATOR class StreamInternalsBuiltinsWrapper : private JSC::WeakHandleOwner { public: explicit StreamInternalsBuiltinsWrapper(JSC::VM& vm) : m_vm(vm) WEBCORE_FOREACH_STREAMINTERNALS_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), { }, JSC::SourceTaintedOrigin::Untainted)) WEBCORE_FOREACH_STREAMINTERNALS_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_STREAMINTERNALS_BUILTIN_CODE(EXPOSE_BUILTIN_EXECUTABLES) #undef EXPOSE_BUILTIN_EXECUTABLES WEBCORE_FOREACH_STREAMINTERNALS_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR) void exportNames(); private: JSC::VM& m_vm; WEBCORE_FOREACH_STREAMINTERNALS_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_NAMES) #define DECLARE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) \ JSC::SourceCode m_##name##Source;\ JSC::Weak m_##name##Executable; WEBCORE_FOREACH_STREAMINTERNALS_BUILTIN_CODE(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; #define DEFINE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \ inline JSC::UnlinkedFunctionExecutable* StreamInternalsBuiltinsWrapper::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::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_STREAMINTERNALS_BUILTIN_CODE(DEFINE_BUILTIN_EXECUTABLES) #undef DEFINE_BUILTIN_EXECUTABLES inline void StreamInternalsBuiltinsWrapper::exportNames() { #define EXPORT_FUNCTION_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName()); WEBCORE_FOREACH_STREAMINTERNALS_BUILTIN_FUNCTION_NAME(EXPORT_FUNCTION_NAME) #undef EXPORT_FUNCTION_NAME } class StreamInternalsBuiltinFunctions { public: explicit StreamInternalsBuiltinFunctions(JSC::VM& vm) : m_vm(vm) { } void init(JSC::JSGlobalObject&); template void visit(Visitor&); public: JSC::VM& m_vm; #define DECLARE_BUILTIN_SOURCE_MEMBERS(functionName) \ JSC::WriteBarrier m_##functionName##Function; WEBCORE_FOREACH_STREAMINTERNALS_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; inline void StreamInternalsBuiltinFunctions::init(JSC::JSGlobalObject& globalObject) { #define EXPORT_FUNCTION(codeName, functionName, overriddenName, length) \ m_##functionName##Function.set(m_vm, &globalObject, JSC::JSFunction::create(m_vm, codeName##Generator(m_vm), &globalObject)); WEBCORE_FOREACH_STREAMINTERNALS_BUILTIN_CODE(EXPORT_FUNCTION) #undef EXPORT_FUNCTION } template inline void StreamInternalsBuiltinFunctions::visit(Visitor& visitor) { #define VISIT_FUNCTION(name) visitor.append(m_##name##Function); WEBCORE_FOREACH_STREAMINTERNALS_BUILTIN_FUNCTION_NAME(VISIT_FUNCTION) #undef VISIT_FUNCTION } template void StreamInternalsBuiltinFunctions::visit(JSC::AbstractSlotVisitor&); template void StreamInternalsBuiltinFunctions::visit(JSC::SlotVisitor&); /* ImportMetaObject.ts */ // loadCJS2ESM #define WEBCORE_BUILTIN_IMPORTMETAOBJECT_LOADCJS2ESM 1 extern const char* const s_importMetaObjectLoadCJS2ESMCode; extern const int s_importMetaObjectLoadCJS2ESMCodeLength; extern const JSC::ConstructAbility s_importMetaObjectLoadCJS2ESMCodeConstructAbility; extern const JSC::ConstructorKind s_importMetaObjectLoadCJS2ESMCodeConstructorKind; extern const JSC::ImplementationVisibility s_importMetaObjectLoadCJS2ESMCodeImplementationVisibility; // requireESM #define WEBCORE_BUILTIN_IMPORTMETAOBJECT_REQUIREESM 1 extern const char* const s_importMetaObjectRequireESMCode; extern const int s_importMetaObjectRequireESMCodeLength; extern const JSC::ConstructAbility s_importMetaObjectRequireESMCodeConstructAbility; extern const JSC::ConstructorKind s_importMetaObjectRequireESMCodeConstructorKind; extern const JSC::ImplementationVisibility s_importMetaObjectRequireESMCodeImplementationVisibility; // internalRequire #define WEBCORE_BUILTIN_IMPORTMETAOBJECT_INTERNALREQUIRE 1 extern const char* const s_importMetaObjectInternalRequireCode; extern const int s_importMetaObjectInternalRequireCodeLength; extern const JSC::ConstructAbility s_importMetaObjectInternalRequireCodeConstructAbility; extern const JSC::ConstructorKind s_importMetaObjectInternalRequireCodeConstructorKind; extern const JSC::ImplementationVisibility s_importMetaObjectInternalRequireCodeImplementationVisibility; // createRequireCache #define WEBCORE_BUILTIN_IMPORTMETAOBJECT_CREATEREQUIRECACHE 1 extern const char* const s_importMetaObjectCreateRequireCacheCode; extern const int s_importMetaObjectCreateRequireCacheCodeLength; extern const JSC::ConstructAbility s_importMetaObjectCreateRequireCacheCodeConstructAbility; extern const JSC::ConstructorKind s_importMetaObjectCreateRequireCacheCodeConstructorKind; extern const JSC::ImplementationVisibility s_importMetaObjectCreateRequireCacheCodeImplementationVisibility; // main #define WEBCORE_BUILTIN_IMPORTMETAOBJECT_MAIN 1 extern const char* const s_importMetaObjectMainCode; extern const int s_importMetaObjectMainCodeLength; extern const JSC::ConstructAbility s_importMetaObjectMainCodeConstructAbility; extern const JSC::ConstructorKind s_importMetaObjectMainCodeConstructorKind; extern const JSC::ImplementationVisibility s_importMetaObjectMainCodeImplementationVisibility; #define WEBCORE_FOREACH_IMPORTMETAOBJECT_BUILTIN_DATA(macro) \ macro(loadCJS2ESM, importMetaObjectLoadCJS2ESM, 1) \ macro(requireESM, importMetaObjectRequireESM, 1) \ macro(internalRequire, importMetaObjectInternalRequire, 1) \ macro(createRequireCache, importMetaObjectCreateRequireCache, 0) \ macro(main, importMetaObjectMain, 0) \ #define WEBCORE_FOREACH_IMPORTMETAOBJECT_BUILTIN_CODE(macro) \ macro(importMetaObjectLoadCJS2ESMCode, loadCJS2ESM, ASCIILiteral(), s_importMetaObjectLoadCJS2ESMCodeLength) \ macro(importMetaObjectRequireESMCode, requireESM, ASCIILiteral(), s_importMetaObjectRequireESMCodeLength) \ macro(importMetaObjectInternalRequireCode, internalRequire, ASCIILiteral(), s_importMetaObjectInternalRequireCodeLength) \ macro(importMetaObjectCreateRequireCacheCode, createRequireCache, ASCIILiteral(), s_importMetaObjectCreateRequireCacheCodeLength) \ macro(importMetaObjectMainCode, main, "get main"_s, s_importMetaObjectMainCodeLength) \ #define WEBCORE_FOREACH_IMPORTMETAOBJECT_BUILTIN_FUNCTION_NAME(macro) \ macro(loadCJS2ESM) \ macro(requireESM) \ macro(internalRequire) \ macro(createRequireCache) \ macro(main) \ #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM&); WEBCORE_FOREACH_IMPORTMETAOBJECT_BUILTIN_CODE(DECLARE_BUILTIN_GENERATOR) #undef DECLARE_BUILTIN_GENERATOR class ImportMetaObjectBuiltinsWrapper : private JSC::WeakHandleOwner { public: explicit ImportMetaObjectBuiltinsWrapper(JSC::VM& vm) : m_vm(vm) WEBCORE_FOREACH_IMPORTMETAOBJECT_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), { }, JSC::SourceTaintedOrigin::Untainted)) WEBCORE_FOREACH_IMPORTMETAOBJECT_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_IMPORTMETAOBJECT_BUILTIN_CODE(EXPOSE_BUILTIN_EXECUTABLES) #undef EXPOSE_BUILTIN_EXECUTABLES WEBCORE_FOREACH_IMPORTMETAOBJECT_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR) void exportNames(); private: JSC::VM& m_vm; WEBCORE_FOREACH_IMPORTMETAOBJECT_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_NAMES) #define DECLARE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) \ JSC::SourceCode m_##name##Source;\ JSC::Weak m_##name##Executable; WEBCORE_FOREACH_IMPORTMETAOBJECT_BUILTIN_CODE(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; #define DEFINE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \ inline JSC::UnlinkedFunctionExecutable* ImportMetaObjectBuiltinsWrapper::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::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_IMPORTMETAOBJECT_BUILTIN_CODE(DEFINE_BUILTIN_EXECUTABLES) #undef DEFINE_BUILTIN_EXECUTABLES inline void ImportMetaObjectBuiltinsWrapper::exportNames() { #define EXPORT_FUNCTION_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName()); WEBCORE_FOREACH_IMPORTMETAOBJECT_BUILTIN_FUNCTION_NAME(EXPORT_FUNCTION_NAME) #undef EXPORT_FUNCTION_NAME } /* CountQueuingStrategy.ts */ // highWaterMark #define WEBCORE_BUILTIN_COUNTQUEUINGSTRATEGY_HIGHWATERMARK 1 extern const char* const s_countQueuingStrategyHighWaterMarkCode; extern const int s_countQueuingStrategyHighWaterMarkCodeLength; extern const JSC::ConstructAbility s_countQueuingStrategyHighWaterMarkCodeConstructAbility; extern const JSC::ConstructorKind s_countQueuingStrategyHighWaterMarkCodeConstructorKind; extern const JSC::ImplementationVisibility s_countQueuingStrategyHighWaterMarkCodeImplementationVisibility; // size #define WEBCORE_BUILTIN_COUNTQUEUINGSTRATEGY_SIZE 1 extern const char* const s_countQueuingStrategySizeCode; extern const int s_countQueuingStrategySizeCodeLength; extern const JSC::ConstructAbility s_countQueuingStrategySizeCodeConstructAbility; extern const JSC::ConstructorKind s_countQueuingStrategySizeCodeConstructorKind; extern const JSC::ImplementationVisibility s_countQueuingStrategySizeCodeImplementationVisibility; // initializeCountQueuingStrategy #define WEBCORE_BUILTIN_COUNTQUEUINGSTRATEGY_INITIALIZECOUNTQUEUINGSTRATEGY 1 extern const char* const s_countQueuingStrategyInitializeCountQueuingStrategyCode; extern const int s_countQueuingStrategyInitializeCountQueuingStrategyCodeLength; extern const JSC::ConstructAbility s_countQueuingStrategyInitializeCountQueuingStrategyCodeConstructAbility; extern const JSC::ConstructorKind s_countQueuingStrategyInitializeCountQueuingStrategyCodeConstructorKind; extern const JSC::ImplementationVisibility s_countQueuingStrategyInitializeCountQueuingStrategyCodeImplementationVisibility; #define WEBCORE_FOREACH_COUNTQUEUINGSTRATEGY_BUILTIN_DATA(macro) \ macro(highWaterMark, countQueuingStrategyHighWaterMark, 0) \ macro(size, countQueuingStrategySize, 0) \ macro(initializeCountQueuingStrategy, countQueuingStrategyInitializeCountQueuingStrategy, 1) \ #define WEBCORE_FOREACH_COUNTQUEUINGSTRATEGY_BUILTIN_CODE(macro) \ macro(countQueuingStrategyHighWaterMarkCode, highWaterMark, "get highWaterMark"_s, s_countQueuingStrategyHighWaterMarkCodeLength) \ macro(countQueuingStrategySizeCode, size, ASCIILiteral(), s_countQueuingStrategySizeCodeLength) \ macro(countQueuingStrategyInitializeCountQueuingStrategyCode, initializeCountQueuingStrategy, ASCIILiteral(), s_countQueuingStrategyInitializeCountQueuingStrategyCodeLength) \ #define WEBCORE_FOREACH_COUNTQUEUINGSTRATEGY_BUILTIN_FUNCTION_NAME(macro) \ macro(highWaterMark) \ macro(size) \ macro(initializeCountQueuingStrategy) \ #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM&); WEBCORE_FOREACH_COUNTQUEUINGSTRATEGY_BUILTIN_CODE(DECLARE_BUILTIN_GENERATOR) #undef DECLARE_BUILTIN_GENERATOR class CountQueuingStrategyBuiltinsWrapper : private JSC::WeakHandleOwner { public: explicit CountQueuingStrategyBuiltinsWrapper(JSC::VM& vm) : m_vm(vm) WEBCORE_FOREACH_COUNTQUEUINGSTRATEGY_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), { }, JSC::SourceTaintedOrigin::Untainted)) WEBCORE_FOREACH_COUNTQUEUINGSTRATEGY_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_COUNTQUEUINGSTRATEGY_BUILTIN_CODE(EXPOSE_BUILTIN_EXECUTABLES) #undef EXPOSE_BUILTIN_EXECUTABLES WEBCORE_FOREACH_COUNTQUEUINGSTRATEGY_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR) void exportNames(); private: JSC::VM& m_vm; WEBCORE_FOREACH_COUNTQUEUINGSTRATEGY_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_NAMES) #define DECLARE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) \ JSC::SourceCode m_##name##Source;\ JSC::Weak m_##name##Executable; WEBCORE_FOREACH_COUNTQUEUINGSTRATEGY_BUILTIN_CODE(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; #define DEFINE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \ inline JSC::UnlinkedFunctionExecutable* CountQueuingStrategyBuiltinsWrapper::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::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_COUNTQUEUINGSTRATEGY_BUILTIN_CODE(DEFINE_BUILTIN_EXECUTABLES) #undef DEFINE_BUILTIN_EXECUTABLES inline void CountQueuingStrategyBuiltinsWrapper::exportNames() { #define EXPORT_FUNCTION_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName()); WEBCORE_FOREACH_COUNTQUEUINGSTRATEGY_BUILTIN_FUNCTION_NAME(EXPORT_FUNCTION_NAME) #undef EXPORT_FUNCTION_NAME } /* ReadableStreamBYOBRequest.ts */ // initializeReadableStreamBYOBRequest #define WEBCORE_BUILTIN_READABLESTREAMBYOBREQUEST_INITIALIZEREADABLESTREAMBYOBREQUEST 1 extern const char* const s_readableStreamBYOBRequestInitializeReadableStreamBYOBRequestCode; extern const int s_readableStreamBYOBRequestInitializeReadableStreamBYOBRequestCodeLength; extern const JSC::ConstructAbility s_readableStreamBYOBRequestInitializeReadableStreamBYOBRequestCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamBYOBRequestInitializeReadableStreamBYOBRequestCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamBYOBRequestInitializeReadableStreamBYOBRequestCodeImplementationVisibility; // respond #define WEBCORE_BUILTIN_READABLESTREAMBYOBREQUEST_RESPOND 1 extern const char* const s_readableStreamBYOBRequestRespondCode; extern const int s_readableStreamBYOBRequestRespondCodeLength; extern const JSC::ConstructAbility s_readableStreamBYOBRequestRespondCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamBYOBRequestRespondCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamBYOBRequestRespondCodeImplementationVisibility; // respondWithNewView #define WEBCORE_BUILTIN_READABLESTREAMBYOBREQUEST_RESPONDWITHNEWVIEW 1 extern const char* const s_readableStreamBYOBRequestRespondWithNewViewCode; extern const int s_readableStreamBYOBRequestRespondWithNewViewCodeLength; extern const JSC::ConstructAbility s_readableStreamBYOBRequestRespondWithNewViewCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamBYOBRequestRespondWithNewViewCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamBYOBRequestRespondWithNewViewCodeImplementationVisibility; // view #define WEBCORE_BUILTIN_READABLESTREAMBYOBREQUEST_VIEW 1 extern const char* const s_readableStreamBYOBRequestViewCode; extern const int s_readableStreamBYOBRequestViewCodeLength; extern const JSC::ConstructAbility s_readableStreamBYOBRequestViewCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamBYOBRequestViewCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamBYOBRequestViewCodeImplementationVisibility; #define WEBCORE_FOREACH_READABLESTREAMBYOBREQUEST_BUILTIN_DATA(macro) \ macro(initializeReadableStreamBYOBRequest, readableStreamBYOBRequestInitializeReadableStreamBYOBRequest, 2) \ macro(respond, readableStreamBYOBRequestRespond, 1) \ macro(respondWithNewView, readableStreamBYOBRequestRespondWithNewView, 1) \ macro(view, readableStreamBYOBRequestView, 0) \ #define WEBCORE_FOREACH_READABLESTREAMBYOBREQUEST_BUILTIN_CODE(macro) \ macro(readableStreamBYOBRequestInitializeReadableStreamBYOBRequestCode, initializeReadableStreamBYOBRequest, ASCIILiteral(), s_readableStreamBYOBRequestInitializeReadableStreamBYOBRequestCodeLength) \ macro(readableStreamBYOBRequestRespondCode, respond, ASCIILiteral(), s_readableStreamBYOBRequestRespondCodeLength) \ macro(readableStreamBYOBRequestRespondWithNewViewCode, respondWithNewView, ASCIILiteral(), s_readableStreamBYOBRequestRespondWithNewViewCodeLength) \ macro(readableStreamBYOBRequestViewCode, view, "get view"_s, s_readableStreamBYOBRequestViewCodeLength) \ #define WEBCORE_FOREACH_READABLESTREAMBYOBREQUEST_BUILTIN_FUNCTION_NAME(macro) \ macro(initializeReadableStreamBYOBRequest) \ macro(respond) \ macro(respondWithNewView) \ macro(view) \ #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM&); WEBCORE_FOREACH_READABLESTREAMBYOBREQUEST_BUILTIN_CODE(DECLARE_BUILTIN_GENERATOR) #undef DECLARE_BUILTIN_GENERATOR class ReadableStreamBYOBRequestBuiltinsWrapper : private JSC::WeakHandleOwner { public: explicit ReadableStreamBYOBRequestBuiltinsWrapper(JSC::VM& vm) : m_vm(vm) WEBCORE_FOREACH_READABLESTREAMBYOBREQUEST_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), { }, JSC::SourceTaintedOrigin::Untainted)) WEBCORE_FOREACH_READABLESTREAMBYOBREQUEST_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_READABLESTREAMBYOBREQUEST_BUILTIN_CODE(EXPOSE_BUILTIN_EXECUTABLES) #undef EXPOSE_BUILTIN_EXECUTABLES WEBCORE_FOREACH_READABLESTREAMBYOBREQUEST_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR) void exportNames(); private: JSC::VM& m_vm; WEBCORE_FOREACH_READABLESTREAMBYOBREQUEST_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_NAMES) #define DECLARE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) \ JSC::SourceCode m_##name##Source;\ JSC::Weak m_##name##Executable; WEBCORE_FOREACH_READABLESTREAMBYOBREQUEST_BUILTIN_CODE(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; #define DEFINE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \ inline JSC::UnlinkedFunctionExecutable* ReadableStreamBYOBRequestBuiltinsWrapper::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::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_READABLESTREAMBYOBREQUEST_BUILTIN_CODE(DEFINE_BUILTIN_EXECUTABLES) #undef DEFINE_BUILTIN_EXECUTABLES inline void ReadableStreamBYOBRequestBuiltinsWrapper::exportNames() { #define EXPORT_FUNCTION_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName()); WEBCORE_FOREACH_READABLESTREAMBYOBREQUEST_BUILTIN_FUNCTION_NAME(EXPORT_FUNCTION_NAME) #undef EXPORT_FUNCTION_NAME } /* WritableStreamDefaultWriter.ts */ // initializeWritableStreamDefaultWriter #define WEBCORE_BUILTIN_WRITABLESTREAMDEFAULTWRITER_INITIALIZEWRITABLESTREAMDEFAULTWRITER 1 extern const char* const s_writableStreamDefaultWriterInitializeWritableStreamDefaultWriterCode; extern const int s_writableStreamDefaultWriterInitializeWritableStreamDefaultWriterCodeLength; extern const JSC::ConstructAbility s_writableStreamDefaultWriterInitializeWritableStreamDefaultWriterCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamDefaultWriterInitializeWritableStreamDefaultWriterCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamDefaultWriterInitializeWritableStreamDefaultWriterCodeImplementationVisibility; // closed #define WEBCORE_BUILTIN_WRITABLESTREAMDEFAULTWRITER_CLOSED 1 extern const char* const s_writableStreamDefaultWriterClosedCode; extern const int s_writableStreamDefaultWriterClosedCodeLength; extern const JSC::ConstructAbility s_writableStreamDefaultWriterClosedCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamDefaultWriterClosedCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamDefaultWriterClosedCodeImplementationVisibility; // desiredSize #define WEBCORE_BUILTIN_WRITABLESTREAMDEFAULTWRITER_DESIREDSIZE 1 extern const char* const s_writableStreamDefaultWriterDesiredSizeCode; extern const int s_writableStreamDefaultWriterDesiredSizeCodeLength; extern const JSC::ConstructAbility s_writableStreamDefaultWriterDesiredSizeCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamDefaultWriterDesiredSizeCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamDefaultWriterDesiredSizeCodeImplementationVisibility; // ready #define WEBCORE_BUILTIN_WRITABLESTREAMDEFAULTWRITER_READY 1 extern const char* const s_writableStreamDefaultWriterReadyCode; extern const int s_writableStreamDefaultWriterReadyCodeLength; extern const JSC::ConstructAbility s_writableStreamDefaultWriterReadyCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamDefaultWriterReadyCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamDefaultWriterReadyCodeImplementationVisibility; // abort #define WEBCORE_BUILTIN_WRITABLESTREAMDEFAULTWRITER_ABORT 1 extern const char* const s_writableStreamDefaultWriterAbortCode; extern const int s_writableStreamDefaultWriterAbortCodeLength; extern const JSC::ConstructAbility s_writableStreamDefaultWriterAbortCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamDefaultWriterAbortCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamDefaultWriterAbortCodeImplementationVisibility; // close #define WEBCORE_BUILTIN_WRITABLESTREAMDEFAULTWRITER_CLOSE 1 extern const char* const s_writableStreamDefaultWriterCloseCode; extern const int s_writableStreamDefaultWriterCloseCodeLength; extern const JSC::ConstructAbility s_writableStreamDefaultWriterCloseCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamDefaultWriterCloseCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamDefaultWriterCloseCodeImplementationVisibility; // releaseLock #define WEBCORE_BUILTIN_WRITABLESTREAMDEFAULTWRITER_RELEASELOCK 1 extern const char* const s_writableStreamDefaultWriterReleaseLockCode; extern const int s_writableStreamDefaultWriterReleaseLockCodeLength; extern const JSC::ConstructAbility s_writableStreamDefaultWriterReleaseLockCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamDefaultWriterReleaseLockCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamDefaultWriterReleaseLockCodeImplementationVisibility; // write #define WEBCORE_BUILTIN_WRITABLESTREAMDEFAULTWRITER_WRITE 1 extern const char* const s_writableStreamDefaultWriterWriteCode; extern const int s_writableStreamDefaultWriterWriteCodeLength; extern const JSC::ConstructAbility s_writableStreamDefaultWriterWriteCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamDefaultWriterWriteCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamDefaultWriterWriteCodeImplementationVisibility; #define WEBCORE_FOREACH_WRITABLESTREAMDEFAULTWRITER_BUILTIN_DATA(macro) \ macro(initializeWritableStreamDefaultWriter, writableStreamDefaultWriterInitializeWritableStreamDefaultWriter, 1) \ macro(closed, writableStreamDefaultWriterClosed, 0) \ macro(desiredSize, writableStreamDefaultWriterDesiredSize, 0) \ macro(ready, writableStreamDefaultWriterReady, 0) \ macro(abort, writableStreamDefaultWriterAbort, 1) \ macro(close, writableStreamDefaultWriterClose, 0) \ macro(releaseLock, writableStreamDefaultWriterReleaseLock, 0) \ macro(write, writableStreamDefaultWriterWrite, 1) \ #define WEBCORE_FOREACH_WRITABLESTREAMDEFAULTWRITER_BUILTIN_CODE(macro) \ macro(writableStreamDefaultWriterInitializeWritableStreamDefaultWriterCode, initializeWritableStreamDefaultWriter, ASCIILiteral(), s_writableStreamDefaultWriterInitializeWritableStreamDefaultWriterCodeLength) \ macro(writableStreamDefaultWriterClosedCode, closed, "get closed"_s, s_writableStreamDefaultWriterClosedCodeLength) \ macro(writableStreamDefaultWriterDesiredSizeCode, desiredSize, "get desiredSize"_s, s_writableStreamDefaultWriterDesiredSizeCodeLength) \ macro(writableStreamDefaultWriterReadyCode, ready, "get ready"_s, s_writableStreamDefaultWriterReadyCodeLength) \ macro(writableStreamDefaultWriterAbortCode, abort, ASCIILiteral(), s_writableStreamDefaultWriterAbortCodeLength) \ macro(writableStreamDefaultWriterCloseCode, close, ASCIILiteral(), s_writableStreamDefaultWriterCloseCodeLength) \ macro(writableStreamDefaultWriterReleaseLockCode, releaseLock, ASCIILiteral(), s_writableStreamDefaultWriterReleaseLockCodeLength) \ macro(writableStreamDefaultWriterWriteCode, write, ASCIILiteral(), s_writableStreamDefaultWriterWriteCodeLength) \ #define WEBCORE_FOREACH_WRITABLESTREAMDEFAULTWRITER_BUILTIN_FUNCTION_NAME(macro) \ macro(initializeWritableStreamDefaultWriter) \ macro(closed) \ macro(desiredSize) \ macro(ready) \ macro(abort) \ macro(close) \ macro(releaseLock) \ macro(write) \ #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM&); WEBCORE_FOREACH_WRITABLESTREAMDEFAULTWRITER_BUILTIN_CODE(DECLARE_BUILTIN_GENERATOR) #undef DECLARE_BUILTIN_GENERATOR class WritableStreamDefaultWriterBuiltinsWrapper : private JSC::WeakHandleOwner { public: explicit WritableStreamDefaultWriterBuiltinsWrapper(JSC::VM& vm) : m_vm(vm) WEBCORE_FOREACH_WRITABLESTREAMDEFAULTWRITER_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), { }, JSC::SourceTaintedOrigin::Untainted)) WEBCORE_FOREACH_WRITABLESTREAMDEFAULTWRITER_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_WRITABLESTREAMDEFAULTWRITER_BUILTIN_CODE(EXPOSE_BUILTIN_EXECUTABLES) #undef EXPOSE_BUILTIN_EXECUTABLES WEBCORE_FOREACH_WRITABLESTREAMDEFAULTWRITER_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR) void exportNames(); private: JSC::VM& m_vm; WEBCORE_FOREACH_WRITABLESTREAMDEFAULTWRITER_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_NAMES) #define DECLARE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) \ JSC::SourceCode m_##name##Source;\ JSC::Weak m_##name##Executable; WEBCORE_FOREACH_WRITABLESTREAMDEFAULTWRITER_BUILTIN_CODE(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; #define DEFINE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \ inline JSC::UnlinkedFunctionExecutable* WritableStreamDefaultWriterBuiltinsWrapper::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::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_WRITABLESTREAMDEFAULTWRITER_BUILTIN_CODE(DEFINE_BUILTIN_EXECUTABLES) #undef DEFINE_BUILTIN_EXECUTABLES inline void WritableStreamDefaultWriterBuiltinsWrapper::exportNames() { #define EXPORT_FUNCTION_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName()); WEBCORE_FOREACH_WRITABLESTREAMDEFAULTWRITER_BUILTIN_FUNCTION_NAME(EXPORT_FUNCTION_NAME) #undef EXPORT_FUNCTION_NAME } /* ReadableStream.ts */ // initializeReadableStream #define WEBCORE_BUILTIN_READABLESTREAM_INITIALIZEREADABLESTREAM 1 extern const char* const s_readableStreamInitializeReadableStreamCode; extern const int s_readableStreamInitializeReadableStreamCodeLength; extern const JSC::ConstructAbility s_readableStreamInitializeReadableStreamCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamInitializeReadableStreamCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamInitializeReadableStreamCodeImplementationVisibility; // readableStreamToArray #define WEBCORE_BUILTIN_READABLESTREAM_READABLESTREAMTOARRAY 1 extern const char* const s_readableStreamReadableStreamToArrayCode; extern const int s_readableStreamReadableStreamToArrayCodeLength; extern const JSC::ConstructAbility s_readableStreamReadableStreamToArrayCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamReadableStreamToArrayCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamReadableStreamToArrayCodeImplementationVisibility; // readableStreamToText #define WEBCORE_BUILTIN_READABLESTREAM_READABLESTREAMTOTEXT 1 extern const char* const s_readableStreamReadableStreamToTextCode; extern const int s_readableStreamReadableStreamToTextCodeLength; extern const JSC::ConstructAbility s_readableStreamReadableStreamToTextCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamReadableStreamToTextCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamReadableStreamToTextCodeImplementationVisibility; // readableStreamToArrayBuffer #define WEBCORE_BUILTIN_READABLESTREAM_READABLESTREAMTOARRAYBUFFER 1 extern const char* const s_readableStreamReadableStreamToArrayBufferCode; extern const int s_readableStreamReadableStreamToArrayBufferCodeLength; extern const JSC::ConstructAbility s_readableStreamReadableStreamToArrayBufferCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamReadableStreamToArrayBufferCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamReadableStreamToArrayBufferCodeImplementationVisibility; // readableStreamToFormData #define WEBCORE_BUILTIN_READABLESTREAM_READABLESTREAMTOFORMDATA 1 extern const char* const s_readableStreamReadableStreamToFormDataCode; extern const int s_readableStreamReadableStreamToFormDataCodeLength; extern const JSC::ConstructAbility s_readableStreamReadableStreamToFormDataCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamReadableStreamToFormDataCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamReadableStreamToFormDataCodeImplementationVisibility; // readableStreamToJSON #define WEBCORE_BUILTIN_READABLESTREAM_READABLESTREAMTOJSON 1 extern const char* const s_readableStreamReadableStreamToJSONCode; extern const int s_readableStreamReadableStreamToJSONCodeLength; extern const JSC::ConstructAbility s_readableStreamReadableStreamToJSONCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamReadableStreamToJSONCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamReadableStreamToJSONCodeImplementationVisibility; // readableStreamToBlob #define WEBCORE_BUILTIN_READABLESTREAM_READABLESTREAMTOBLOB 1 extern const char* const s_readableStreamReadableStreamToBlobCode; extern const int s_readableStreamReadableStreamToBlobCodeLength; extern const JSC::ConstructAbility s_readableStreamReadableStreamToBlobCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamReadableStreamToBlobCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamReadableStreamToBlobCodeImplementationVisibility; // consumeReadableStream #define WEBCORE_BUILTIN_READABLESTREAM_CONSUMEREADABLESTREAM 1 extern const char* const s_readableStreamConsumeReadableStreamCode; extern const int s_readableStreamConsumeReadableStreamCodeLength; extern const JSC::ConstructAbility s_readableStreamConsumeReadableStreamCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamConsumeReadableStreamCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamConsumeReadableStreamCodeImplementationVisibility; // createEmptyReadableStream #define WEBCORE_BUILTIN_READABLESTREAM_CREATEEMPTYREADABLESTREAM 1 extern const char* const s_readableStreamCreateEmptyReadableStreamCode; extern const int s_readableStreamCreateEmptyReadableStreamCodeLength; extern const JSC::ConstructAbility s_readableStreamCreateEmptyReadableStreamCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamCreateEmptyReadableStreamCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamCreateEmptyReadableStreamCodeImplementationVisibility; // createNativeReadableStream #define WEBCORE_BUILTIN_READABLESTREAM_CREATENATIVEREADABLESTREAM 1 extern const char* const s_readableStreamCreateNativeReadableStreamCode; extern const int s_readableStreamCreateNativeReadableStreamCodeLength; extern const JSC::ConstructAbility s_readableStreamCreateNativeReadableStreamCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamCreateNativeReadableStreamCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamCreateNativeReadableStreamCodeImplementationVisibility; // cancel #define WEBCORE_BUILTIN_READABLESTREAM_CANCEL 1 extern const char* const s_readableStreamCancelCode; extern const int s_readableStreamCancelCodeLength; extern const JSC::ConstructAbility s_readableStreamCancelCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamCancelCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamCancelCodeImplementationVisibility; // getReader #define WEBCORE_BUILTIN_READABLESTREAM_GETREADER 1 extern const char* const s_readableStreamGetReaderCode; extern const int s_readableStreamGetReaderCodeLength; extern const JSC::ConstructAbility s_readableStreamGetReaderCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamGetReaderCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamGetReaderCodeImplementationVisibility; // pipeThrough #define WEBCORE_BUILTIN_READABLESTREAM_PIPETHROUGH 1 extern const char* const s_readableStreamPipeThroughCode; extern const int s_readableStreamPipeThroughCodeLength; extern const JSC::ConstructAbility s_readableStreamPipeThroughCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamPipeThroughCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamPipeThroughCodeImplementationVisibility; // pipeTo #define WEBCORE_BUILTIN_READABLESTREAM_PIPETO 1 extern const char* const s_readableStreamPipeToCode; extern const int s_readableStreamPipeToCodeLength; extern const JSC::ConstructAbility s_readableStreamPipeToCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamPipeToCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamPipeToCodeImplementationVisibility; // tee #define WEBCORE_BUILTIN_READABLESTREAM_TEE 1 extern const char* const s_readableStreamTeeCode; extern const int s_readableStreamTeeCodeLength; extern const JSC::ConstructAbility s_readableStreamTeeCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamTeeCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamTeeCodeImplementationVisibility; // locked #define WEBCORE_BUILTIN_READABLESTREAM_LOCKED 1 extern const char* const s_readableStreamLockedCode; extern const int s_readableStreamLockedCodeLength; extern const JSC::ConstructAbility s_readableStreamLockedCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamLockedCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamLockedCodeImplementationVisibility; // values #define WEBCORE_BUILTIN_READABLESTREAM_VALUES 1 extern const char* const s_readableStreamValuesCode; extern const int s_readableStreamValuesCodeLength; extern const JSC::ConstructAbility s_readableStreamValuesCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamValuesCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamValuesCodeImplementationVisibility; // lazyAsyncIterator #define WEBCORE_BUILTIN_READABLESTREAM_LAZYASYNCITERATOR 1 extern const char* const s_readableStreamLazyAsyncIteratorCode; extern const int s_readableStreamLazyAsyncIteratorCodeLength; extern const JSC::ConstructAbility s_readableStreamLazyAsyncIteratorCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamLazyAsyncIteratorCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamLazyAsyncIteratorCodeImplementationVisibility; #define WEBCORE_FOREACH_READABLESTREAM_BUILTIN_DATA(macro) \ macro(initializeReadableStream, readableStreamInitializeReadableStream, 3) \ macro(readableStreamToArray, readableStreamReadableStreamToArray, 1) \ macro(readableStreamToText, readableStreamReadableStreamToText, 1) \ macro(readableStreamToArrayBuffer, readableStreamReadableStreamToArrayBuffer, 1) \ macro(readableStreamToFormData, readableStreamReadableStreamToFormData, 3) \ macro(readableStreamToJSON, readableStreamReadableStreamToJSON, 1) \ macro(readableStreamToBlob, readableStreamReadableStreamToBlob, 1) \ macro(consumeReadableStream, readableStreamConsumeReadableStream, 3) \ macro(createEmptyReadableStream, readableStreamCreateEmptyReadableStream, 0) \ macro(createNativeReadableStream, readableStreamCreateNativeReadableStream, 3) \ macro(cancel, readableStreamCancel, 1) \ macro(getReader, readableStreamGetReader, 1) \ macro(pipeThrough, readableStreamPipeThrough, 2) \ macro(pipeTo, readableStreamPipeTo, 1) \ macro(tee, readableStreamTee, 0) \ macro(locked, readableStreamLocked, 0) \ macro(values, readableStreamValues, 1) \ macro(lazyAsyncIterator, readableStreamLazyAsyncIterator, 0) \ #define WEBCORE_FOREACH_READABLESTREAM_BUILTIN_CODE(macro) \ macro(readableStreamInitializeReadableStreamCode, initializeReadableStream, ASCIILiteral(), s_readableStreamInitializeReadableStreamCodeLength) \ macro(readableStreamReadableStreamToArrayCode, readableStreamToArray, ASCIILiteral(), s_readableStreamReadableStreamToArrayCodeLength) \ macro(readableStreamReadableStreamToTextCode, readableStreamToText, ASCIILiteral(), s_readableStreamReadableStreamToTextCodeLength) \ macro(readableStreamReadableStreamToArrayBufferCode, readableStreamToArrayBuffer, ASCIILiteral(), s_readableStreamReadableStreamToArrayBufferCodeLength) \ macro(readableStreamReadableStreamToFormDataCode, readableStreamToFormData, ASCIILiteral(), s_readableStreamReadableStreamToFormDataCodeLength) \ macro(readableStreamReadableStreamToJSONCode, readableStreamToJSON, ASCIILiteral(), s_readableStreamReadableStreamToJSONCodeLength) \ macro(readableStreamReadableStreamToBlobCode, readableStreamToBlob, ASCIILiteral(), s_readableStreamReadableStreamToBlobCodeLength) \ macro(readableStreamConsumeReadableStreamCode, consumeReadableStream, ASCIILiteral(), s_readableStreamConsumeReadableStreamCodeLength) \ macro(readableStreamCreateEmptyReadableStreamCode, createEmptyReadableStream, ASCIILiteral(), s_readableStreamCreateEmptyReadableStreamCodeLength) \ macro(readableStreamCreateNativeReadableStreamCode, createNativeReadableStream, ASCIILiteral(), s_readableStreamCreateNativeReadableStreamCodeLength) \ macro(readableStreamCancelCode, cancel, ASCIILiteral(), s_readableStreamCancelCodeLength) \ macro(readableStreamGetReaderCode, getReader, ASCIILiteral(), s_readableStreamGetReaderCodeLength) \ macro(readableStreamPipeThroughCode, pipeThrough, ASCIILiteral(), s_readableStreamPipeThroughCodeLength) \ macro(readableStreamPipeToCode, pipeTo, ASCIILiteral(), s_readableStreamPipeToCodeLength) \ macro(readableStreamTeeCode, tee, ASCIILiteral(), s_readableStreamTeeCodeLength) \ macro(readableStreamLockedCode, locked, "get locked"_s, s_readableStreamLockedCodeLength) \ macro(readableStreamValuesCode, values, ASCIILiteral(), s_readableStreamValuesCodeLength) \ macro(readableStreamLazyAsyncIteratorCode, lazyAsyncIterator, ASCIILiteral(), s_readableStreamLazyAsyncIteratorCodeLength) \ #define WEBCORE_FOREACH_READABLESTREAM_BUILTIN_FUNCTION_NAME(macro) \ macro(initializeReadableStream) \ macro(readableStreamToArray) \ macro(readableStreamToText) \ macro(readableStreamToArrayBuffer) \ macro(readableStreamToFormData) \ macro(readableStreamToJSON) \ macro(readableStreamToBlob) \ macro(consumeReadableStream) \ macro(createEmptyReadableStream) \ macro(createNativeReadableStream) \ macro(cancel) \ macro(getReader) \ macro(pipeThrough) \ macro(pipeTo) \ macro(tee) \ macro(locked) \ macro(values) \ macro(lazyAsyncIterator) \ #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM&); WEBCORE_FOREACH_READABLESTREAM_BUILTIN_CODE(DECLARE_BUILTIN_GENERATOR) #undef DECLARE_BUILTIN_GENERATOR class ReadableStreamBuiltinsWrapper : private JSC::WeakHandleOwner { public: explicit ReadableStreamBuiltinsWrapper(JSC::VM& vm) : m_vm(vm) WEBCORE_FOREACH_READABLESTREAM_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), { }, JSC::SourceTaintedOrigin::Untainted)) WEBCORE_FOREACH_READABLESTREAM_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_READABLESTREAM_BUILTIN_CODE(EXPOSE_BUILTIN_EXECUTABLES) #undef EXPOSE_BUILTIN_EXECUTABLES WEBCORE_FOREACH_READABLESTREAM_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR) void exportNames(); private: JSC::VM& m_vm; WEBCORE_FOREACH_READABLESTREAM_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_NAMES) #define DECLARE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) \ JSC::SourceCode m_##name##Source;\ JSC::Weak m_##name##Executable; WEBCORE_FOREACH_READABLESTREAM_BUILTIN_CODE(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; #define DEFINE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \ inline JSC::UnlinkedFunctionExecutable* ReadableStreamBuiltinsWrapper::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::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_READABLESTREAM_BUILTIN_CODE(DEFINE_BUILTIN_EXECUTABLES) #undef DEFINE_BUILTIN_EXECUTABLES inline void ReadableStreamBuiltinsWrapper::exportNames() { #define EXPORT_FUNCTION_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName()); WEBCORE_FOREACH_READABLESTREAM_BUILTIN_FUNCTION_NAME(EXPORT_FUNCTION_NAME) #undef EXPORT_FUNCTION_NAME } /* ReadableStreamDefaultController.ts */ // initializeReadableStreamDefaultController #define WEBCORE_BUILTIN_READABLESTREAMDEFAULTCONTROLLER_INITIALIZEREADABLESTREAMDEFAULTCONTROLLER 1 extern const char* const s_readableStreamDefaultControllerInitializeReadableStreamDefaultControllerCode; extern const int s_readableStreamDefaultControllerInitializeReadableStreamDefaultControllerCodeLength; extern const JSC::ConstructAbility s_readableStreamDefaultControllerInitializeReadableStreamDefaultControllerCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamDefaultControllerInitializeReadableStreamDefaultControllerCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamDefaultControllerInitializeReadableStreamDefaultControllerCodeImplementationVisibility; // enqueue #define WEBCORE_BUILTIN_READABLESTREAMDEFAULTCONTROLLER_ENQUEUE 1 extern const char* const s_readableStreamDefaultControllerEnqueueCode; extern const int s_readableStreamDefaultControllerEnqueueCodeLength; extern const JSC::ConstructAbility s_readableStreamDefaultControllerEnqueueCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamDefaultControllerEnqueueCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamDefaultControllerEnqueueCodeImplementationVisibility; // error #define WEBCORE_BUILTIN_READABLESTREAMDEFAULTCONTROLLER_ERROR 1 extern const char* const s_readableStreamDefaultControllerErrorCode; extern const int s_readableStreamDefaultControllerErrorCodeLength; extern const JSC::ConstructAbility s_readableStreamDefaultControllerErrorCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamDefaultControllerErrorCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamDefaultControllerErrorCodeImplementationVisibility; // close #define WEBCORE_BUILTIN_READABLESTREAMDEFAULTCONTROLLER_CLOSE 1 extern const char* const s_readableStreamDefaultControllerCloseCode; extern const int s_readableStreamDefaultControllerCloseCodeLength; extern const JSC::ConstructAbility s_readableStreamDefaultControllerCloseCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamDefaultControllerCloseCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamDefaultControllerCloseCodeImplementationVisibility; // desiredSize #define WEBCORE_BUILTIN_READABLESTREAMDEFAULTCONTROLLER_DESIREDSIZE 1 extern const char* const s_readableStreamDefaultControllerDesiredSizeCode; extern const int s_readableStreamDefaultControllerDesiredSizeCodeLength; extern const JSC::ConstructAbility s_readableStreamDefaultControllerDesiredSizeCodeConstructAbility; extern const JSC::ConstructorKind s_readableStreamDefaultControllerDesiredSizeCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableStreamDefaultControllerDesiredSizeCodeImplementationVisibility; #define WEBCORE_FOREACH_READABLESTREAMDEFAULTCONTROLLER_BUILTIN_DATA(macro) \ macro(initializeReadableStreamDefaultController, readableStreamDefaultControllerInitializeReadableStreamDefaultController, 4) \ macro(enqueue, readableStreamDefaultControllerEnqueue, 1) \ macro(error, readableStreamDefaultControllerError, 1) \ macro(close, readableStreamDefaultControllerClose, 0) \ macro(desiredSize, readableStreamDefaultControllerDesiredSize, 0) \ #define WEBCORE_FOREACH_READABLESTREAMDEFAULTCONTROLLER_BUILTIN_CODE(macro) \ macro(readableStreamDefaultControllerInitializeReadableStreamDefaultControllerCode, initializeReadableStreamDefaultController, ASCIILiteral(), s_readableStreamDefaultControllerInitializeReadableStreamDefaultControllerCodeLength) \ macro(readableStreamDefaultControllerEnqueueCode, enqueue, ASCIILiteral(), s_readableStreamDefaultControllerEnqueueCodeLength) \ macro(readableStreamDefaultControllerErrorCode, error, ASCIILiteral(), s_readableStreamDefaultControllerErrorCodeLength) \ macro(readableStreamDefaultControllerCloseCode, close, ASCIILiteral(), s_readableStreamDefaultControllerCloseCodeLength) \ macro(readableStreamDefaultControllerDesiredSizeCode, desiredSize, "get desiredSize"_s, s_readableStreamDefaultControllerDesiredSizeCodeLength) \ #define WEBCORE_FOREACH_READABLESTREAMDEFAULTCONTROLLER_BUILTIN_FUNCTION_NAME(macro) \ macro(initializeReadableStreamDefaultController) \ macro(enqueue) \ macro(error) \ macro(close) \ macro(desiredSize) \ #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM&); WEBCORE_FOREACH_READABLESTREAMDEFAULTCONTROLLER_BUILTIN_CODE(DECLARE_BUILTIN_GENERATOR) #undef DECLARE_BUILTIN_GENERATOR class ReadableStreamDefaultControllerBuiltinsWrapper : private JSC::WeakHandleOwner { public: explicit ReadableStreamDefaultControllerBuiltinsWrapper(JSC::VM& vm) : m_vm(vm) WEBCORE_FOREACH_READABLESTREAMDEFAULTCONTROLLER_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), { }, JSC::SourceTaintedOrigin::Untainted)) WEBCORE_FOREACH_READABLESTREAMDEFAULTCONTROLLER_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_READABLESTREAMDEFAULTCONTROLLER_BUILTIN_CODE(EXPOSE_BUILTIN_EXECUTABLES) #undef EXPOSE_BUILTIN_EXECUTABLES WEBCORE_FOREACH_READABLESTREAMDEFAULTCONTROLLER_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR) void exportNames(); private: JSC::VM& m_vm; WEBCORE_FOREACH_READABLESTREAMDEFAULTCONTROLLER_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_NAMES) #define DECLARE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) \ JSC::SourceCode m_##name##Source;\ JSC::Weak m_##name##Executable; WEBCORE_FOREACH_READABLESTREAMDEFAULTCONTROLLER_BUILTIN_CODE(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; #define DEFINE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \ inline JSC::UnlinkedFunctionExecutable* ReadableStreamDefaultControllerBuiltinsWrapper::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::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_READABLESTREAMDEFAULTCONTROLLER_BUILTIN_CODE(DEFINE_BUILTIN_EXECUTABLES) #undef DEFINE_BUILTIN_EXECUTABLES inline void ReadableStreamDefaultControllerBuiltinsWrapper::exportNames() { #define EXPORT_FUNCTION_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName()); WEBCORE_FOREACH_READABLESTREAMDEFAULTCONTROLLER_BUILTIN_FUNCTION_NAME(EXPORT_FUNCTION_NAME) #undef EXPORT_FUNCTION_NAME } /* ReadableByteStreamInternals.ts */ // privateInitializeReadableByteStreamController #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_PRIVATEINITIALIZEREADABLEBYTESTREAMCONTROLLER 1 extern const char* const s_readableByteStreamInternalsPrivateInitializeReadableByteStreamControllerCode; extern const int s_readableByteStreamInternalsPrivateInitializeReadableByteStreamControllerCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsPrivateInitializeReadableByteStreamControllerCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsPrivateInitializeReadableByteStreamControllerCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsPrivateInitializeReadableByteStreamControllerCodeImplementationVisibility; // readableStreamByteStreamControllerStart #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLESTREAMBYTESTREAMCONTROLLERSTART 1 extern const char* const s_readableByteStreamInternalsReadableStreamByteStreamControllerStartCode; extern const int s_readableByteStreamInternalsReadableStreamByteStreamControllerStartCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableStreamByteStreamControllerStartCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableStreamByteStreamControllerStartCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableStreamByteStreamControllerStartCodeImplementationVisibility; // privateInitializeReadableStreamBYOBRequest #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_PRIVATEINITIALIZEREADABLESTREAMBYOBREQUEST 1 extern const char* const s_readableByteStreamInternalsPrivateInitializeReadableStreamBYOBRequestCode; extern const int s_readableByteStreamInternalsPrivateInitializeReadableStreamBYOBRequestCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsPrivateInitializeReadableStreamBYOBRequestCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsPrivateInitializeReadableStreamBYOBRequestCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsPrivateInitializeReadableStreamBYOBRequestCodeImplementationVisibility; // isReadableByteStreamController #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_ISREADABLEBYTESTREAMCONTROLLER 1 extern const char* const s_readableByteStreamInternalsIsReadableByteStreamControllerCode; extern const int s_readableByteStreamInternalsIsReadableByteStreamControllerCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsIsReadableByteStreamControllerCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsIsReadableByteStreamControllerCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsIsReadableByteStreamControllerCodeImplementationVisibility; // isReadableStreamBYOBRequest #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_ISREADABLESTREAMBYOBREQUEST 1 extern const char* const s_readableByteStreamInternalsIsReadableStreamBYOBRequestCode; extern const int s_readableByteStreamInternalsIsReadableStreamBYOBRequestCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsIsReadableStreamBYOBRequestCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsIsReadableStreamBYOBRequestCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsIsReadableStreamBYOBRequestCodeImplementationVisibility; // isReadableStreamBYOBReader #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_ISREADABLESTREAMBYOBREADER 1 extern const char* const s_readableByteStreamInternalsIsReadableStreamBYOBReaderCode; extern const int s_readableByteStreamInternalsIsReadableStreamBYOBReaderCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsIsReadableStreamBYOBReaderCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsIsReadableStreamBYOBReaderCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsIsReadableStreamBYOBReaderCodeImplementationVisibility; // readableByteStreamControllerCancel #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLEBYTESTREAMCONTROLLERCANCEL 1 extern const char* const s_readableByteStreamInternalsReadableByteStreamControllerCancelCode; extern const int s_readableByteStreamInternalsReadableByteStreamControllerCancelCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerCancelCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerCancelCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerCancelCodeImplementationVisibility; // readableByteStreamControllerError #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLEBYTESTREAMCONTROLLERERROR 1 extern const char* const s_readableByteStreamInternalsReadableByteStreamControllerErrorCode; extern const int s_readableByteStreamInternalsReadableByteStreamControllerErrorCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerErrorCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerErrorCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerErrorCodeImplementationVisibility; // readableByteStreamControllerClose #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLEBYTESTREAMCONTROLLERCLOSE 1 extern const char* const s_readableByteStreamInternalsReadableByteStreamControllerCloseCode; extern const int s_readableByteStreamInternalsReadableByteStreamControllerCloseCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerCloseCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerCloseCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerCloseCodeImplementationVisibility; // readableByteStreamControllerClearPendingPullIntos #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLEBYTESTREAMCONTROLLERCLEARPENDINGPULLINTOS 1 extern const char* const s_readableByteStreamInternalsReadableByteStreamControllerClearPendingPullIntosCode; extern const int s_readableByteStreamInternalsReadableByteStreamControllerClearPendingPullIntosCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerClearPendingPullIntosCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerClearPendingPullIntosCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerClearPendingPullIntosCodeImplementationVisibility; // readableByteStreamControllerGetDesiredSize #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLEBYTESTREAMCONTROLLERGETDESIREDSIZE 1 extern const char* const s_readableByteStreamInternalsReadableByteStreamControllerGetDesiredSizeCode; extern const int s_readableByteStreamInternalsReadableByteStreamControllerGetDesiredSizeCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerGetDesiredSizeCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerGetDesiredSizeCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerGetDesiredSizeCodeImplementationVisibility; // readableStreamHasBYOBReader #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLESTREAMHASBYOBREADER 1 extern const char* const s_readableByteStreamInternalsReadableStreamHasBYOBReaderCode; extern const int s_readableByteStreamInternalsReadableStreamHasBYOBReaderCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableStreamHasBYOBReaderCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableStreamHasBYOBReaderCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableStreamHasBYOBReaderCodeImplementationVisibility; // readableStreamHasDefaultReader #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLESTREAMHASDEFAULTREADER 1 extern const char* const s_readableByteStreamInternalsReadableStreamHasDefaultReaderCode; extern const int s_readableByteStreamInternalsReadableStreamHasDefaultReaderCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableStreamHasDefaultReaderCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableStreamHasDefaultReaderCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableStreamHasDefaultReaderCodeImplementationVisibility; // readableByteStreamControllerHandleQueueDrain #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLEBYTESTREAMCONTROLLERHANDLEQUEUEDRAIN 1 extern const char* const s_readableByteStreamInternalsReadableByteStreamControllerHandleQueueDrainCode; extern const int s_readableByteStreamInternalsReadableByteStreamControllerHandleQueueDrainCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerHandleQueueDrainCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerHandleQueueDrainCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerHandleQueueDrainCodeImplementationVisibility; // readableByteStreamControllerPull #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLEBYTESTREAMCONTROLLERPULL 1 extern const char* const s_readableByteStreamInternalsReadableByteStreamControllerPullCode; extern const int s_readableByteStreamInternalsReadableByteStreamControllerPullCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerPullCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerPullCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerPullCodeImplementationVisibility; // readableByteStreamControllerShouldCallPull #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLEBYTESTREAMCONTROLLERSHOULDCALLPULL 1 extern const char* const s_readableByteStreamInternalsReadableByteStreamControllerShouldCallPullCode; extern const int s_readableByteStreamInternalsReadableByteStreamControllerShouldCallPullCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerShouldCallPullCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerShouldCallPullCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerShouldCallPullCodeImplementationVisibility; // readableByteStreamControllerCallPullIfNeeded #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLEBYTESTREAMCONTROLLERCALLPULLIFNEEDED 1 extern const char* const s_readableByteStreamInternalsReadableByteStreamControllerCallPullIfNeededCode; extern const int s_readableByteStreamInternalsReadableByteStreamControllerCallPullIfNeededCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerCallPullIfNeededCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerCallPullIfNeededCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerCallPullIfNeededCodeImplementationVisibility; // transferBufferToCurrentRealm #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_TRANSFERBUFFERTOCURRENTREALM 1 extern const char* const s_readableByteStreamInternalsTransferBufferToCurrentRealmCode; extern const int s_readableByteStreamInternalsTransferBufferToCurrentRealmCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsTransferBufferToCurrentRealmCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsTransferBufferToCurrentRealmCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsTransferBufferToCurrentRealmCodeImplementationVisibility; // readableStreamReaderKind #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLESTREAMREADERKIND 1 extern const char* const s_readableByteStreamInternalsReadableStreamReaderKindCode; extern const int s_readableByteStreamInternalsReadableStreamReaderKindCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableStreamReaderKindCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableStreamReaderKindCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableStreamReaderKindCodeImplementationVisibility; // readableByteStreamControllerEnqueue #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLEBYTESTREAMCONTROLLERENQUEUE 1 extern const char* const s_readableByteStreamInternalsReadableByteStreamControllerEnqueueCode; extern const int s_readableByteStreamInternalsReadableByteStreamControllerEnqueueCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerEnqueueCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerEnqueueCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerEnqueueCodeImplementationVisibility; // readableByteStreamControllerEnqueueChunk #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLEBYTESTREAMCONTROLLERENQUEUECHUNK 1 extern const char* const s_readableByteStreamInternalsReadableByteStreamControllerEnqueueChunkCode; extern const int s_readableByteStreamInternalsReadableByteStreamControllerEnqueueChunkCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerEnqueueChunkCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerEnqueueChunkCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerEnqueueChunkCodeImplementationVisibility; // readableByteStreamControllerRespondWithNewView #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLEBYTESTREAMCONTROLLERRESPONDWITHNEWVIEW 1 extern const char* const s_readableByteStreamInternalsReadableByteStreamControllerRespondWithNewViewCode; extern const int s_readableByteStreamInternalsReadableByteStreamControllerRespondWithNewViewCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerRespondWithNewViewCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerRespondWithNewViewCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerRespondWithNewViewCodeImplementationVisibility; // readableByteStreamControllerRespond #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLEBYTESTREAMCONTROLLERRESPOND 1 extern const char* const s_readableByteStreamInternalsReadableByteStreamControllerRespondCode; extern const int s_readableByteStreamInternalsReadableByteStreamControllerRespondCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerRespondCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerRespondCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerRespondCodeImplementationVisibility; // readableByteStreamControllerRespondInternal #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLEBYTESTREAMCONTROLLERRESPONDINTERNAL 1 extern const char* const s_readableByteStreamInternalsReadableByteStreamControllerRespondInternalCode; extern const int s_readableByteStreamInternalsReadableByteStreamControllerRespondInternalCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerRespondInternalCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerRespondInternalCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerRespondInternalCodeImplementationVisibility; // readableByteStreamControllerRespondInReadableState #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLEBYTESTREAMCONTROLLERRESPONDINREADABLESTATE 1 extern const char* const s_readableByteStreamInternalsReadableByteStreamControllerRespondInReadableStateCode; extern const int s_readableByteStreamInternalsReadableByteStreamControllerRespondInReadableStateCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerRespondInReadableStateCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerRespondInReadableStateCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerRespondInReadableStateCodeImplementationVisibility; // readableByteStreamControllerRespondInClosedState #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLEBYTESTREAMCONTROLLERRESPONDINCLOSEDSTATE 1 extern const char* const s_readableByteStreamInternalsReadableByteStreamControllerRespondInClosedStateCode; extern const int s_readableByteStreamInternalsReadableByteStreamControllerRespondInClosedStateCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerRespondInClosedStateCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerRespondInClosedStateCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerRespondInClosedStateCodeImplementationVisibility; // readableByteStreamControllerProcessPullDescriptors #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLEBYTESTREAMCONTROLLERPROCESSPULLDESCRIPTORS 1 extern const char* const s_readableByteStreamInternalsReadableByteStreamControllerProcessPullDescriptorsCode; extern const int s_readableByteStreamInternalsReadableByteStreamControllerProcessPullDescriptorsCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerProcessPullDescriptorsCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerProcessPullDescriptorsCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerProcessPullDescriptorsCodeImplementationVisibility; // readableByteStreamControllerFillDescriptorFromQueue #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLEBYTESTREAMCONTROLLERFILLDESCRIPTORFROMQUEUE 1 extern const char* const s_readableByteStreamInternalsReadableByteStreamControllerFillDescriptorFromQueueCode; extern const int s_readableByteStreamInternalsReadableByteStreamControllerFillDescriptorFromQueueCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerFillDescriptorFromQueueCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerFillDescriptorFromQueueCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerFillDescriptorFromQueueCodeImplementationVisibility; // readableByteStreamControllerShiftPendingDescriptor #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLEBYTESTREAMCONTROLLERSHIFTPENDINGDESCRIPTOR 1 extern const char* const s_readableByteStreamInternalsReadableByteStreamControllerShiftPendingDescriptorCode; extern const int s_readableByteStreamInternalsReadableByteStreamControllerShiftPendingDescriptorCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerShiftPendingDescriptorCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerShiftPendingDescriptorCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerShiftPendingDescriptorCodeImplementationVisibility; // readableByteStreamControllerInvalidateBYOBRequest #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLEBYTESTREAMCONTROLLERINVALIDATEBYOBREQUEST 1 extern const char* const s_readableByteStreamInternalsReadableByteStreamControllerInvalidateBYOBRequestCode; extern const int s_readableByteStreamInternalsReadableByteStreamControllerInvalidateBYOBRequestCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerInvalidateBYOBRequestCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerInvalidateBYOBRequestCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerInvalidateBYOBRequestCodeImplementationVisibility; // readableByteStreamControllerCommitDescriptor #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLEBYTESTREAMCONTROLLERCOMMITDESCRIPTOR 1 extern const char* const s_readableByteStreamInternalsReadableByteStreamControllerCommitDescriptorCode; extern const int s_readableByteStreamInternalsReadableByteStreamControllerCommitDescriptorCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerCommitDescriptorCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerCommitDescriptorCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerCommitDescriptorCodeImplementationVisibility; // readableByteStreamControllerConvertDescriptor #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLEBYTESTREAMCONTROLLERCONVERTDESCRIPTOR 1 extern const char* const s_readableByteStreamInternalsReadableByteStreamControllerConvertDescriptorCode; extern const int s_readableByteStreamInternalsReadableByteStreamControllerConvertDescriptorCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerConvertDescriptorCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerConvertDescriptorCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerConvertDescriptorCodeImplementationVisibility; // readableStreamFulfillReadIntoRequest #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLESTREAMFULFILLREADINTOREQUEST 1 extern const char* const s_readableByteStreamInternalsReadableStreamFulfillReadIntoRequestCode; extern const int s_readableByteStreamInternalsReadableStreamFulfillReadIntoRequestCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableStreamFulfillReadIntoRequestCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableStreamFulfillReadIntoRequestCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableStreamFulfillReadIntoRequestCodeImplementationVisibility; // readableStreamBYOBReaderRead #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLESTREAMBYOBREADERREAD 1 extern const char* const s_readableByteStreamInternalsReadableStreamBYOBReaderReadCode; extern const int s_readableByteStreamInternalsReadableStreamBYOBReaderReadCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableStreamBYOBReaderReadCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableStreamBYOBReaderReadCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableStreamBYOBReaderReadCodeImplementationVisibility; // readableByteStreamControllerPullInto #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLEBYTESTREAMCONTROLLERPULLINTO 1 extern const char* const s_readableByteStreamInternalsReadableByteStreamControllerPullIntoCode; extern const int s_readableByteStreamInternalsReadableByteStreamControllerPullIntoCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerPullIntoCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerPullIntoCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerPullIntoCodeImplementationVisibility; // readableStreamAddReadIntoRequest #define WEBCORE_BUILTIN_READABLEBYTESTREAMINTERNALS_READABLESTREAMADDREADINTOREQUEST 1 extern const char* const s_readableByteStreamInternalsReadableStreamAddReadIntoRequestCode; extern const int s_readableByteStreamInternalsReadableStreamAddReadIntoRequestCodeLength; extern const JSC::ConstructAbility s_readableByteStreamInternalsReadableStreamAddReadIntoRequestCodeConstructAbility; extern const JSC::ConstructorKind s_readableByteStreamInternalsReadableStreamAddReadIntoRequestCodeConstructorKind; extern const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableStreamAddReadIntoRequestCodeImplementationVisibility; #define WEBCORE_FOREACH_READABLEBYTESTREAMINTERNALS_BUILTIN_DATA(macro) \ macro(privateInitializeReadableByteStreamController, readableByteStreamInternalsPrivateInitializeReadableByteStreamController, 3) \ macro(readableStreamByteStreamControllerStart, readableByteStreamInternalsReadableStreamByteStreamControllerStart, 1) \ macro(privateInitializeReadableStreamBYOBRequest, readableByteStreamInternalsPrivateInitializeReadableStreamBYOBRequest, 2) \ macro(isReadableByteStreamController, readableByteStreamInternalsIsReadableByteStreamController, 1) \ macro(isReadableStreamBYOBRequest, readableByteStreamInternalsIsReadableStreamBYOBRequest, 1) \ macro(isReadableStreamBYOBReader, readableByteStreamInternalsIsReadableStreamBYOBReader, 1) \ macro(readableByteStreamControllerCancel, readableByteStreamInternalsReadableByteStreamControllerCancel, 2) \ macro(readableByteStreamControllerError, readableByteStreamInternalsReadableByteStreamControllerError, 2) \ macro(readableByteStreamControllerClose, readableByteStreamInternalsReadableByteStreamControllerClose, 1) \ macro(readableByteStreamControllerClearPendingPullIntos, readableByteStreamInternalsReadableByteStreamControllerClearPendingPullIntos, 1) \ macro(readableByteStreamControllerGetDesiredSize, readableByteStreamInternalsReadableByteStreamControllerGetDesiredSize, 1) \ macro(readableStreamHasBYOBReader, readableByteStreamInternalsReadableStreamHasBYOBReader, 1) \ macro(readableStreamHasDefaultReader, readableByteStreamInternalsReadableStreamHasDefaultReader, 1) \ macro(readableByteStreamControllerHandleQueueDrain, readableByteStreamInternalsReadableByteStreamControllerHandleQueueDrain, 1) \ macro(readableByteStreamControllerPull, readableByteStreamInternalsReadableByteStreamControllerPull, 1) \ macro(readableByteStreamControllerShouldCallPull, readableByteStreamInternalsReadableByteStreamControllerShouldCallPull, 1) \ macro(readableByteStreamControllerCallPullIfNeeded, readableByteStreamInternalsReadableByteStreamControllerCallPullIfNeeded, 1) \ macro(transferBufferToCurrentRealm, readableByteStreamInternalsTransferBufferToCurrentRealm, 1) \ macro(readableStreamReaderKind, readableByteStreamInternalsReadableStreamReaderKind, 1) \ macro(readableByteStreamControllerEnqueue, readableByteStreamInternalsReadableByteStreamControllerEnqueue, 2) \ macro(readableByteStreamControllerEnqueueChunk, readableByteStreamInternalsReadableByteStreamControllerEnqueueChunk, 4) \ macro(readableByteStreamControllerRespondWithNewView, readableByteStreamInternalsReadableByteStreamControllerRespondWithNewView, 2) \ macro(readableByteStreamControllerRespond, readableByteStreamInternalsReadableByteStreamControllerRespond, 2) \ macro(readableByteStreamControllerRespondInternal, readableByteStreamInternalsReadableByteStreamControllerRespondInternal, 2) \ macro(readableByteStreamControllerRespondInReadableState, readableByteStreamInternalsReadableByteStreamControllerRespondInReadableState, 3) \ macro(readableByteStreamControllerRespondInClosedState, readableByteStreamInternalsReadableByteStreamControllerRespondInClosedState, 2) \ macro(readableByteStreamControllerProcessPullDescriptors, readableByteStreamInternalsReadableByteStreamControllerProcessPullDescriptors, 1) \ macro(readableByteStreamControllerFillDescriptorFromQueue, readableByteStreamInternalsReadableByteStreamControllerFillDescriptorFromQueue, 2) \ macro(readableByteStreamControllerShiftPendingDescriptor, readableByteStreamInternalsReadableByteStreamControllerShiftPendingDescriptor, 1) \ macro(readableByteStreamControllerInvalidateBYOBRequest, readableByteStreamInternalsReadableByteStreamControllerInvalidateBYOBRequest, 1) \ macro(readableByteStreamControllerCommitDescriptor, readableByteStreamInternalsReadableByteStreamControllerCommitDescriptor, 2) \ macro(readableByteStreamControllerConvertDescriptor, readableByteStreamInternalsReadableByteStreamControllerConvertDescriptor, 1) \ macro(readableStreamFulfillReadIntoRequest, readableByteStreamInternalsReadableStreamFulfillReadIntoRequest, 3) \ macro(readableStreamBYOBReaderRead, readableByteStreamInternalsReadableStreamBYOBReaderRead, 2) \ macro(readableByteStreamControllerPullInto, readableByteStreamInternalsReadableByteStreamControllerPullInto, 2) \ macro(readableStreamAddReadIntoRequest, readableByteStreamInternalsReadableStreamAddReadIntoRequest, 1) \ #define WEBCORE_FOREACH_READABLEBYTESTREAMINTERNALS_BUILTIN_CODE(macro) \ macro(readableByteStreamInternalsPrivateInitializeReadableByteStreamControllerCode, privateInitializeReadableByteStreamController, ASCIILiteral(), s_readableByteStreamInternalsPrivateInitializeReadableByteStreamControllerCodeLength) \ macro(readableByteStreamInternalsReadableStreamByteStreamControllerStartCode, readableStreamByteStreamControllerStart, ASCIILiteral(), s_readableByteStreamInternalsReadableStreamByteStreamControllerStartCodeLength) \ macro(readableByteStreamInternalsPrivateInitializeReadableStreamBYOBRequestCode, privateInitializeReadableStreamBYOBRequest, ASCIILiteral(), s_readableByteStreamInternalsPrivateInitializeReadableStreamBYOBRequestCodeLength) \ macro(readableByteStreamInternalsIsReadableByteStreamControllerCode, isReadableByteStreamController, ASCIILiteral(), s_readableByteStreamInternalsIsReadableByteStreamControllerCodeLength) \ macro(readableByteStreamInternalsIsReadableStreamBYOBRequestCode, isReadableStreamBYOBRequest, ASCIILiteral(), s_readableByteStreamInternalsIsReadableStreamBYOBRequestCodeLength) \ macro(readableByteStreamInternalsIsReadableStreamBYOBReaderCode, isReadableStreamBYOBReader, ASCIILiteral(), s_readableByteStreamInternalsIsReadableStreamBYOBReaderCodeLength) \ macro(readableByteStreamInternalsReadableByteStreamControllerCancelCode, readableByteStreamControllerCancel, ASCIILiteral(), s_readableByteStreamInternalsReadableByteStreamControllerCancelCodeLength) \ macro(readableByteStreamInternalsReadableByteStreamControllerErrorCode, readableByteStreamControllerError, ASCIILiteral(), s_readableByteStreamInternalsReadableByteStreamControllerErrorCodeLength) \ macro(readableByteStreamInternalsReadableByteStreamControllerCloseCode, readableByteStreamControllerClose, ASCIILiteral(), s_readableByteStreamInternalsReadableByteStreamControllerCloseCodeLength) \ macro(readableByteStreamInternalsReadableByteStreamControllerClearPendingPullIntosCode, readableByteStreamControllerClearPendingPullIntos, ASCIILiteral(), s_readableByteStreamInternalsReadableByteStreamControllerClearPendingPullIntosCodeLength) \ macro(readableByteStreamInternalsReadableByteStreamControllerGetDesiredSizeCode, readableByteStreamControllerGetDesiredSize, ASCIILiteral(), s_readableByteStreamInternalsReadableByteStreamControllerGetDesiredSizeCodeLength) \ macro(readableByteStreamInternalsReadableStreamHasBYOBReaderCode, readableStreamHasBYOBReader, ASCIILiteral(), s_readableByteStreamInternalsReadableStreamHasBYOBReaderCodeLength) \ macro(readableByteStreamInternalsReadableStreamHasDefaultReaderCode, readableStreamHasDefaultReader, ASCIILiteral(), s_readableByteStreamInternalsReadableStreamHasDefaultReaderCodeLength) \ macro(readableByteStreamInternalsReadableByteStreamControllerHandleQueueDrainCode, readableByteStreamControllerHandleQueueDrain, ASCIILiteral(), s_readableByteStreamInternalsReadableByteStreamControllerHandleQueueDrainCodeLength) \ macro(readableByteStreamInternalsReadableByteStreamControllerPullCode, readableByteStreamControllerPull, ASCIILiteral(), s_readableByteStreamInternalsReadableByteStreamControllerPullCodeLength) \ macro(readableByteStreamInternalsReadableByteStreamControllerShouldCallPullCode, readableByteStreamControllerShouldCallPull, ASCIILiteral(), s_readableByteStreamInternalsReadableByteStreamControllerShouldCallPullCodeLength) \ macro(readableByteStreamInternalsReadableByteStreamControllerCallPullIfNeededCode, readableByteStreamControllerCallPullIfNeeded, ASCIILiteral(), s_readableByteStreamInternalsReadableByteStreamControllerCallPullIfNeededCodeLength) \ macro(readableByteStreamInternalsTransferBufferToCurrentRealmCode, transferBufferToCurrentRealm, ASCIILiteral(), s_readableByteStreamInternalsTransferBufferToCurrentRealmCodeLength) \ macro(readableByteStreamInternalsReadableStreamReaderKindCode, readableStreamReaderKind, ASCIILiteral(), s_readableByteStreamInternalsReadableStreamReaderKindCodeLength) \ macro(readableByteStreamInternalsReadableByteStreamControllerEnqueueCode, readableByteStreamControllerEnqueue, ASCIILiteral(), s_readableByteStreamInternalsReadableByteStreamControllerEnqueueCodeLength) \ macro(readableByteStreamInternalsReadableByteStreamControllerEnqueueChunkCode, readableByteStreamControllerEnqueueChunk, ASCIILiteral(), s_readableByteStreamInternalsReadableByteStreamControllerEnqueueChunkCodeLength) \ macro(readableByteStreamInternalsReadableByteStreamControllerRespondWithNewViewCode, readableByteStreamControllerRespondWithNewView, ASCIILiteral(), s_readableByteStreamInternalsReadableByteStreamControllerRespondWithNewViewCodeLength) \ macro(readableByteStreamInternalsReadableByteStreamControllerRespondCode, readableByteStreamControllerRespond, ASCIILiteral(), s_readableByteStreamInternalsReadableByteStreamControllerRespondCodeLength) \ macro(readableByteStreamInternalsReadableByteStreamControllerRespondInternalCode, readableByteStreamControllerRespondInternal, ASCIILiteral(), s_readableByteStreamInternalsReadableByteStreamControllerRespondInternalCodeLength) \ macro(readableByteStreamInternalsReadableByteStreamControllerRespondInReadableStateCode, readableByteStreamControllerRespondInReadableState, ASCIILiteral(), s_readableByteStreamInternalsReadableByteStreamControllerRespondInReadableStateCodeLength) \ macro(readableByteStreamInternalsReadableByteStreamControllerRespondInClosedStateCode, readableByteStreamControllerRespondInClosedState, ASCIILiteral(), s_readableByteStreamInternalsReadableByteStreamControllerRespondInClosedStateCodeLength) \ macro(readableByteStreamInternalsReadableByteStreamControllerProcessPullDescriptorsCode, readableByteStreamControllerProcessPullDescriptors, ASCIILiteral(), s_readableByteStreamInternalsReadableByteStreamControllerProcessPullDescriptorsCodeLength) \ macro(readableByteStreamInternalsReadableByteStreamControllerFillDescriptorFromQueueCode, readableByteStreamControllerFillDescriptorFromQueue, ASCIILiteral(), s_readableByteStreamInternalsReadableByteStreamControllerFillDescriptorFromQueueCodeLength) \ macro(readableByteStreamInternalsReadableByteStreamControllerShiftPendingDescriptorCode, readableByteStreamControllerShiftPendingDescriptor, ASCIILiteral(), s_readableByteStreamInternalsReadableByteStreamControllerShiftPendingDescriptorCodeLength) \ macro(readableByteStreamInternalsReadableByteStreamControllerInvalidateBYOBRequestCode, readableByteStreamControllerInvalidateBYOBRequest, ASCIILiteral(), s_readableByteStreamInternalsReadableByteStreamControllerInvalidateBYOBRequestCodeLength) \ macro(readableByteStreamInternalsReadableByteStreamControllerCommitDescriptorCode, readableByteStreamControllerCommitDescriptor, ASCIILiteral(), s_readableByteStreamInternalsReadableByteStreamControllerCommitDescriptorCodeLength) \ macro(readableByteStreamInternalsReadableByteStreamControllerConvertDescriptorCode, readableByteStreamControllerConvertDescriptor, ASCIILiteral(), s_readableByteStreamInternalsReadableByteStreamControllerConvertDescriptorCodeLength) \ macro(readableByteStreamInternalsReadableStreamFulfillReadIntoRequestCode, readableStreamFulfillReadIntoRequest, ASCIILiteral(), s_readableByteStreamInternalsReadableStreamFulfillReadIntoRequestCodeLength) \ macro(readableByteStreamInternalsReadableStreamBYOBReaderReadCode, readableStreamBYOBReaderRead, ASCIILiteral(), s_readableByteStreamInternalsReadableStreamBYOBReaderReadCodeLength) \ macro(readableByteStreamInternalsReadableByteStreamControllerPullIntoCode, readableByteStreamControllerPullInto, ASCIILiteral(), s_readableByteStreamInternalsReadableByteStreamControllerPullIntoCodeLength) \ macro(readableByteStreamInternalsReadableStreamAddReadIntoRequestCode, readableStreamAddReadIntoRequest, ASCIILiteral(), s_readableByteStreamInternalsReadableStreamAddReadIntoRequestCodeLength) \ #define WEBCORE_FOREACH_READABLEBYTESTREAMINTERNALS_BUILTIN_FUNCTION_NAME(macro) \ macro(privateInitializeReadableByteStreamController) \ macro(readableStreamByteStreamControllerStart) \ macro(privateInitializeReadableStreamBYOBRequest) \ macro(isReadableByteStreamController) \ macro(isReadableStreamBYOBRequest) \ macro(isReadableStreamBYOBReader) \ macro(readableByteStreamControllerCancel) \ macro(readableByteStreamControllerError) \ macro(readableByteStreamControllerClose) \ macro(readableByteStreamControllerClearPendingPullIntos) \ macro(readableByteStreamControllerGetDesiredSize) \ macro(readableStreamHasBYOBReader) \ macro(readableStreamHasDefaultReader) \ macro(readableByteStreamControllerHandleQueueDrain) \ macro(readableByteStreamControllerPull) \ macro(readableByteStreamControllerShouldCallPull) \ macro(readableByteStreamControllerCallPullIfNeeded) \ macro(transferBufferToCurrentRealm) \ macro(readableStreamReaderKind) \ macro(readableByteStreamControllerEnqueue) \ macro(readableByteStreamControllerEnqueueChunk) \ macro(readableByteStreamControllerRespondWithNewView) \ macro(readableByteStreamControllerRespond) \ macro(readableByteStreamControllerRespondInternal) \ macro(readableByteStreamControllerRespondInReadableState) \ macro(readableByteStreamControllerRespondInClosedState) \ macro(readableByteStreamControllerProcessPullDescriptors) \ macro(readableByteStreamControllerFillDescriptorFromQueue) \ macro(readableByteStreamControllerShiftPendingDescriptor) \ macro(readableByteStreamControllerInvalidateBYOBRequest) \ macro(readableByteStreamControllerCommitDescriptor) \ macro(readableByteStreamControllerConvertDescriptor) \ macro(readableStreamFulfillReadIntoRequest) \ macro(readableStreamBYOBReaderRead) \ macro(readableByteStreamControllerPullInto) \ macro(readableStreamAddReadIntoRequest) \ #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM&); WEBCORE_FOREACH_READABLEBYTESTREAMINTERNALS_BUILTIN_CODE(DECLARE_BUILTIN_GENERATOR) #undef DECLARE_BUILTIN_GENERATOR class ReadableByteStreamInternalsBuiltinsWrapper : private JSC::WeakHandleOwner { public: explicit ReadableByteStreamInternalsBuiltinsWrapper(JSC::VM& vm) : m_vm(vm) WEBCORE_FOREACH_READABLEBYTESTREAMINTERNALS_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), { }, JSC::SourceTaintedOrigin::Untainted)) WEBCORE_FOREACH_READABLEBYTESTREAMINTERNALS_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_READABLEBYTESTREAMINTERNALS_BUILTIN_CODE(EXPOSE_BUILTIN_EXECUTABLES) #undef EXPOSE_BUILTIN_EXECUTABLES WEBCORE_FOREACH_READABLEBYTESTREAMINTERNALS_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR) void exportNames(); private: JSC::VM& m_vm; WEBCORE_FOREACH_READABLEBYTESTREAMINTERNALS_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_NAMES) #define DECLARE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) \ JSC::SourceCode m_##name##Source;\ JSC::Weak m_##name##Executable; WEBCORE_FOREACH_READABLEBYTESTREAMINTERNALS_BUILTIN_CODE(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; #define DEFINE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \ inline JSC::UnlinkedFunctionExecutable* ReadableByteStreamInternalsBuiltinsWrapper::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::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_READABLEBYTESTREAMINTERNALS_BUILTIN_CODE(DEFINE_BUILTIN_EXECUTABLES) #undef DEFINE_BUILTIN_EXECUTABLES inline void ReadableByteStreamInternalsBuiltinsWrapper::exportNames() { #define EXPORT_FUNCTION_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName()); WEBCORE_FOREACH_READABLEBYTESTREAMINTERNALS_BUILTIN_FUNCTION_NAME(EXPORT_FUNCTION_NAME) #undef EXPORT_FUNCTION_NAME } class ReadableByteStreamInternalsBuiltinFunctions { public: explicit ReadableByteStreamInternalsBuiltinFunctions(JSC::VM& vm) : m_vm(vm) { } void init(JSC::JSGlobalObject&); template void visit(Visitor&); public: JSC::VM& m_vm; #define DECLARE_BUILTIN_SOURCE_MEMBERS(functionName) \ JSC::WriteBarrier m_##functionName##Function; WEBCORE_FOREACH_READABLEBYTESTREAMINTERNALS_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; inline void ReadableByteStreamInternalsBuiltinFunctions::init(JSC::JSGlobalObject& globalObject) { #define EXPORT_FUNCTION(codeName, functionName, overriddenName, length) \ m_##functionName##Function.set(m_vm, &globalObject, JSC::JSFunction::create(m_vm, codeName##Generator(m_vm), &globalObject)); WEBCORE_FOREACH_READABLEBYTESTREAMINTERNALS_BUILTIN_CODE(EXPORT_FUNCTION) #undef EXPORT_FUNCTION } template inline void ReadableByteStreamInternalsBuiltinFunctions::visit(Visitor& visitor) { #define VISIT_FUNCTION(name) visitor.append(m_##name##Function); WEBCORE_FOREACH_READABLEBYTESTREAMINTERNALS_BUILTIN_FUNCTION_NAME(VISIT_FUNCTION) #undef VISIT_FUNCTION } template void ReadableByteStreamInternalsBuiltinFunctions::visit(JSC::AbstractSlotVisitor&); template void ReadableByteStreamInternalsBuiltinFunctions::visit(JSC::SlotVisitor&); /* WritableStreamDefaultController.ts */ // initializeWritableStreamDefaultController #define WEBCORE_BUILTIN_WRITABLESTREAMDEFAULTCONTROLLER_INITIALIZEWRITABLESTREAMDEFAULTCONTROLLER 1 extern const char* const s_writableStreamDefaultControllerInitializeWritableStreamDefaultControllerCode; extern const int s_writableStreamDefaultControllerInitializeWritableStreamDefaultControllerCodeLength; extern const JSC::ConstructAbility s_writableStreamDefaultControllerInitializeWritableStreamDefaultControllerCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamDefaultControllerInitializeWritableStreamDefaultControllerCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamDefaultControllerInitializeWritableStreamDefaultControllerCodeImplementationVisibility; // error #define WEBCORE_BUILTIN_WRITABLESTREAMDEFAULTCONTROLLER_ERROR 1 extern const char* const s_writableStreamDefaultControllerErrorCode; extern const int s_writableStreamDefaultControllerErrorCodeLength; extern const JSC::ConstructAbility s_writableStreamDefaultControllerErrorCodeConstructAbility; extern const JSC::ConstructorKind s_writableStreamDefaultControllerErrorCodeConstructorKind; extern const JSC::ImplementationVisibility s_writableStreamDefaultControllerErrorCodeImplementationVisibility; #define WEBCORE_FOREACH_WRITABLESTREAMDEFAULTCONTROLLER_BUILTIN_DATA(macro) \ macro(initializeWritableStreamDefaultController, writableStreamDefaultControllerInitializeWritableStreamDefaultController, 0) \ macro(error, writableStreamDefaultControllerError, 1) \ #define WEBCORE_FOREACH_WRITABLESTREAMDEFAULTCONTROLLER_BUILTIN_CODE(macro) \ macro(writableStreamDefaultControllerInitializeWritableStreamDefaultControllerCode, initializeWritableStreamDefaultController, ASCIILiteral(), s_writableStreamDefaultControllerInitializeWritableStreamDefaultControllerCodeLength) \ macro(writableStreamDefaultControllerErrorCode, error, ASCIILiteral(), s_writableStreamDefaultControllerErrorCodeLength) \ #define WEBCORE_FOREACH_WRITABLESTREAMDEFAULTCONTROLLER_BUILTIN_FUNCTION_NAME(macro) \ macro(initializeWritableStreamDefaultController) \ macro(error) \ #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM&); WEBCORE_FOREACH_WRITABLESTREAMDEFAULTCONTROLLER_BUILTIN_CODE(DECLARE_BUILTIN_GENERATOR) #undef DECLARE_BUILTIN_GENERATOR class WritableStreamDefaultControllerBuiltinsWrapper : private JSC::WeakHandleOwner { public: explicit WritableStreamDefaultControllerBuiltinsWrapper(JSC::VM& vm) : m_vm(vm) WEBCORE_FOREACH_WRITABLESTREAMDEFAULTCONTROLLER_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), { }, JSC::SourceTaintedOrigin::Untainted)) WEBCORE_FOREACH_WRITABLESTREAMDEFAULTCONTROLLER_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_WRITABLESTREAMDEFAULTCONTROLLER_BUILTIN_CODE(EXPOSE_BUILTIN_EXECUTABLES) #undef EXPOSE_BUILTIN_EXECUTABLES WEBCORE_FOREACH_WRITABLESTREAMDEFAULTCONTROLLER_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR) void exportNames(); private: JSC::VM& m_vm; WEBCORE_FOREACH_WRITABLESTREAMDEFAULTCONTROLLER_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_NAMES) #define DECLARE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) \ JSC::SourceCode m_##name##Source;\ JSC::Weak m_##name##Executable; WEBCORE_FOREACH_WRITABLESTREAMDEFAULTCONTROLLER_BUILTIN_CODE(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; #define DEFINE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \ inline JSC::UnlinkedFunctionExecutable* WritableStreamDefaultControllerBuiltinsWrapper::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::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_WRITABLESTREAMDEFAULTCONTROLLER_BUILTIN_CODE(DEFINE_BUILTIN_EXECUTABLES) #undef DEFINE_BUILTIN_EXECUTABLES inline void WritableStreamDefaultControllerBuiltinsWrapper::exportNames() { #define EXPORT_FUNCTION_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName()); WEBCORE_FOREACH_WRITABLESTREAMDEFAULTCONTROLLER_BUILTIN_FUNCTION_NAME(EXPORT_FUNCTION_NAME) #undef EXPORT_FUNCTION_NAME } /* EventSource.ts */ // getEventSource #define WEBCORE_BUILTIN_EVENTSOURCE_GETEVENTSOURCE 1 extern const char* const s_eventSourceGetEventSourceCode; extern const int s_eventSourceGetEventSourceCodeLength; extern const JSC::ConstructAbility s_eventSourceGetEventSourceCodeConstructAbility; extern const JSC::ConstructorKind s_eventSourceGetEventSourceCodeConstructorKind; extern const JSC::ImplementationVisibility s_eventSourceGetEventSourceCodeImplementationVisibility; #define WEBCORE_FOREACH_EVENTSOURCE_BUILTIN_DATA(macro) \ macro(getEventSource, eventSourceGetEventSource, 0) \ #define WEBCORE_FOREACH_EVENTSOURCE_BUILTIN_CODE(macro) \ macro(eventSourceGetEventSourceCode, getEventSource, ASCIILiteral(), s_eventSourceGetEventSourceCodeLength) \ #define WEBCORE_FOREACH_EVENTSOURCE_BUILTIN_FUNCTION_NAME(macro) \ macro(getEventSource) \ #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM&); WEBCORE_FOREACH_EVENTSOURCE_BUILTIN_CODE(DECLARE_BUILTIN_GENERATOR) #undef DECLARE_BUILTIN_GENERATOR class EventSourceBuiltinsWrapper : private JSC::WeakHandleOwner { public: explicit EventSourceBuiltinsWrapper(JSC::VM& vm) : m_vm(vm) WEBCORE_FOREACH_EVENTSOURCE_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), { }, JSC::SourceTaintedOrigin::Untainted)) WEBCORE_FOREACH_EVENTSOURCE_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_EVENTSOURCE_BUILTIN_CODE(EXPOSE_BUILTIN_EXECUTABLES) #undef EXPOSE_BUILTIN_EXECUTABLES WEBCORE_FOREACH_EVENTSOURCE_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR) void exportNames(); private: JSC::VM& m_vm; WEBCORE_FOREACH_EVENTSOURCE_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_NAMES) #define DECLARE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) \ JSC::SourceCode m_##name##Source;\ JSC::Weak m_##name##Executable; WEBCORE_FOREACH_EVENTSOURCE_BUILTIN_CODE(DECLARE_BUILTIN_SOURCE_MEMBERS) #undef DECLARE_BUILTIN_SOURCE_MEMBERS }; #define DEFINE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \ inline JSC::UnlinkedFunctionExecutable* EventSourceBuiltinsWrapper::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::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_EVENTSOURCE_BUILTIN_CODE(DEFINE_BUILTIN_EXECUTABLES) #undef DEFINE_BUILTIN_EXECUTABLES inline void EventSourceBuiltinsWrapper::exportNames() { #define EXPORT_FUNCTION_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName()); WEBCORE_FOREACH_EVENTSOURCE_BUILTIN_FUNCTION_NAME(EXPORT_FUNCTION_NAME) #undef EXPORT_FUNCTION_NAME } class JSBuiltinFunctions { public: explicit JSBuiltinFunctions(JSC::VM& vm) : m_vm(vm) , m_bundlerPluginBuiltins(m_vm) , m_byteLengthQueuingStrategyBuiltins(m_vm) , m_writableStreamInternalsBuiltins(m_vm) , 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_utilInspectBuiltins(m_vm) , m_consoleObjectBuiltins(m_vm) , m_readableStreamInternalsBuiltins(m_vm) , m_transformStreamDefaultControllerBuiltins(m_vm) , m_readableStreamBYOBReaderBuiltins(m_vm) , m_jsBufferConstructorBuiltins(m_vm) , m_readableStreamDefaultReaderBuiltins(m_vm) , m_streamInternalsBuiltins(m_vm) , m_importMetaObjectBuiltins(m_vm) , m_countQueuingStrategyBuiltins(m_vm) , m_readableStreamBYOBRequestBuiltins(m_vm) , m_writableStreamDefaultWriterBuiltins(m_vm) , m_readableStreamBuiltins(m_vm) , m_readableStreamDefaultControllerBuiltins(m_vm) , m_readableByteStreamInternalsBuiltins(m_vm) , m_writableStreamDefaultControllerBuiltins(m_vm) , m_eventSourceBuiltins(m_vm) { m_writableStreamInternalsBuiltins.exportNames(); m_transformStreamInternalsBuiltins.exportNames(); m_readableStreamInternalsBuiltins.exportNames(); m_streamInternalsBuiltins.exportNames(); m_readableByteStreamInternalsBuiltins.exportNames(); } BundlerPluginBuiltinsWrapper& bundlerPluginBuiltins() { return m_bundlerPluginBuiltins; } ByteLengthQueuingStrategyBuiltinsWrapper& byteLengthQueuingStrategyBuiltins() { return m_byteLengthQueuingStrategyBuiltins; } WritableStreamInternalsBuiltinsWrapper& writableStreamInternalsBuiltins() { return m_writableStreamInternalsBuiltins; } 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; } UtilInspectBuiltinsWrapper& utilInspectBuiltins() { return m_utilInspectBuiltins; } ConsoleObjectBuiltinsWrapper& consoleObjectBuiltins() { return m_consoleObjectBuiltins; } ReadableStreamInternalsBuiltinsWrapper& readableStreamInternalsBuiltins() { return m_readableStreamInternalsBuiltins; } TransformStreamDefaultControllerBuiltinsWrapper& transformStreamDefaultControllerBuiltins() { return m_transformStreamDefaultControllerBuiltins; } ReadableStreamBYOBReaderBuiltinsWrapper& readableStreamBYOBReaderBuiltins() { return m_readableStreamBYOBReaderBuiltins; } JSBufferConstructorBuiltinsWrapper& jsBufferConstructorBuiltins() { return m_jsBufferConstructorBuiltins; } ReadableStreamDefaultReaderBuiltinsWrapper& readableStreamDefaultReaderBuiltins() { return m_readableStreamDefaultReaderBuiltins; } StreamInternalsBuiltinsWrapper& streamInternalsBuiltins() { return m_streamInternalsBuiltins; } ImportMetaObjectBuiltinsWrapper& importMetaObjectBuiltins() { return m_importMetaObjectBuiltins; } CountQueuingStrategyBuiltinsWrapper& countQueuingStrategyBuiltins() { return m_countQueuingStrategyBuiltins; } ReadableStreamBYOBRequestBuiltinsWrapper& readableStreamBYOBRequestBuiltins() { return m_readableStreamBYOBRequestBuiltins; } WritableStreamDefaultWriterBuiltinsWrapper& writableStreamDefaultWriterBuiltins() { return m_writableStreamDefaultWriterBuiltins; } ReadableStreamBuiltinsWrapper& readableStreamBuiltins() { return m_readableStreamBuiltins; } ReadableStreamDefaultControllerBuiltinsWrapper& readableStreamDefaultControllerBuiltins() { return m_readableStreamDefaultControllerBuiltins; } ReadableByteStreamInternalsBuiltinsWrapper& readableByteStreamInternalsBuiltins() { return m_readableByteStreamInternalsBuiltins; } WritableStreamDefaultControllerBuiltinsWrapper& writableStreamDefaultControllerBuiltins() { return m_writableStreamDefaultControllerBuiltins; } EventSourceBuiltinsWrapper& eventSourceBuiltins() { return m_eventSourceBuiltins; } private: JSC::VM& m_vm; BundlerPluginBuiltinsWrapper m_bundlerPluginBuiltins; ByteLengthQueuingStrategyBuiltinsWrapper m_byteLengthQueuingStrategyBuiltins; WritableStreamInternalsBuiltinsWrapper m_writableStreamInternalsBuiltins; TransformStreamInternalsBuiltinsWrapper m_transformStreamInternalsBuiltins; ProcessObjectInternalsBuiltinsWrapper m_processObjectInternalsBuiltins; TransformStreamBuiltinsWrapper m_transformStreamBuiltins; ModuleBuiltinsWrapper m_moduleBuiltins; JSBufferPrototypeBuiltinsWrapper m_jsBufferPrototypeBuiltins; ReadableByteStreamControllerBuiltinsWrapper m_readableByteStreamControllerBuiltins; UtilInspectBuiltinsWrapper m_utilInspectBuiltins; ConsoleObjectBuiltinsWrapper m_consoleObjectBuiltins; ReadableStreamInternalsBuiltinsWrapper m_readableStreamInternalsBuiltins; TransformStreamDefaultControllerBuiltinsWrapper m_transformStreamDefaultControllerBuiltins; ReadableStreamBYOBReaderBuiltinsWrapper m_readableStreamBYOBReaderBuiltins; JSBufferConstructorBuiltinsWrapper m_jsBufferConstructorBuiltins; ReadableStreamDefaultReaderBuiltinsWrapper m_readableStreamDefaultReaderBuiltins; StreamInternalsBuiltinsWrapper m_streamInternalsBuiltins; ImportMetaObjectBuiltinsWrapper m_importMetaObjectBuiltins; CountQueuingStrategyBuiltinsWrapper m_countQueuingStrategyBuiltins; ReadableStreamBYOBRequestBuiltinsWrapper m_readableStreamBYOBRequestBuiltins; WritableStreamDefaultWriterBuiltinsWrapper m_writableStreamDefaultWriterBuiltins; ReadableStreamBuiltinsWrapper m_readableStreamBuiltins; ReadableStreamDefaultControllerBuiltinsWrapper m_readableStreamDefaultControllerBuiltins; ReadableByteStreamInternalsBuiltinsWrapper m_readableByteStreamInternalsBuiltins; WritableStreamDefaultControllerBuiltinsWrapper m_writableStreamDefaultControllerBuiltins; EventSourceBuiltinsWrapper m_eventSourceBuiltins; ; }; class JSBuiltinInternalFunctions { public: explicit JSBuiltinInternalFunctions(JSC::VM&); template void visit(Visitor&); void initialize(Zig::GlobalObject&); WritableStreamInternalsBuiltinFunctions& writableStreamInternals() { return m_writableStreamInternals; } TransformStreamInternalsBuiltinFunctions& transformStreamInternals() { return m_transformStreamInternals; } ReadableStreamInternalsBuiltinFunctions& readableStreamInternals() { return m_readableStreamInternals; } StreamInternalsBuiltinFunctions& streamInternals() { return m_streamInternals; } ReadableByteStreamInternalsBuiltinFunctions& readableByteStreamInternals() { return m_readableByteStreamInternals; } private: JSC::VM& m_vm; WritableStreamInternalsBuiltinFunctions m_writableStreamInternals; TransformStreamInternalsBuiltinFunctions m_transformStreamInternals; ReadableStreamInternalsBuiltinFunctions m_readableStreamInternals; StreamInternalsBuiltinFunctions m_streamInternals; ReadableByteStreamInternalsBuiltinFunctions m_readableByteStreamInternals; }; } // namespace WebCore