aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2023-02-25 18:22:29 -0800
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2023-02-25 18:23:01 -0800
commit693be3d1c2fe63cb5961a0023ad4c301209495bc (patch)
treec56159b91e01438a416b5b10dc114f9f51fef61a /src/bun.js
parent8ba65a4f0bbd38b5c6a677d93d1fa13d0042bb35 (diff)
downloadbun-693be3d1c2fe63cb5961a0023ad4c301209495bc.tar.gz
bun-693be3d1c2fe63cb5961a0023ad4c301209495bc.tar.zst
bun-693be3d1c2fe63cb5961a0023ad4c301209495bc.zip
Faster `eqlCaseInsensitiveASCII`
Diffstat (limited to 'src/bun.js')
-rw-r--r--src/bun.js/api/bun.zig8
-rw-r--r--src/bun.js/bindings/bindings.zig6
2 files changed, 4 insertions, 10 deletions
diff --git a/src/bun.js/api/bun.zig b/src/bun.js/api/bun.zig
index 5e92a470d..1c991eece 100644
--- a/src/bun.js/api/bun.zig
+++ b/src/bun.js/api/bun.zig
@@ -1541,13 +1541,7 @@ pub const Crypto = struct {
}
pub fn byNameAndEngine(engine: *BoringSSL.ENGINE, name: []const u8) ?EVP {
-
- // none of the names are longer than 255
- var buf: [256]u8 = undefined;
- const len = @min(name.len, buf.len - 1);
- _ = strings.copyLowercase(name, &buf);
-
- if (Algorithm.map.get(buf[0..len])) |algorithm| {
+ if (Algorithm.map.getWithEql(name, strings.eqlCaseInsensitiveASCIIIgnoreLength)) |algorithm| {
if (algorithm == .blake2b256) {
return EVP.init(algorithm, BoringSSL.EVP_blake2b256(), engine);
}
diff --git a/src/bun.js/bindings/bindings.zig b/src/bun.js/bindings/bindings.zig
index 54d54f644..ebe5f83ed 100644
--- a/src/bun.js/bindings/bindings.zig
+++ b/src/bun.js/bindings/bindings.zig
@@ -295,14 +295,14 @@ pub const ZigString = extern struct {
}
pub fn eqlComptime(this: ZigString, comptime other: []const u8) bool {
- if (this.len != other.len)
- return false;
-
if (this.is16Bit()) {
return strings.eqlComptimeUTF16(this.utf16SliceAligned(), other);
}
if (comptime strings.isAllASCIISimple(other)) {
+ if (this.len != other.len)
+ return false;
+
return strings.eqlComptimeIgnoreLen(this.slice(), other);
}