Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
G
golang
Project
Project
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
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
go
golang
Commits
89bfddbf
Commit
89bfddbf
authored
Nov 14, 2012
by
Dmitriy Vyukov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cmd/gc: racewalk: handle OEFACE/OCONVIFACE
R=golang-dev, rsc CC=golang-dev
https://golang.org/cl/6821096
parent
96833d3a
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
20 deletions
+15
-20
racewalk.c
src/cmd/gc/racewalk.c
+15
-20
No files found.
src/cmd/gc/racewalk.c
View file @
89bfddbf
...
@@ -153,12 +153,6 @@ racewalknode(Node **np, NodeList **init, int wr, int skip)
...
@@ -153,12 +153,6 @@ racewalknode(Node **np, NodeList **init, int wr, int skip)
racewalknode
(
&
n
->
left
,
init
,
0
,
0
);
racewalknode
(
&
n
->
left
,
init
,
0
,
0
);
goto
ret
;
goto
ret
;
case
OFOR
:
goto
ret
;
case
OIF
:
goto
ret
;
case
OPROC
:
case
OPROC
:
racewalknode
(
&
n
->
left
,
init
,
0
,
0
);
racewalknode
(
&
n
->
left
,
init
,
0
,
0
);
goto
ret
;
goto
ret
;
...
@@ -171,24 +165,12 @@ racewalknode(Node **np, NodeList **init, int wr, int skip)
...
@@ -171,24 +165,12 @@ racewalknode(Node **np, NodeList **init, int wr, int skip)
racewalknode
(
&
n
->
left
,
init
,
0
,
0
);
racewalknode
(
&
n
->
left
,
init
,
0
,
0
);
goto
ret
;
goto
ret
;
case
OCALLMETH
:
goto
ret
;
case
ORETURN
:
goto
ret
;
case
OSELECT
:
goto
ret
;
case
OSWITCH
:
case
OSWITCH
:
if
(
n
->
ntest
->
op
==
OTYPESW
)
if
(
n
->
ntest
->
op
==
OTYPESW
)
// TODO(dvyukov): the expression can contain calls or reads.
// TODO(dvyukov): the expression can contain calls or reads.
return
;
return
;
goto
ret
;
goto
ret
;
case
OEMPTY
:
goto
ret
;
case
ONOT
:
case
ONOT
:
case
OMINUS
:
case
OMINUS
:
case
OPLUS
:
case
OPLUS
:
...
@@ -299,6 +281,11 @@ racewalknode(Node **np, NodeList **init, int wr, int skip)
...
@@ -299,6 +281,11 @@ racewalknode(Node **np, NodeList **init, int wr, int skip)
racewalknode
(
&
n
->
left
,
init
,
0
,
1
);
racewalknode
(
&
n
->
left
,
init
,
0
,
1
);
goto
ret
;
goto
ret
;
case
OEFACE
:
racewalknode
(
&
n
->
left
,
init
,
0
,
0
);
racewalknode
(
&
n
->
right
,
init
,
0
,
0
);
goto
ret
;
// should not appear in AST by now
// should not appear in AST by now
case
OSEND
:
case
OSEND
:
case
ORECV
:
case
ORECV
:
...
@@ -309,9 +296,19 @@ racewalknode(Node **np, NodeList **init, int wr, int skip)
...
@@ -309,9 +296,19 @@ racewalknode(Node **np, NodeList **init, int wr, int skip)
case
OCASE
:
case
OCASE
:
case
OPANIC
:
case
OPANIC
:
case
ORECOVER
:
case
ORECOVER
:
case
OCONVIFACE
:
yyerror
(
"racewalk: %O must be lowered by now"
,
n
->
op
);
yyerror
(
"racewalk: %O must be lowered by now"
,
n
->
op
);
goto
ret
;
goto
ret
;
// just do generic traversal
case
OFOR
:
case
OIF
:
case
OCALLMETH
:
case
ORETURN
:
case
OSELECT
:
case
OEMPTY
:
goto
ret
;
// does not require instrumentation
// does not require instrumentation
case
OINDEXMAP
:
// implemented in runtime
case
OINDEXMAP
:
// implemented in runtime
case
OPRINT
:
// don't bother instrumenting it
case
OPRINT
:
// don't bother instrumenting it
...
@@ -340,7 +337,6 @@ racewalknode(Node **np, NodeList **init, int wr, int skip)
...
@@ -340,7 +337,6 @@ racewalknode(Node **np, NodeList **init, int wr, int skip)
case
OCLOSURE
:
case
OCLOSURE
:
case
ODOTTYPE
:
case
ODOTTYPE
:
case
ODOTTYPE2
:
case
ODOTTYPE2
:
case
OCONVIFACE
:
case
OCALL
:
case
OCALL
:
case
OBREAK
:
case
OBREAK
:
case
ODCL
:
case
ODCL
:
...
@@ -357,7 +353,6 @@ racewalknode(Node **np, NodeList **init, int wr, int skip)
...
@@ -357,7 +353,6 @@ racewalknode(Node **np, NodeList **init, int wr, int skip)
case
OINDREG
:
case
OINDREG
:
case
OCOM
:
case
OCOM
:
case
ODOTMETH
:
case
ODOTMETH
:
case
OEFACE
:
case
OITAB
:
case
OITAB
:
case
OEXTEND
:
case
OEXTEND
:
case
OHMUL
:
case
OHMUL
:
...
...
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