From 56e88fb4dd06e07569ddc3861e2e8e21f71e45b8 Mon Sep 17 00:00:00 2001 From: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Date: Wed, 15 Jun 2022 07:17:42 -0700 Subject: direct streams mostly work --- .../jsc/bindings/ReadableByteStreamInternalsBuiltins.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'src/javascript/jsc/bindings/ReadableByteStreamInternalsBuiltins.cpp') diff --git a/src/javascript/jsc/bindings/ReadableByteStreamInternalsBuiltins.cpp b/src/javascript/jsc/bindings/ReadableByteStreamInternalsBuiltins.cpp index 938efa620..97bcc0e25 100644 --- a/src/javascript/jsc/bindings/ReadableByteStreamInternalsBuiltins.cpp +++ b/src/javascript/jsc/bindings/ReadableByteStreamInternalsBuiltins.cpp @@ -49,7 +49,7 @@ namespace WebCore { const JSC::ConstructAbility s_readableByteStreamInternalsPrivateInitializeReadableByteStreamControllerCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsPrivateInitializeReadableByteStreamControllerCodeConstructorKind = JSC::ConstructorKind::None; -const int s_readableByteStreamInternalsPrivateInitializeReadableByteStreamControllerCodeLength = 1782; +const int s_readableByteStreamInternalsPrivateInitializeReadableByteStreamControllerCodeLength = 2089; static const JSC::Intrinsic s_readableByteStreamInternalsPrivateInitializeReadableByteStreamControllerCodeIntrinsic = JSC::NoIntrinsic; const char* const s_readableByteStreamInternalsPrivateInitializeReadableByteStreamControllerCode = "(function (stream, underlyingByteSource, highWaterMark)\n" \ @@ -89,23 +89,31 @@ const char* const s_readableByteStreamInternalsPrivateInitializeReadableByteStre " @putByIdDirectPrivate(this, \"cancel\", @readableByteStreamControllerCancel);\n" \ " @putByIdDirectPrivate(this, \"pull\", @readableByteStreamControllerPull);\n" \ "\n" \ + " if (@getByIdDirectPrivate(underlyingByteSource, \"lazy\") === true) {\n" \ + " @putByIdDirectPrivate(this, \"start\", () => @readableStreamByteStreamControllerStart(this));\n" \ + " } else {\n" \ + " @putByIdDirectPrivate(this, \"start\", @undefined); \n" \ + " @readableStreamByteStreamControllerStart(this);\n" \ + " }\n" \ + "\n" \ " return this;\n" \ "})\n" \ ; const JSC::ConstructAbility s_readableByteStreamInternalsReadableStreamByteStreamControllerStartCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableStreamByteStreamControllerStartCodeConstructorKind = JSC::ConstructorKind::None; -const int s_readableByteStreamInternalsReadableStreamByteStreamControllerStartCodeLength = 829; +const int s_readableByteStreamInternalsReadableStreamByteStreamControllerStartCodeLength = 972; static const JSC::Intrinsic s_readableByteStreamInternalsReadableStreamByteStreamControllerStartCodeIntrinsic = JSC::NoIntrinsic; const char* const s_readableByteStreamInternalsReadableStreamByteStreamControllerStartCode = "(function (controller) {\n" \ " \"use strict\";\n" \ - "\n" \ + " @putByIdDirectPrivate(controller, \"start\", @undefined);\n" \ + " \n" \ " if (@getByIdDirectPrivate(controller, \"started\") !== -1)\n" \ " return;\n" \ "\n" \ " @putByIdDirectPrivate(controller, \"started\", 0);\n" \ - "\n" \ + " var stream = @getByIdDirectPrivate(controller, \"controlledReadableStream\");\n" \ " return @promiseInvokeOrNoopNoCatch(@getByIdDirectPrivate(controller, \"underlyingByteSource\"), \"start\", [controller]).@then(() => {\n" \ " @putByIdDirectPrivate(controller, \"started\", 1);\n" \ " @assert(!@getByIdDirectPrivate(controller, \"pulling\"));\n" \ -- cgit v1.2.3