diff options
| author | Loris Cro <kappaloris@gmail.com> | 2023-06-18 09:06:40 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-06-18 09:06:40 +0200 |
| commit | 216ef10dc471e4db60a30208be178d6c59efeaaf (patch) | |
| tree | 8c239dab283ae9cb3b7fe099bae240bcc53f894e /tools/update_cpu_features.zig | |
| parent | 0fc1d396495c1ab482197021dedac8bea3f9401c (diff) | |
| parent | 729a051e9e38674233190aea23c0ac8c134f2d67 (diff) | |
| download | zig-216ef10dc471e4db60a30208be178d6c59efeaaf.tar.gz zig-216ef10dc471e4db60a30208be178d6c59efeaaf.zip | |
Merge branch 'master' into autodoc-searchkey
Diffstat (limited to 'tools/update_cpu_features.zig')
| -rw-r--r-- | tools/update_cpu_features.zig | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/tools/update_cpu_features.zig b/tools/update_cpu_features.zig index dd1b96fa7c..d5c3d48852 100644 --- a/tools/update_cpu_features.zig +++ b/tools/update_cpu_features.zig @@ -1054,14 +1054,14 @@ fn processOneTarget(job: Job) anyerror!void { var json_parse_progress = progress_node.start("parse JSON", 0); json_parse_progress.activate(); - var parser = json.Parser.init(arena, false); + var parser = json.Parser.init(arena, .alloc_if_needed); const tree = try parser.parse(json_text); json_parse_progress.end(); var render_progress = progress_node.start("render zig code", 0); render_progress.activate(); - const root_map = &tree.root.Object; + const root_map = &tree.root.object; var features_table = std.StringHashMap(Feature).init(arena); var all_features = std.ArrayList(Feature).init(arena); var all_cpus = std.ArrayList(Cpu).init(arena); @@ -1070,21 +1070,21 @@ fn processOneTarget(job: Job) anyerror!void { root_it: while (it.next()) |kv| { if (kv.key_ptr.len == 0) continue; if (kv.key_ptr.*[0] == '!') continue; - if (kv.value_ptr.* != .Object) continue; - if (hasSuperclass(&kv.value_ptr.Object, "SubtargetFeature")) { - const llvm_name = kv.value_ptr.Object.get("Name").?.String; + if (kv.value_ptr.* != .object) continue; + if (hasSuperclass(&kv.value_ptr.object, "SubtargetFeature")) { + const llvm_name = kv.value_ptr.object.get("Name").?.string; if (llvm_name.len == 0) continue; var zig_name = try llvmNameToZigName(arena, llvm_name); - var desc = kv.value_ptr.Object.get("Desc").?.String; + var desc = kv.value_ptr.object.get("Desc").?.string; var deps = std.ArrayList([]const u8).init(arena); var omit = false; var flatten = false; - const implies = kv.value_ptr.Object.get("Implies").?.Array; + const implies = kv.value_ptr.object.get("Implies").?.array; for (implies.items) |imply| { - const other_key = imply.Object.get("def").?.String; - const other_obj = &root_map.getPtr(other_key).?.Object; - const other_llvm_name = other_obj.get("Name").?.String; + const other_key = imply.object.get("def").?.string; + const other_obj = &root_map.getPtr(other_key).?.object; + const other_llvm_name = other_obj.get("Name").?.string; const other_zig_name = (try llvmNameToZigNameOmit( arena, llvm_target, @@ -1126,17 +1126,17 @@ fn processOneTarget(job: Job) anyerror!void { try all_features.append(feature); } } - if (hasSuperclass(&kv.value_ptr.Object, "Processor")) { - const llvm_name = kv.value_ptr.Object.get("Name").?.String; + if (hasSuperclass(&kv.value_ptr.object, "Processor")) { + const llvm_name = kv.value_ptr.object.get("Name").?.string; if (llvm_name.len == 0) continue; var zig_name = try llvmNameToZigName(arena, llvm_name); var deps = std.ArrayList([]const u8).init(arena); - const features = kv.value_ptr.Object.get("Features").?.Array; + const features = kv.value_ptr.object.get("Features").?.array; for (features.items) |feature| { - const feature_key = feature.Object.get("def").?.String; - const feature_obj = &root_map.getPtr(feature_key).?.Object; - const feature_llvm_name = feature_obj.get("Name").?.String; + const feature_key = feature.object.get("def").?.string; + const feature_obj = &root_map.getPtr(feature_key).?.object; + const feature_llvm_name = feature_obj.get("Name").?.string; if (feature_llvm_name.len == 0) continue; const feature_zig_name = (try llvmNameToZigNameOmit( arena, @@ -1145,11 +1145,11 @@ fn processOneTarget(job: Job) anyerror!void { )) orelse continue; try deps.append(feature_zig_name); } - const tune_features = kv.value_ptr.Object.get("TuneFeatures").?.Array; + const tune_features = kv.value_ptr.object.get("TuneFeatures").?.array; for (tune_features.items) |feature| { - const feature_key = feature.Object.get("def").?.String; - const feature_obj = &root_map.getPtr(feature_key).?.Object; - const feature_llvm_name = feature_obj.get("Name").?.String; + const feature_key = feature.object.get("def").?.string; + const feature_obj = &root_map.getPtr(feature_key).?.object; + const feature_llvm_name = feature_obj.get("Name").?.string; if (feature_llvm_name.len == 0) continue; const feature_zig_name = (try llvmNameToZigNameOmit( arena, @@ -1187,8 +1187,8 @@ fn processOneTarget(job: Job) anyerror!void { for (llvm_target.extra_cpus) |extra_cpu| { try all_cpus.append(extra_cpu); } - std.sort.sort(Feature, all_features.items, {}, featureLessThan); - std.sort.sort(Cpu, all_cpus.items, {}, cpuLessThan); + mem.sort(Feature, all_features.items, {}, featureLessThan); + mem.sort(Cpu, all_cpus.items, {}, cpuLessThan); const target_sub_path = try fs.path.join(arena, &.{ "lib", "std", "target" }); var target_dir = try job.zig_src_dir.makeOpenPath(target_sub_path, .{}); @@ -1283,7 +1283,7 @@ fn processOneTarget(job: Job) anyerror!void { try dependencies.append(key.*); } } - std.sort.sort([]const u8, dependencies.items, {}, asciiLessThan); + mem.sort([]const u8, dependencies.items, {}, asciiLessThan); if (dependencies.items.len == 0) { try w.writeAll( @@ -1328,7 +1328,7 @@ fn processOneTarget(job: Job) anyerror!void { try cpu_features.append(key.*); } } - std.sort.sort([]const u8, cpu_features.items, {}, asciiLessThan); + mem.sort([]const u8, cpu_features.items, {}, asciiLessThan); if (cpu.llvm_name) |llvm_name| { try w.print( \\ pub const {} = CpuModel{{ @@ -1431,8 +1431,8 @@ fn llvmNameToZigNameOmit( fn hasSuperclass(obj: *json.ObjectMap, class_name: []const u8) bool { const superclasses_json = obj.get("!superclasses") orelse return false; - for (superclasses_json.Array.items) |superclass_json| { - const superclass = superclass_json.String; + for (superclasses_json.array.items) |superclass_json| { + const superclass = superclass_json.string; if (std.mem.eql(u8, superclass, class_name)) { return true; } |
