Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
bca4b95c
Commit
bca4b95c
authored
Dec 23, 2014
by
Ian Lance Taylor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
runtime: Remove undefined references to runtime_race*.
From-SVN: r219049
parent
3feb0298
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
2 additions
and
130 deletions
+2
-130
libgo/runtime/chan.goc
+2
-71
libgo/runtime/malloc.goc
+0
-8
libgo/runtime/mgc0.c
+0
-3
libgo/runtime/proc.c
+0
-8
libgo/runtime/race.h
+0
-34
libgo/runtime/string.goc
+0
-1
libgo/runtime/time.goc
+0
-5
No files found.
libgo/runtime/chan.goc
View file @
bca4b95c
...
...
@@ -6,7 +6,6 @@ package runtime
#
include
"runtime.h"
#
include
"arch.h"
#
include
"go-type.h"
#
include
"race.h"
#
include
"malloc.h"
#
include
"chan.h"
...
...
@@ -15,7 +14,6 @@ uint32 runtime_Hchansize = sizeof(Hchan);
static
void
dequeueg
(
WaitQ
*);
static
SudoG
*
dequeue
(
WaitQ
*);
static
void
enqueue
(
WaitQ
*,
SudoG
*);
static
void
racesync
(
Hchan
*,
SudoG
*);
static
Hchan
*
makechan
(
ChanType
*
t
,
int64
hint
)
...
...
@@ -82,6 +80,7 @@ __go_new_channel_big(ChanType *t, uint64 hint)
static
bool
chansend
(
ChanType
*
t
,
Hchan
*
c
,
byte
*
ep
,
bool
block
,
void
*
pc
)
{
USED
(
pc
);
SudoG
*
sg
;
SudoG
mysg
;
G
*
gp
;
...
...
@@ -90,9 +89,6 @@ chansend(ChanType *t, Hchan *c, byte *ep, bool block, void *pc)
g
=
runtime_g
();
if
(
raceenabled
)
runtime_racereadobjectpc
(
ep
,
t
->
__element_type
,
runtime_getcallerpc
(&
t
),
chansend
);
if
(
c
==
nil
)
{
USED
(
t
);
if
(
!block)
...
...
@@ -116,8 +112,6 @@ chansend(ChanType *t, Hchan *c, byte *ep, bool block, void *pc)
}
runtime_lock
(
c
);
if
(
raceenabled
)
runtime_racereadpc
(
c
,
pc
,
chansend
);
if
(
c
->
closed
)
goto
closed
;
...
...
@@ -126,8 +120,6 @@ chansend(ChanType *t, Hchan *c, byte *ep, bool block, void *pc)
sg
=
dequeue
(&
c
->
recvq
);
if
(
sg
!= nil) {
if
(
raceenabled
)
racesync
(
c
,
sg
);
runtime_unlock
(
c
);
gp
=
sg
->
g
;
...
...
@@ -183,11 +175,6 @@ asynch:
goto
asynch
;
}
if
(
raceenabled
)
{
runtime_raceacquire
(
chanbuf
(
c
,
c
->
sendx
));
runtime_racerelease
(
chanbuf
(
c
,
c
->
sendx
));
}
runtime_memmove
(
chanbuf
(
c
,
c
->
sendx
),
ep
,
c
->
elemsize
);
if
(++
c
->
sendx
==
c
->
dataqsiz
)
c
->
sendx
=
0
;
...
...
@@ -225,8 +212,6 @@ chanrecv(ChanType *t, Hchan* c, byte *ep, bool block, bool *received)
if
(
runtime_gcwaiting
())
runtime_gosched
();
//
raceenabled
:
don
't need to check ep, as it is always on the stack.
if
(
debug
)
runtime_printf
(
"chanrecv: chan=%p
\n
"
,
c
);
...
...
@@ -256,8 +241,6 @@ chanrecv(ChanType *t, Hchan* c, byte *ep, bool block, bool *received)
sg
=
dequeue
(&
c
->
sendq
);
if
(
sg
!= nil) {
if(raceenabled)
racesync(c, sg);
runtime_unlock
(
c
);
if
(
ep
!= nil)
...
...
@@ -319,11 +302,6 @@ asynch:
goto
asynch
;
}
if(raceenabled) {
runtime_raceacquire(chanbuf(c, c->recvx));
runtime_racerelease(chanbuf(c, c->recvx));
}
if
(
ep
!= nil)
runtime_memmove
(
ep
,
chanbuf
(
c
,
c
->
recvx
),
c
->
elemsize
);
runtime_memclr
(
chanbuf
(
c
,
c
->
recvx
),
c
->
elemsize
);
...
...
@@ -352,8 +330,6 @@ closed:
runtime_memclr
(
ep
,
c
->
elemsize
);
if
(
received
!= nil)
*
received
=
false
;
if(raceenabled)
runtime_raceacquire(c);
runtime_unlock
(
c
);
if
(
mysg
.
releasetime
>
0
)
runtime_blockevent
(
mysg
.
releasetime
-
t0
,
2
);
...
...
@@ -789,8 +765,6 @@ loop:
break
;
case
CaseSend
:
if(raceenabled)
runtime_racereadpc(c, runtime_selectgo, chansend);
if
(
c
->
closed
)
goto
sclose
;
if
(
c
->
dataqsiz
>
0
)
{
...
...
@@ -874,24 +848,11 @@ loop:
*
cas
->
receivedp
=
true
;
}
if(raceenabled) {
if(cas->kind == CaseRecv && cas->sg.elem != nil)
runtime_racewriteobjectpc(cas->sg.elem, c->elemtype, selectgo, chanrecv);
else if(cas->kind == CaseSend)
runtime_racereadobjectpc(cas->sg.elem, c->elemtype, selectgo, chansend);
}
selunlock
(
sel
);
goto
retc
;
asyncrecv
:
//
can
receive
from
buffer
if(raceenabled) {
if(cas->sg.elem != nil)
runtime_racewriteobjectpc(cas->sg.elem, c->elemtype, selectgo, chanrecv);
runtime_raceacquire(chanbuf(c, c->recvx));
runtime_racerelease(chanbuf(c, c->recvx));
}
if
(
cas
->
receivedp
!= nil)
*
cas
->
receivedp
=
true
;
if
(
cas
->
sg
.
elem
!= nil)
...
...
@@ -914,11 +875,6 @@ asyncrecv:
asyncsend
:
//
can
send
to
buffer
if(raceenabled) {
runtime_raceacquire(chanbuf(c, c->sendx));
runtime_racerelease(chanbuf(c, c->sendx));
runtime_racereadobjectpc(cas->sg.elem, c->elemtype, selectgo, chansend);
}
runtime_memmove
(
chanbuf
(
c
,
c
->
sendx
),
cas
->
sg
.
elem
,
c
->
elemsize
);
if
(++
c
->
sendx
==
c
->
dataqsiz
)
c
->
sendx
=
0
;
...
...
@@ -937,11 +893,6 @@ asyncsend:
syncrecv
:
//
can
receive
from
sleeping
sender
(
sg
)
if(raceenabled) {
if(cas->sg.elem != nil)
runtime_racewriteobjectpc(cas->sg.elem, c->elemtype, selectgo, chanrecv);
racesync(c, sg);
}
selunlock
(
sel
);
if
(
debug
)
runtime_printf
(
"syncrecv: sel=%p c=%p o=%d
\n
"
,
sel
,
c
,
o
);
...
...
@@ -963,16 +914,10 @@ rclose:
*
cas
->
receivedp
=
false
;
if
(
cas
->
sg
.
elem
!= nil)
runtime_memclr
(
cas
->
sg
.
elem
,
c
->
elemsize
);
if(raceenabled)
runtime_raceacquire(c);
goto
retc
;
syncsend
:
//
can
send
to
sleeping
receiver
(
sg
)
if(raceenabled) {
runtime_racereadobjectpc(cas->sg.elem, c->elemtype, selectgo, chansend);
racesync(c, sg);
}
selunlock
(
sel
);
if
(
debug
)
runtime_printf
(
"syncsend: sel=%p c=%p o=%d
\n
"
,
sel
,
c
,
o
);
...
...
@@ -1062,6 +1007,7 @@ func reflect.chanclose(c *Hchan) {
static
void
closechan
(
Hchan
*
c
,
void
*
pc
)
{
USED
(
pc
);
SudoG
*
sg
;
G
*
gp
;
...
...
@@ -1076,12 +1022,6 @@ closechan(Hchan *c, void *pc)
runtime_unlock
(
c
);
runtime_panicstring
(
"close of closed channel"
);
}
if(raceenabled) {
runtime_racewritepc(c, pc, runtime_closechan);
runtime_racerelease(c);
}
c
->
closed
=
true
;
//
release
all
readers
...
...
@@ -1194,12 +1134,3 @@ enqueue(WaitQ *q, SudoG *sgp)
q
->
last
->
link
=
sgp
;
q
->
last
=
sgp
;
}
static void
racesync(Hchan *c, SudoG *sg)
{
runtime_racerelease(chanbuf(c, 0));
runtime_raceacquireg(sg->g, chanbuf(c, 0));
runtime_racereleaseg(sg->g, chanbuf(c, 0));
runtime_raceacquire(chanbuf(c, 0));
}
libgo/runtime/malloc.goc
View file @
bca4b95c
...
...
@@ -16,7 +16,6 @@ package runtime
#
include
"malloc.h"
#
include
"interface.h"
#
include
"go-type.h"
#
include
"race.h"
//
Map
gccgo
field
names
to
gc
field
names
.
//
Eface
aka
__go_empty_interface
.
...
...
@@ -249,9 +248,6 @@ runtime_mallocgc(uintptr size, uintptr typ, uint32 flag)
if
(
UseSpanType
&&
!(flag & FlagNoScan) && typ != 0)
settype
(
s
,
v
,
typ
);
if
(
raceenabled
)
runtime_racemalloc
(
v
,
size
);
if
(
runtime_debug
.
allocfreetrace
)
runtime_tracealloc
(
v
,
size
,
typ
);
...
...
@@ -697,8 +693,6 @@ runtime_MHeap_SysAlloc(MHeap *h, uintptr n)
h->arena_used += n;
runtime_MHeap_MapBits(h);
runtime_MHeap_MapSpans(h);
if(raceenabled)
runtime_racemapshadow(p, n);
if(((uintptr)p & (PageSize-1)) != 0)
runtime_throw("misrounded allocation in MHeap_SysAlloc");
...
...
@@ -732,8 +726,6 @@ runtime_MHeap_SysAlloc(MHeap *h, uintptr n)
h->arena_end = p_end;
runtime_MHeap_MapBits(h);
runtime_MHeap_MapSpans(h);
if(raceenabled)
runtime_racemapshadow(p, n);
}
if(((uintptr)p & (PageSize-1)) != 0)
...
...
libgo/runtime/mgc0.c
View file @
bca4b95c
...
...
@@ -57,7 +57,6 @@
#include "malloc.h"
#include "mgc0.h"
#include "chan.h"
#include "race.h"
#include "go-type.h"
// Map gccgo field names to gc field names.
...
...
@@ -2507,8 +2506,6 @@ runfinq(void* dummy __attribute__ ((unused)))
continue
;
}
runtime_unlock
(
&
finlock
);
if
(
raceenabled
)
runtime_racefingo
();
for
(;
fb
;
fb
=
next
)
{
next
=
fb
->
next
;
for
(
i
=
0
;
i
<
(
uint32
)
fb
->
cnt
;
i
++
)
{
...
...
libgo/runtime/proc.c
View file @
bca4b95c
...
...
@@ -18,7 +18,6 @@
#include "arch.h"
#include "defs.h"
#include "malloc.h"
#include "race.h"
#include "go-type.h"
#include "go-defer.h"
...
...
@@ -462,9 +461,6 @@ runtime_schedinit(void)
// Can not enable GC until all roots are registered.
// mstats.enablegc = 1;
// if(raceenabled)
// g->racectx = runtime_raceinit();
}
extern
void
main_init
(
void
)
__asm__
(
GOSYM_PREFIX
"__go_init_main"
);
...
...
@@ -528,8 +524,6 @@ runtime_main(void* dummy __attribute__((unused)))
mstats
.
enablegc
=
1
;
main_main
();
if
(
raceenabled
)
runtime_racefini
();
// Make racy client program work: if panicking on
// another goroutine at the same time as main returns,
...
...
@@ -1848,8 +1842,6 @@ runtime_goexit(void)
{
if
(
g
->
status
!=
Grunning
)
runtime_throw
(
"bad g status"
);
if
(
raceenabled
)
runtime_racegoend
();
runtime_mcall
(
goexit0
);
}
...
...
libgo/runtime/race.h
deleted
100644 → 0
View file @
3feb0298
// Copyright 2012 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Definitions related to data race detection.
#ifdef RACE
enum
{
raceenabled
=
1
};
#else
enum
{
raceenabled
=
0
};
#endif
// Initialize race detection subsystem.
uintptr
runtime_raceinit
(
void
);
// Finalize race detection subsystem, does not return.
void
runtime_racefini
(
void
);
void
runtime_racemapshadow
(
void
*
addr
,
uintptr
size
);
void
runtime_racemalloc
(
void
*
p
,
uintptr
sz
);
uintptr
runtime_racegostart
(
void
*
pc
);
void
runtime_racegoend
(
void
);
void
runtime_racewritepc
(
void
*
addr
,
void
*
callpc
,
void
*
pc
);
void
runtime_racereadpc
(
void
*
addr
,
void
*
callpc
,
void
*
pc
);
void
runtime_racewriterangepc
(
void
*
addr
,
uintptr
sz
,
void
*
callpc
,
void
*
pc
);
void
runtime_racereadrangepc
(
void
*
addr
,
uintptr
sz
,
void
*
callpc
,
void
*
pc
);
void
runtime_racereadobjectpc
(
void
*
addr
,
const
Type
*
t
,
void
*
callpc
,
void
*
pc
);
void
runtime_racewriteobjectpc
(
void
*
addr
,
const
Type
*
t
,
void
*
callpc
,
void
*
pc
);
void
runtime_racefingo
(
void
);
void
runtime_raceacquire
(
void
*
addr
);
void
runtime_raceacquireg
(
G
*
gp
,
void
*
addr
);
void
runtime_racerelease
(
void
*
addr
);
void
runtime_racereleaseg
(
G
*
gp
,
void
*
addr
);
void
runtime_racereleasemerge
(
void
*
addr
);
void
runtime_racereleasemergeg
(
G
*
gp
,
void
*
addr
);
libgo/runtime/string.goc
View file @
bca4b95c
...
...
@@ -7,7 +7,6 @@ package runtime
#
include
"arch.h"
#
include
"malloc.h"
#
include
"go-string.h"
#
include
"race.h"
#
define
charntorune
(
pv
,
str
,
len
)
__go_get_rune
(
str
,
len
,
pv
)
...
...
libgo/runtime/time.goc
View file @
bca4b95c
...
...
@@ -12,7 +12,6 @@ package time
#
include
"defs.h"
#
include
"arch.h"
#
include
"malloc.h"
#
include
"race.h"
enum
{
debug
=
0
,
...
...
@@ -42,8 +41,6 @@ func Sleep(ns int64) {
//
startTimer
adds
t
to
the
timer
heap
.
func
startTimer
(
t
*
Timer
)
{
if
(
raceenabled
)
runtime_racerelease
(
t
);
runtime_addtimer
(
t
);
}
...
...
@@ -237,8 +234,6 @@ timerproc(void* dummy __attribute__ ((unused)))
f = (void*)t->fv->fn;
arg = t->arg;
runtime_unlock(&timers);
if(raceenabled)
runtime_raceacquire(t);
__go_set_closure(fv);
f(now, arg);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment