aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/builtins/cpp
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-12-02 20:15:50 -0800
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-12-02 20:15:50 -0800
commitd9f9fc975beb9d5d8fe83f6ed2a084c36846522b (patch)
tree65b9a71aaea04222bd7c7631f25c5f698c11c26c /src/bun.js/builtins/cpp
parentbdbc0f23e7235b1b1c9e24d251613f3b477a8abd (diff)
downloadbun-d9f9fc975beb9d5d8fe83f6ed2a084c36846522b.tar.gz
bun-d9f9fc975beb9d5d8fe83f6ed2a084c36846522b.tar.zst
bun-d9f9fc975beb9d5d8fe83f6ed2a084c36846522b.zip
Propagate reason in AbortSignal and reuse in ReadableStream.pipeTo
Similar to https://github.com/WebKit/WebKit/pull/7013
Diffstat (limited to 'src/bun.js/builtins/cpp')
-rw-r--r--src/bun.js/builtins/cpp/ReadableStreamInternalsBuiltins.cpp15
-rw-r--r--src/bun.js/builtins/cpp/StreamInternalsBuiltins.cpp16
2 files changed, 15 insertions, 16 deletions
diff --git a/src/bun.js/builtins/cpp/ReadableStreamInternalsBuiltins.cpp b/src/bun.js/builtins/cpp/ReadableStreamInternalsBuiltins.cpp
index 4e08d5f38..8431b9fb7 100644
--- a/src/bun.js/builtins/cpp/ReadableStreamInternalsBuiltins.cpp
+++ b/src/bun.js/builtins/cpp/ReadableStreamInternalsBuiltins.cpp
@@ -336,7 +336,7 @@ const char* const s_readableStreamInternalsReadableStreamDefaultControllerStartC
const JSC::ConstructAbility s_readableStreamInternalsReadableStreamPipeToWritableStreamCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const JSC::ConstructorKind s_readableStreamInternalsReadableStreamPipeToWritableStreamCodeConstructorKind = JSC::ConstructorKind::None;
const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamPipeToWritableStreamCodeImplementationVisibility = JSC::ImplementationVisibility::Public;
-const int s_readableStreamInternalsReadableStreamPipeToWritableStreamCodeLength = 3326;
+const int s_readableStreamInternalsReadableStreamPipeToWritableStreamCodeLength = 3229;
static const JSC::Intrinsic s_readableStreamInternalsReadableStreamPipeToWritableStreamCodeIntrinsic = JSC::NoIntrinsic;
const char* const s_readableStreamInternalsReadableStreamPipeToWritableStreamCode =
"(function (\n" \
@@ -385,14 +385,9 @@ const char* const s_readableStreamInternalsReadableStreamPipeToWritableStreamCod
" pipeState.pendingWritePromise = @Promise.@resolve();\n" \
"\n" \
" if (signal !== @undefined) {\n" \
- " const algorithm = () => {\n" \
+ " const algorithm = (reason) => {\n" \
" if (pipeState.finalized) return;\n" \
"\n" \
- " const error = @makeDOMException(\n" \
- " \"AbortError\",\n" \
- " \"abort pipeTo from signal\"\n" \
- " );\n" \
- "\n" \
" @pipeToShutdownWithAction(\n" \
" pipeState,\n" \
" () => {\n" \
@@ -401,7 +396,7 @@ const char* const s_readableStreamInternalsReadableStreamPipeToWritableStreamCod
" @getByIdDirectPrivate(pipeState.destination, \"state\") ===\n" \
" \"writable\";\n" \
" const promiseDestination = shouldAbortDestination\n" \
- " ? @writableStreamAbort(pipeState.destination, error)\n" \
+ " ? @writableStreamAbort(pipeState.destination, reason)\n" \
" : @Promise.@resolve();\n" \
"\n" \
" const shouldAbortSource =\n" \
@@ -409,7 +404,7 @@ const char* const s_readableStreamInternalsReadableStreamPipeToWritableStreamCod
" @getByIdDirectPrivate(pipeState.source, \"state\") ===\n" \
" @streamReadable;\n" \
" const promiseSource = shouldAbortSource\n" \
- " ? @readableStreamCancel(pipeState.source, error)\n" \
+ " ? @readableStreamCancel(pipeState.source, reason)\n" \
" : @Promise.@resolve();\n" \
"\n" \
" let promiseCapability = @newPromiseCapability(@Promise);\n" \
@@ -431,7 +426,7 @@ const char* const s_readableStreamInternalsReadableStreamPipeToWritableStreamCod
" promiseSource.@then(handleResolvedPromise, handleRejectedPromise);\n" \
" return promiseCapability.@promise;\n" \
" },\n" \
- " error\n" \
+ " reason\n" \
" );\n" \
" };\n" \
" if (@whenSignalAborted(signal, algorithm))\n" \
diff --git a/src/bun.js/builtins/cpp/StreamInternalsBuiltins.cpp b/src/bun.js/builtins/cpp/StreamInternalsBuiltins.cpp
index a957a7c2b..c231091b6 100644
--- a/src/bun.js/builtins/cpp/StreamInternalsBuiltins.cpp
+++ b/src/bun.js/builtins/cpp/StreamInternalsBuiltins.cpp
@@ -392,14 +392,16 @@ const char* const s_streamInternalsResetQueueCode =
const JSC::ConstructAbility s_streamInternalsExtractSizeAlgorithmCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const JSC::ConstructorKind s_streamInternalsExtractSizeAlgorithmCodeConstructorKind = JSC::ConstructorKind::None;
const JSC::ImplementationVisibility s_streamInternalsExtractSizeAlgorithmCodeImplementationVisibility = JSC::ImplementationVisibility::Public;
-const int s_streamInternalsExtractSizeAlgorithmCodeLength = 288;
+const int s_streamInternalsExtractSizeAlgorithmCodeLength = 294;
static const JSC::Intrinsic s_streamInternalsExtractSizeAlgorithmCodeIntrinsic = JSC::NoIntrinsic;
const char* const s_streamInternalsExtractSizeAlgorithmCode =
"(function (strategy)\n" \
"{\n" \
- " if (!(\"size\" in strategy))\n" \
+ " const sizeAlgorithm = strategy.size;\n" \
+ "\n" \
+ " if (sizeAlgorithm === @undefined)\n" \
" return () => 1;\n" \
- " const sizeAlgorithm = strategy[\"size\"];\n" \
+ "\n" \
" if (typeof sizeAlgorithm !== \"function\")\n" \
" @throwTypeError(\"strategy.size must be a function\");\n" \
"\n" \
@@ -410,14 +412,16 @@ const char* const s_streamInternalsExtractSizeAlgorithmCode =
const JSC::ConstructAbility s_streamInternalsExtractHighWaterMarkCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const JSC::ConstructorKind s_streamInternalsExtractHighWaterMarkCodeConstructorKind = JSC::ConstructorKind::None;
const JSC::ImplementationVisibility s_streamInternalsExtractHighWaterMarkCodeImplementationVisibility = JSC::ImplementationVisibility::Public;
-const int s_streamInternalsExtractHighWaterMarkCodeLength = 325;
+const int s_streamInternalsExtractHighWaterMarkCodeLength = 322;
static const JSC::Intrinsic s_streamInternalsExtractHighWaterMarkCodeIntrinsic = JSC::NoIntrinsic;
const char* const s_streamInternalsExtractHighWaterMarkCode =
"(function (strategy, defaultHWM)\n" \
"{\n" \
- " if (!(\"highWaterMark\" in strategy))\n" \
+ " const highWaterMark = strategy.highWaterMark;\n" \
+ "\n" \
+ " if (highWaterMark === @undefined)\n" \
" return defaultHWM;\n" \
- " const highWaterMark = strategy[\"highWaterMark\"];\n" \
+ "\n" \
" if (@isNaN(highWaterMark) || highWaterMark < 0)\n" \
" @throwRangeError(\"highWaterMark value is negative or not a number\");\n" \
"\n" \