mirror of
https://github.com/lightpanda-io/browser.git
synced 2026-02-04 06:23:45 +00:00
Make js.Bridge aware of string.String for input parameters
Avoids having to allocate small strings when going from v8 -> Zig. Also added a discriminatory type, string.Global which uses the arena, rather than the call_arena, if an allocation _is_ necessary. (This is similar to a feature we had before, but was lost in zigdom). Strings from v8 that need to be persisted, can be allocated directly v8 -> arena, rather than v8 -> call_arena -> arena. I think there are a lot of places where we should use string.String - where strings are expected to be short (e.g. attribute names). But started with just document.querySelector and querySelectorAll.
This commit is contained in:
@@ -176,6 +176,11 @@ pub fn print(comptime fmt: []const u8, args: anytype) void {
|
||||
}
|
||||
}
|
||||
|
||||
const String = @import("string.zig").String;
|
||||
pub fn newString(str: []const u8) String {
|
||||
return String.init(arena_allocator, str, .{}) catch unreachable;
|
||||
}
|
||||
|
||||
pub const Random = struct {
|
||||
var instance: ?std.Random.DefaultPrng = null;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user