diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2023-05-30 13:54:22 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2023-06-10 20:47:57 -0700 |
| commit | 90a877f462fce8bee69ad366aac66805a7c00571 (patch) | |
| tree | fd4271ea498f27ec12c5f9e10fd70cdd25de9279 /src/Sema.zig | |
| parent | 6b81546454f925807d2298a127458741be7239e9 (diff) | |
| download | zig-90a877f462fce8bee69ad366aac66805a7c00571.tar.gz zig-90a877f462fce8bee69ad366aac66805a7c00571.zip | |
InternPool: pass by const pointer
The Zig language allows the compiler to make this optimization
automatically. We should definitely make the compiler do that, and
revert this commit. However, that will not happen in this branch, and I
want to continue to explore achieving performance parity with
merge-base. So, this commit changes all InternPool parameters to be
passed by const pointer rather than by value.
I measured a 1.03x ± 0.03 speedup vs the previous commit compiling the
(set of passing) behavior tests. Against merge-base, this commit is
1.17x ± 0.04 slower, which is an improvement from the previous
measurement of 1.22x ± 0.02.
Related issue: #13510
Related issue: #14129
Related issue: #15688
Diffstat (limited to 'src/Sema.zig')
| -rw-r--r-- | src/Sema.zig | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/Sema.zig b/src/Sema.zig index 8836e89528..b4e07d749e 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -33624,7 +33624,7 @@ pub fn typeHasOnePossibleValue(sema: *Sema, ty: Type) CompileError!?Value { /// Returns the type of the AIR instruction. fn typeOf(sema: *Sema, inst: Air.Inst.Ref) Type { - return sema.getTmpAir().typeOf(inst, sema.mod.intern_pool); + return sema.getTmpAir().typeOf(inst, &sema.mod.intern_pool); } pub fn getTmpAir(sema: Sema) Air { |
