aboutsummaryrefslogtreecommitdiff
path: root/src/javascript/jsc/bindings/ReadableByteStreamInternalsBuiltins.cpp
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-06-15 22:10:12 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-06-15 22:10:12 -0700
commite6fbbd48db4077ab3d35fef322d2612cb6141a12 (patch)
tree7f8c43e4f7f4a051ab1b35e93aab2baab550e6e6 /src/javascript/jsc/bindings/ReadableByteStreamInternalsBuiltins.cpp
parent56e88fb4dd06e07569ddc3861e2e8e21f71e45b8 (diff)
downloadbun-e6fbbd48db4077ab3d35fef322d2612cb6141a12.tar.gz
bun-e6fbbd48db4077ab3d35fef322d2612cb6141a12.tar.zst
bun-e6fbbd48db4077ab3d35fef322d2612cb6141a12.zip
Fix lazy loading internal streams
Diffstat (limited to 'src/javascript/jsc/bindings/ReadableByteStreamInternalsBuiltins.cpp')
-rw-r--r--src/javascript/jsc/bindings/ReadableByteStreamInternalsBuiltins.cpp47
1 files changed, 18 insertions, 29 deletions
diff --git a/src/javascript/jsc/bindings/ReadableByteStreamInternalsBuiltins.cpp b/src/javascript/jsc/bindings/ReadableByteStreamInternalsBuiltins.cpp
index 97bcc0e25..5f2f77b6a 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 = 2089;
+const int s_readableByteStreamInternalsPrivateInitializeReadableByteStreamControllerCodeLength = 2365;
static const JSC::Intrinsic s_readableByteStreamInternalsPrivateInitializeReadableByteStreamControllerCodeIntrinsic = JSC::NoIntrinsic;
const char* const s_readableByteStreamInternalsPrivateInitializeReadableByteStreamControllerCode =
"(function (stream, underlyingByteSource, highWaterMark)\n" \
@@ -69,7 +69,7 @@ const char* const s_readableByteStreamInternalsPrivateInitializeReadableByteStre
" @putByIdDirectPrivate(this, \"pulling\", false);\n" \
" @readableByteStreamControllerClearPendingPullIntos(this);\n" \
" @putByIdDirectPrivate(this, \"queue\", @newQueue());\n" \
- " @putByIdDirectPrivate(this, \"started\", -1);\n" \
+ " @putByIdDirectPrivate(this, \"started\", 0);\n" \
" @putByIdDirectPrivate(this, \"closeRequested\", false);\n" \
"\n" \
" let hwm = @toNumber(highWaterMark);\n" \
@@ -86,44 +86,34 @@ const char* const s_readableByteStreamInternalsPrivateInitializeReadableByteStre
" @putByIdDirectPrivate(this, \"autoAllocateChunkSize\", autoAllocateChunkSize);\n" \
" @putByIdDirectPrivate(this, \"pendingPullIntos\", @createFIFO());\n" \
"\n" \
- " @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" \
+ " const controller = this;\n" \
+ " @promiseInvokeOrNoopNoCatch(@getByIdDirectPrivate(controller, \"underlyingByteSource\"), \"start\", [controller]).@then(() => {\n" \
+ " @putByIdDirectPrivate(controller, \"started\", 1);\n" \
+ " @assert(!@getByIdDirectPrivate(controller, \"pulling\"));\n" \
+ " @assert(!@getByIdDirectPrivate(controller, \"pullAgain\"));\n" \
+ " @readableByteStreamControllerCallPullIfNeeded(controller);\n" \
+ " }, (error) => {\n" \
+ " if (@getByIdDirectPrivate(stream, \"state\") === @streamReadable)\n" \
+ " @readableByteStreamControllerError(controller, error);\n" \
+ " });\n" \
"\n" \
+ " @putByIdDirectPrivate(this, \"cancel\", @readableByteStreamControllerCancel);\n" \
+ " @putByIdDirectPrivate(this, \"pull\", @readableByteStreamControllerPull);\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 = 972;
+const int s_readableByteStreamInternalsReadableStreamByteStreamControllerStartCodeLength = 107;
static const JSC::Intrinsic s_readableByteStreamInternalsReadableStreamByteStreamControllerStartCodeIntrinsic = JSC::NoIntrinsic;
const char* const s_readableByteStreamInternalsReadableStreamByteStreamControllerStartCode =
"(function (controller) {\n" \
" \"use strict\";\n" \
" @putByIdDirectPrivate(controller, \"start\", @undefined);\n" \
- " \n" \
- " if (@getByIdDirectPrivate(controller, \"started\") !== -1)\n" \
- " return;\n" \
"\n" \
- " @putByIdDirectPrivate(controller, \"started\", 0);\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" \
- " @assert(!@getByIdDirectPrivate(controller, \"pullAgain\"));\n" \
- " @readableByteStreamControllerCallPullIfNeeded(controller);\n" \
- " }, (error) => {\n" \
- " var stream = @getByIdDirectPrivate(controller, \"controlledReadableStream\");\n" \
- " if (stream && @getByIdDirectPrivate(stream, \"state\") === @streamReadable)\n" \
- " @readableByteStreamControllerError(controller, error);\n" \
- " });\n" \
"})\n" \
;
@@ -339,7 +329,7 @@ const char* const s_readableByteStreamInternalsReadableByteStreamControllerHandl
const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerPullCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerPullCodeConstructorKind = JSC::ConstructorKind::None;
-const int s_readableByteStreamInternalsReadableByteStreamControllerPullCodeLength = 1598;
+const int s_readableByteStreamInternalsReadableByteStreamControllerPullCodeLength = 1610;
static const JSC::Intrinsic s_readableByteStreamInternalsReadableByteStreamControllerPullCodeIntrinsic = JSC::NoIntrinsic;
const char* const s_readableByteStreamInternalsReadableByteStreamControllerPullCode =
"(function (controller)\n" \
@@ -348,8 +338,7 @@ const char* const s_readableByteStreamInternalsReadableByteStreamControllerPullC
"\n" \
" const stream = @getByIdDirectPrivate(controller, \"controlledReadableStream\");\n" \
" @assert(@readableStreamHasDefaultReader(stream));\n" \
- "\n" \
- " if (@getByIdDirectPrivate(controller, \"queue\").size > 0) {\n" \
+ " if (@getByIdDirectPrivate(controller, \"queue\").content?.isNotEmpty()) {\n" \
" const entry = @getByIdDirectPrivate(controller, \"queue\").content.shift();\n" \
" @getByIdDirectPrivate(controller, \"queue\").size -= entry.byteLength;\n" \
" @readableByteStreamControllerHandleQueueDrain(controller);\n" \