diff options
author | 2022-05-16 15:46:20 -0700 | |
---|---|---|
committer | 2022-05-16 15:46:20 -0700 | |
commit | a37f86e89dc01f884a1b4474c27c79d5932093a0 (patch) | |
tree | 4732a1a1c032f2e6788f3b8d7151c5d5db15fb38 /src/javascript/jsc/bindings/JSBufferConstructorBuiltins.cpp | |
parent | 2bd0dcfdfaf6c385e927570b0e102385dc8c3975 (diff) | |
download | bun-a37f86e89dc01f884a1b4474c27c79d5932093a0.tar.gz bun-a37f86e89dc01f884a1b4474c27c79d5932093a0.tar.zst bun-a37f86e89dc01f884a1b4474c27c79d5932093a0.zip |
`bun:sqlite` (#167)
* :scissors:
* Add the slow version
* draw the rest of the owl
* Fix crash when allocating lots of memory
* [Bun.Transipiler] Support passing objects
* [JS Parser] Support passing objects to macros via Bun.Transpiler
* Update JSSQLStatement.cpp
* Embed SQLite
* Add SQLite to Dockerfile
* [sqlite] Add quick one-off queries without creating a whole object
* [sqlite] Add `columnsCount`, rename raw() to `values()`, remove `rebind`
* Implement `bun:sqlite`
* return null
* Fix updating query
* Update bun.d.ts
* more tests
* Support variadic arguments, write tests and add types
* Update sqlite.d.ts
* Update sqlite.d.ts
* latest
* Implement `Database.loadExtension` and `Database.setCustomSQLite`
* Support `require.resolve`
* [napi] Improve string performance
* [bun.js] Support some of `node:module`
* another test
* [sqlite] Support serialize & deserialize
* [`bun:ffi`] Implement `CFunction` and `linkSymbols`
* [bun.js] Fix crash in `Buffer.from`
* Update sqlite.test.js
* Document linkSymbols
* docs
* Update README.md
Diffstat (limited to 'src/javascript/jsc/bindings/JSBufferConstructorBuiltins.cpp')
-rw-r--r-- | src/javascript/jsc/bindings/JSBufferConstructorBuiltins.cpp | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/src/javascript/jsc/bindings/JSBufferConstructorBuiltins.cpp b/src/javascript/jsc/bindings/JSBufferConstructorBuiltins.cpp index 6acff3ce0..09d5a1d04 100644 --- a/src/javascript/jsc/bindings/JSBufferConstructorBuiltins.cpp +++ b/src/javascript/jsc/bindings/JSBufferConstructorBuiltins.cpp @@ -44,7 +44,7 @@ namespace WebCore { const JSC::ConstructAbility s_jsBufferConstructorFromCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferConstructorFromCodeConstructorKind = JSC::ConstructorKind::None; -const int s_jsBufferConstructorFromCodeLength = 1250; +const int s_jsBufferConstructorFromCodeLength = 931; static const JSC::Intrinsic s_jsBufferConstructorFromCodeIntrinsic = JSC::NoIntrinsic; const char* const s_jsBufferConstructorFromCode = "(function (items) {\n" \ @@ -54,7 +54,7 @@ const char* const s_jsBufferConstructorFromCode = " @throwTypeError(\"Buffer.from requires |this| to be a constructor\");\n" \ "\n" \ "\n" \ - " if (typeof items === 'string') {\n" \ + " if (typeof items === 'string' || @ArrayBuffer.@isView(items)) {\n" \ " switch (@argumentCount()) {\n" \ " case 1: {\n" \ " return new this(items);\n" \ @@ -79,15 +79,7 @@ const char* const s_jsBufferConstructorFromCode = " var result = this.allocUnsafe(length);\n" \ " result.set(arrayLike);\n" \ " return result;\n" \ - " } else if (arrayLike instanceof ArrayBuffer || arrayLike instanceof SharedArrayBuffer) {\n" \ - " var byteOffset = @argument(1);\n" \ - " var byteLength = @argument(2);\n" \ - " //\n" \ - " var out = new @Uint8Array(arrayLike, byteOffset, byteLength);\n" \ - " var result = this.allocUnsafe(out.length);\n" \ - " result.set(out);\n" \ - " return result;\n" \ - " }\n" \ + " } \n" \ "\n" \ " return @tailCallForwardArguments(@Uint8Array.from, this);\n" \ "})\n" \ |