diff options
author | 2022-12-02 20:15:50 -0800 | |
---|---|---|
committer | 2022-12-02 20:15:50 -0800 | |
commit | d9f9fc975beb9d5d8fe83f6ed2a084c36846522b (patch) | |
tree | 65b9a71aaea04222bd7c7631f25c5f698c11c26c /src/bun.js/builtins/cpp | |
parent | bdbc0f23e7235b1b1c9e24d251613f3b477a8abd (diff) | |
download | bun-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.cpp | 15 | ||||
-rw-r--r-- | src/bun.js/builtins/cpp/StreamInternalsBuiltins.cpp | 16 |
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" \ |