diff options
author | 2022-08-17 19:25:43 -0700 | |
---|---|---|
committer | 2022-08-17 19:25:43 -0700 | |
commit | bc412e1f6fb4057b25981772b48c1f7d228fcebb (patch) | |
tree | d0b3b365b719afd0ee3963ad640c8a13702bb23e /src/bun.js/bindings/JSSink.cpp | |
parent | ddd151a23b95128db6c791f800cb0027bfc2fbb1 (diff) | |
download | bun-bc412e1f6fb4057b25981772b48c1f7d228fcebb.tar.gz bun-bc412e1f6fb4057b25981772b48c1f7d228fcebb.tar.zst bun-bc412e1f6fb4057b25981772b48c1f7d228fcebb.zip |
slightly improve streams perf
Diffstat (limited to 'src/bun.js/bindings/JSSink.cpp')
-rw-r--r-- | src/bun.js/bindings/JSSink.cpp | 112 |
1 files changed, 34 insertions, 78 deletions
diff --git a/src/bun.js/bindings/JSSink.cpp b/src/bun.js/bindings/JSSink.cpp index 09163fb62..87cdae923 100644 --- a/src/bun.js/bindings/JSSink.cpp +++ b/src/bun.js/bindings/JSSink.cpp @@ -1,6 +1,6 @@ // AUTO-GENERATED FILE. DO NOT EDIT. -// Generated by 'make generate-sink' at 2022-08-17T12:00:00.776Z +// Generated by 'make generate-sink' at 2022-08-18T01:38:52.472Z // To regenerate this file, run: // // make generate-sink @@ -378,75 +378,70 @@ JSC_DEFINE_HOST_FUNCTION(HTTPSResponseSink__doClose, (JSC::JSGlobalObject * lexi /* Source for JSArrayBufferSinkPrototypeTableValues.lut.h @begin JSArrayBufferSinkPrototypeTable - close ArrayBufferSink__doClose ReadOnly|DontDelete|Function 0 - flush ArrayBufferSink__flush ReadOnly|DontDelete|Function 1 - end ArrayBufferSink__end ReadOnly|DontDelete|Function 0 - start ArrayBufferSink__start ReadOnly|DontDelete|Function 1 - write ArrayBufferSink__write ReadOnly|DontDelete|Function 1 - + close ArrayBufferSink__doClose ReadOnly|DontDelete|Function 0 + flush ArrayBufferSink__flush ReadOnly|DontDelete|Function 1 + end ArrayBufferSink__end ReadOnly|DontDelete|Function 0 + start ArrayBufferSink__start ReadOnly|DontDelete|Function 1 + write ArrayBufferSink__write ReadOnly|DontDelete|Function 1 @end */ /* Source for JSReadableArrayBufferSinkControllerPrototypeTableValues.lut.h @begin JSReadableArrayBufferSinkControllerPrototypeTable - close JSReadableArrayBufferSinkController__close ReadOnly|DontDelete|Function 0 - flush ArrayBufferSink__flush ReadOnly|DontDelete|Function 1 - end JSReadableArrayBufferSinkController__end ReadOnly|DontDelete|Function 0 - start ArrayBufferSink__start ReadOnly|DontDelete|Function 1 - write ArrayBufferSink__write ReadOnly|DontDelete|Function 1 + close JSReadableArrayBufferSinkController__close ReadOnly|DontDelete|Function 0 + flush ArrayBufferSink__flush ReadOnly|DontDelete|Function 1 + end JSReadableArrayBufferSinkController__end ReadOnly|DontDelete|Function 0 + start ArrayBufferSink__start ReadOnly|DontDelete|Function 1 + write ArrayBufferSink__write ReadOnly|DontDelete|Function 1 @end */ /* Source for JSHTTPResponseSinkPrototypeTableValues.lut.h @begin JSHTTPResponseSinkPrototypeTable - close HTTPResponseSink__doClose ReadOnly|DontDelete|Function 0 - flush HTTPResponseSink__flush ReadOnly|DontDelete|Function 1 - end HTTPResponseSink__end ReadOnly|DontDelete|Function 0 - start HTTPResponseSink__start ReadOnly|DontDelete|Function 1 - write HTTPResponseSink__write ReadOnly|DontDelete|Function 1 - + close HTTPResponseSink__doClose ReadOnly|DontDelete|Function 0 + flush HTTPResponseSink__flush ReadOnly|DontDelete|Function 1 + end HTTPResponseSink__end ReadOnly|DontDelete|Function 0 + start HTTPResponseSink__start ReadOnly|DontDelete|Function 1 + write HTTPResponseSink__write ReadOnly|DontDelete|Function 1 @end */ /* Source for JSReadableHTTPResponseSinkControllerPrototypeTableValues.lut.h @begin JSReadableHTTPResponseSinkControllerPrototypeTable - close JSReadableHTTPResponseSinkController__close ReadOnly|DontDelete|Function 0 - flush HTTPResponseSink__flush ReadOnly|DontDelete|Function 1 - end JSReadableHTTPResponseSinkController__end ReadOnly|DontDelete|Function 0 - start HTTPResponseSink__start ReadOnly|DontDelete|Function 1 - write HTTPResponseSink__write ReadOnly|DontDelete|Function 1 + close JSReadableHTTPResponseSinkController__close ReadOnly|DontDelete|Function 0 + flush HTTPResponseSink__flush ReadOnly|DontDelete|Function 1 + end JSReadableHTTPResponseSinkController__end ReadOnly|DontDelete|Function 0 + start HTTPResponseSink__start ReadOnly|DontDelete|Function 1 + write HTTPResponseSink__write ReadOnly|DontDelete|Function 1 @end */ /* Source for JSHTTPSResponseSinkPrototypeTableValues.lut.h @begin JSHTTPSResponseSinkPrototypeTable - close HTTPSResponseSink__doClose ReadOnly|DontDelete|Function 0 - flush HTTPSResponseSink__flush ReadOnly|DontDelete|Function 1 - end HTTPSResponseSink__end ReadOnly|DontDelete|Function 0 - start HTTPSResponseSink__start ReadOnly|DontDelete|Function 1 - write HTTPSResponseSink__write ReadOnly|DontDelete|Function 1 - + close HTTPSResponseSink__doClose ReadOnly|DontDelete|Function 0 + flush HTTPSResponseSink__flush ReadOnly|DontDelete|Function 1 + end HTTPSResponseSink__end ReadOnly|DontDelete|Function 0 + start HTTPSResponseSink__start ReadOnly|DontDelete|Function 1 + write HTTPSResponseSink__write ReadOnly|DontDelete|Function 1 @end */ /* Source for JSReadableHTTPSResponseSinkControllerPrototypeTableValues.lut.h @begin JSReadableHTTPSResponseSinkControllerPrototypeTable - close JSReadableHTTPSResponseSinkController__close ReadOnly|DontDelete|Function 0 - flush HTTPSResponseSink__flush ReadOnly|DontDelete|Function 1 - end JSReadableHTTPSResponseSinkController__end ReadOnly|DontDelete|Function 0 - start HTTPSResponseSink__start ReadOnly|DontDelete|Function 1 - write HTTPSResponseSink__write ReadOnly|DontDelete|Function 1 + close JSReadableHTTPSResponseSinkController__close ReadOnly|DontDelete|Function 0 + flush HTTPSResponseSink__flush ReadOnly|DontDelete|Function 1 + end JSReadableHTTPSResponseSinkController__end ReadOnly|DontDelete|Function 0 + start HTTPSResponseSink__start ReadOnly|DontDelete|Function 1 + write HTTPSResponseSink__write ReadOnly|DontDelete|Function 1 @end */ - - #pragma mark - ArrayBufferSink class JSArrayBufferSinkPrototype final : public JSC::JSNonFinalObject { @@ -1284,24 +1279,11 @@ extern "C" JSC__JSValue ArrayBufferSink__assignToStream(JSC__JSGlobalObject* arg { auto& vm = arg0->vm(); Zig::GlobalObject* globalObject = reinterpret_cast<Zig::GlobalObject*>(arg0); - auto clientData = WebCore::clientData(vm); - JSC::JSObject *readableStream = JSC::JSValue::decode(stream).getObject(); - auto scope = DECLARE_CATCH_SCOPE(vm); JSC::Structure* structure = WebCore::getDOMStructure<WebCore::JSReadableArrayBufferSinkController>(vm, *globalObject); WebCore::JSReadableArrayBufferSinkController *controller = WebCore::JSReadableArrayBufferSinkController::create(vm, globalObject, structure, sinkPtr); *controllerValue = reinterpret_cast<void*>(JSC::JSValue::encode(controller)); - JSC::JSObject *function = globalObject->getDirect(vm, clientData->builtinNames().assignToStreamPrivateName()).getObject(); - auto callData = JSC::getCallData(function); - JSC::MarkedArgumentBuffer arguments; - arguments.append(JSC::JSValue::decode(stream)); - arguments.append(controller); - - auto result = JSC::call(arg0, function, callData, JSC::jsUndefined(), arguments); - if (scope.exception()) - return JSC::JSValue::encode(scope.exception()); - - return JSC::JSValue::encode(result); + return globalObject->assignToStream(JSC::JSValue::decode(stream), controller); } extern "C" void ArrayBufferSink__onReady(JSC__JSValue controllerValue, JSC__JSValue amt, JSC__JSValue offset) @@ -1387,24 +1369,11 @@ extern "C" JSC__JSValue HTTPResponseSink__assignToStream(JSC__JSGlobalObject* ar { auto& vm = arg0->vm(); Zig::GlobalObject* globalObject = reinterpret_cast<Zig::GlobalObject*>(arg0); - auto clientData = WebCore::clientData(vm); - JSC::JSObject *readableStream = JSC::JSValue::decode(stream).getObject(); - auto scope = DECLARE_CATCH_SCOPE(vm); JSC::Structure* structure = WebCore::getDOMStructure<WebCore::JSReadableHTTPResponseSinkController>(vm, *globalObject); WebCore::JSReadableHTTPResponseSinkController *controller = WebCore::JSReadableHTTPResponseSinkController::create(vm, globalObject, structure, sinkPtr); *controllerValue = reinterpret_cast<void*>(JSC::JSValue::encode(controller)); - JSC::JSObject *function = globalObject->getDirect(vm, clientData->builtinNames().assignToStreamPrivateName()).getObject(); - auto callData = JSC::getCallData(function); - JSC::MarkedArgumentBuffer arguments; - arguments.append(JSC::JSValue::decode(stream)); - arguments.append(controller); - - auto result = JSC::call(arg0, function, callData, JSC::jsUndefined(), arguments); - if (scope.exception()) - return JSC::JSValue::encode(scope.exception()); - - return JSC::JSValue::encode(result); + return globalObject->assignToStream(JSC::JSValue::decode(stream), controller); } extern "C" void HTTPResponseSink__onReady(JSC__JSValue controllerValue, JSC__JSValue amt, JSC__JSValue offset) @@ -1490,24 +1459,11 @@ extern "C" JSC__JSValue HTTPSResponseSink__assignToStream(JSC__JSGlobalObject* a { auto& vm = arg0->vm(); Zig::GlobalObject* globalObject = reinterpret_cast<Zig::GlobalObject*>(arg0); - auto clientData = WebCore::clientData(vm); - JSC::JSObject *readableStream = JSC::JSValue::decode(stream).getObject(); - auto scope = DECLARE_CATCH_SCOPE(vm); JSC::Structure* structure = WebCore::getDOMStructure<WebCore::JSReadableHTTPSResponseSinkController>(vm, *globalObject); WebCore::JSReadableHTTPSResponseSinkController *controller = WebCore::JSReadableHTTPSResponseSinkController::create(vm, globalObject, structure, sinkPtr); *controllerValue = reinterpret_cast<void*>(JSC::JSValue::encode(controller)); - JSC::JSObject *function = globalObject->getDirect(vm, clientData->builtinNames().assignToStreamPrivateName()).getObject(); - auto callData = JSC::getCallData(function); - JSC::MarkedArgumentBuffer arguments; - arguments.append(JSC::JSValue::decode(stream)); - arguments.append(controller); - - auto result = JSC::call(arg0, function, callData, JSC::jsUndefined(), arguments); - if (scope.exception()) - return JSC::JSValue::encode(scope.exception()); - - return JSC::JSValue::encode(result); + return globalObject->assignToStream(JSC::JSValue::decode(stream), controller); } extern "C" void HTTPSResponseSink__onReady(JSC__JSValue controllerValue, JSC__JSValue amt, JSC__JSValue offset) |