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
Show 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)
racewalknode
(
&
n
->
left
,
init
,
0
,
0
);
goto
ret
;
case
OFOR
:
goto
ret
;
case
OIF
:
goto
ret
;
case
OPROC
:
racewalknode
(
&
n
->
left
,
init
,
0
,
0
);
goto
ret
;
...
...
@@ -171,24 +165,12 @@ racewalknode(Node **np, NodeList **init, int wr, int skip)
racewalknode
(
&
n
->
left
,
init
,
0
,
0
);
goto
ret
;
case
OCALLMETH
:
goto
ret
;
case
ORETURN
:
goto
ret
;
case
OSELECT
:
goto
ret
;
case
OSWITCH
:
if
(
n
->
ntest
->
op
==
OTYPESW
)
// TODO(dvyukov): the expression can contain calls or reads.
return
;
goto
ret
;
case
OEMPTY
:
goto
ret
;
case
ONOT
:
case
OMINUS
:
case
OPLUS
:
...
...
@@ -299,6 +281,11 @@ racewalknode(Node **np, NodeList **init, int wr, int skip)
racewalknode
(
&
n
->
left
,
init
,
0
,
1
);
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
case
OSEND
:
case
ORECV
:
...
...
@@ -309,9 +296,19 @@ racewalknode(Node **np, NodeList **init, int wr, int skip)
case
OCASE
:
case
OPANIC
:
case
ORECOVER
:
case
OCONVIFACE
:
yyerror
(
"racewalk: %O must be lowered by now"
,
n
->
op
);
goto
ret
;
// just do generic traversal
case
OFOR
:
case
OIF
:
case
OCALLMETH
:
case
ORETURN
:
case
OSELECT
:
case
OEMPTY
:
goto
ret
;
// does not require instrumentation
case
OINDEXMAP
:
// implemented in runtime
case
OPRINT
:
// don't bother instrumenting it
...
...
@@ -340,7 +337,6 @@ racewalknode(Node **np, NodeList **init, int wr, int skip)
case
OCLOSURE
:
case
ODOTTYPE
:
case
ODOTTYPE2
:
case
OCONVIFACE
:
case
OCALL
:
case
OBREAK
:
case
ODCL
:
...
...
@@ -357,7 +353,6 @@ racewalknode(Node **np, NodeList **init, int wr, int skip)
case
OINDREG
:
case
OCOM
:
case
ODOTMETH
:
case
OEFACE
:
case
OITAB
:
case
OEXTEND
:
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