aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/bun.js')
m---------src/bun.js/WebKit0
-rw-r--r--src/bun.js/bindings/ZigGlobalObject.cpp2
-rw-r--r--src/bun.js/bindings/bindings.zig15
-rw-r--r--src/bun.js/bindings/headers-cpp.h2
-rw-r--r--src/bun.js/bindings/headers.h2
-rw-r--r--src/bun.js/bindings/wtf-bindings.cpp8
6 files changed, 25 insertions, 4 deletions
diff --git a/src/bun.js/WebKit b/src/bun.js/WebKit
-Subproject 7e5db543dbeb0f5510c18b83b94c79ca391514f
+Subproject 8f7ebd65df207e3da9df44e863ae0d982731429
diff --git a/src/bun.js/bindings/ZigGlobalObject.cpp b/src/bun.js/bindings/ZigGlobalObject.cpp
index a1a11a1a0..29cf8b56e 100644
--- a/src/bun.js/bindings/ZigGlobalObject.cpp
+++ b/src/bun.js/bindings/ZigGlobalObject.cpp
@@ -207,7 +207,7 @@ extern "C" void JSCInitialize()
JSC::Options::useShadowRealm() = true;
JSC::Options::useResizableArrayBuffer() = true;
JSC::Options::showPrivateScriptsInStackTraces() = true;
- JSC::Options::ensureOptionsAreCoherent();
+ JSC::Options::assertOptionsAreCoherent();
}
}
diff --git a/src/bun.js/bindings/bindings.zig b/src/bun.js/bindings/bindings.zig
index 0bd21ebac..559ae9184 100644
--- a/src/bun.js/bindings/bindings.zig
+++ b/src/bun.js/bindings/bindings.zig
@@ -3726,6 +3726,21 @@ pub fn untrackFunction(
pub const WTF = struct {
extern fn WTF__copyLCharsFromUCharSource(dest: [*]u8, source: *const anyopaque, len: usize) void;
extern fn WTF__toBase64URLStringValue(bytes: [*]const u8, length: usize, globalObject: *JSGlobalObject) JSValue;
+ extern fn WTF__parseDouble(bytes: [*]const u8, length: usize, counted: *usize) f64;
+
+ pub fn parseDouble(buf: []const u8) !f64 {
+ JSC.markBinding(@src());
+
+ if (buf.len == 0)
+ return error.InvalidCharacter;
+
+ var count: usize = 0;
+ const res = WTF__parseDouble(buf.ptr, buf.len, &count);
+
+ if (count == 0)
+ return error.InvalidCharacter;
+ return res;
+ }
/// This uses SSE2 instructions and/or ARM NEON to copy 16-bit characters efficiently
/// See wtf/Text/ASCIIFastPath.h for details
diff --git a/src/bun.js/bindings/headers-cpp.h b/src/bun.js/bindings/headers-cpp.h
index d5923902b..a4a5a5ced 100644
--- a/src/bun.js/bindings/headers-cpp.h
+++ b/src/bun.js/bindings/headers-cpp.h
@@ -1,4 +1,4 @@
-//-- AUTOGENERATED FILE -- 1670255504
+//-- AUTOGENERATED FILE -- 1670788310
// clang-format off
#pragma once
diff --git a/src/bun.js/bindings/headers.h b/src/bun.js/bindings/headers.h
index ec58a0a37..163438c69 100644
--- a/src/bun.js/bindings/headers.h
+++ b/src/bun.js/bindings/headers.h
@@ -1,5 +1,5 @@
// clang-format off
-//-- AUTOGENERATED FILE -- 1670255504
+//-- AUTOGENERATED FILE -- 1670788310
#pragma once
#include <stddef.h>
diff --git a/src/bun.js/bindings/wtf-bindings.cpp b/src/bun.js/bindings/wtf-bindings.cpp
index 699e3db5b..5c0e593d7 100644
--- a/src/bun.js/bindings/wtf-bindings.cpp
+++ b/src/bun.js/bindings/wtf-bindings.cpp
@@ -2,6 +2,12 @@
#include "wtf/text/Base64.h"
#include "wtf/StackTrace.h"
+#include "wtf/dtoa.h"
+
+extern "C" double WTF__parseDouble(const LChar* string, size_t length, size_t* position)
+{
+ return WTF::parseDouble(string, length, *position);
+}
extern "C" void WTF__copyLCharsFromUCharSource(LChar* destination, const UChar* source, size_t length)
{
@@ -27,7 +33,7 @@ extern "C" void Bun__crashReportDumpStackTrace(void* ctx)
bool isFirst = true;
for (int frameNumber = 0; frameNumber < size; ++frameNumber) {
auto demangled = WTF::StackTraceSymbolResolver::demangle(stack[frameNumber]);
-
+
StringPrintStream out;
if (isFirst) {
isFirst = false;