]> Cypherpunks repositories - gostls13.git/commit
cmd/cc: add PREFETCH built-in (like SET, USED)
authorRuss Cox <rsc@golang.org>
Wed, 2 May 2012 20:22:56 +0000 (16:22 -0400)
committerRuss Cox <rsc@golang.org>
Wed, 2 May 2012 20:22:56 +0000 (16:22 -0400)
commitd42495aa803b2efc3c58317b79f99e723c1b5195
treec6ed5542d0370adf5dd39f46dc231b8b042f089b
parent10838165d8249175020155751469bc7729d78fb9
cmd/cc: add PREFETCH built-in (like SET, USED)

This makes it possible to inline the prefetch of upcoming
memory addresses during garbage collection, instead of
needing to flush registers, make a function call, and
reload registers.  On garbage collection-heavy workloads,
this results in a 5% speedup.

Fixes #3493.

R=dvyukov, ken, r, dave
CC=golang-dev
https://golang.org/cl/5990066
23 files changed:
src/cmd/5c/gc.h
src/cmd/5c/txt.c
src/cmd/6c/gc.h
src/cmd/6c/peep.c
src/cmd/6c/reg.c
src/cmd/6c/txt.c
src/cmd/8c/gc.h
src/cmd/8c/peep.c
src/cmd/8c/reg.c
src/cmd/8c/txt.c
src/cmd/cc/Makefile
src/cmd/cc/cc.h
src/cmd/cc/cc.y
src/cmd/cc/lex.c
src/cmd/cc/pgen.c
src/cmd/cc/sub.c
src/cmd/cc/y.tab.c
src/cmd/cc/y.tab.h
src/pkg/runtime/arch_386.h
src/pkg/runtime/arch_amd64.h
src/pkg/runtime/arch_arm.h
src/pkg/runtime/asm_386.s
src/pkg/runtime/asm_amd64.s