• Dmitriy Vyukov's avatar
    cmd/gc: racewalk: do not double function calls · abb313f8
    Dmitriy Vyukov authored
    Current racewalk transformation looks like:
    x := <-makeChan().c
    \/\/\/\/\/\/\/\/\/
    runtime.raceread(&makeChan().c)
    x := <-makeChan().c
    and so makeChan() is called twice.
    With this CL the transformation looks like:
    x := <-makeChan().c
    \/\/\/\/\/\/\/\/\/
    chan *tmp = &(makeChan().c)
    raceread(&*tmp)
    x := <-(*tmp)
    Fixes #4245.
    
    R=golang-dev, rsc
    CC=golang-dev
    https://golang.org/cl/6822075
    abb313f8
Name
Last commit
Last update
api Loading commit data...
doc Loading commit data...
include Loading commit data...
lib Loading commit data...
misc Loading commit data...
src Loading commit data...
test Loading commit data...
.hgignore Loading commit data...
.hgtags Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
PATENTS Loading commit data...
README Loading commit data...
favicon.ico Loading commit data...
robots.txt Loading commit data...