Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(236)

Issue 9873045: code review 9873045: runtime: make GC stack scanning understand whether the ... (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
12 years, 1 month ago by dvyukov
Modified:
12 years ago
Reviewers:
rsc, iant, cshapiro1, golang-dev
Visibility:
Public.

Description

runtime: make GC stack scanning understand whether the function has started or not It is required for preemptive scheduler, because the top frame function in a preempted goroutine has not yet started (has not decremented SP), and so requires special handling. Currently it happens only with runtime.goexit, but it is handled specially in several places (traceback, GC). That special handling can be removed later.

Patch Set 1 #

Patch Set 2 : diff -r 7bd52af9db1c https://dvyukov%40google.com@code.google.com/p/go/ #

Patch Set 3 : diff -r 7bd52af9db1c https://dvyukov%40google.com@code.google.com/p/go/ #

Total comments: 9

Patch Set 4 : diff -r e3f2b59f2404 https://dvyukov%40google.com@code.google.com/p/go/ #

Unified diffs Side-by-side diffs Delta from patch set Stats (+31 lines, -18 lines) Patch
M src/pkg/runtime/mgc0.c View 1 2 3 2 chunks +14 lines, -9 lines 0 comments Download
M src/pkg/runtime/runtime.h View 1 1 chunk +1 line, -1 line 0 comments Download
M src/pkg/runtime/traceback_arm.c View 1 2 3 3 chunks +8 lines, -4 lines 0 comments Download
M src/pkg/runtime/traceback_x86.c View 1 2 3 3 chunks +8 lines, -4 lines 0 comments Download

Messages

Total messages: 16
dvyukov
Hello golang-dev@googlegroups.com (cc: cshapiro@google.com, iant@golang.org), I'd like you to review this change to https://dvyukov%40google.com@code.google.com/p/go/
12 years, 1 month ago (2013-05-30 09:48:38 UTC) #1
dvyukov
I have not tested it on arm.
12 years, 1 month ago (2013-05-30 09:49:03 UTC) #2
dvyukov
https://codereview.appspot.com/9873045/diff/5001/src/pkg/runtime/traceback_x86.c File src/pkg/runtime/traceback_x86.c (right): https://codereview.appspot.com/9873045/diff/5001/src/pkg/runtime/traceback_x86.c#newcode86 src/pkg/runtime/traceback_x86.c:86: started = pc > f->entry && f->frame >= sizeof(uintptr); ...
12 years, 1 month ago (2013-05-30 09:49:54 UTC) #3
cshapiro1
https://codereview.appspot.com/9873045/diff/5001/src/pkg/runtime/mgc0.c File src/pkg/runtime/mgc0.c (right): https://codereview.appspot.com/9873045/diff/5001/src/pkg/runtime/mgc0.c#newcode1415 src/pkg/runtime/mgc0.c:1415: // scan only args in this case. This case ...
12 years, 1 month ago (2013-05-30 19:03:39 UTC) #4
cshapiro1
https://codereview.appspot.com/9873045/diff/5001/src/pkg/runtime/traceback_x86.c File src/pkg/runtime/traceback_x86.c (right): https://codereview.appspot.com/9873045/diff/5001/src/pkg/runtime/traceback_x86.c#newcode86 src/pkg/runtime/traceback_x86.c:86: started = pc > f->entry && f->frame >= sizeof(uintptr); ...
12 years, 1 month ago (2013-05-30 19:07:24 UTC) #5
dvyukov
https://codereview.appspot.com/9873045/diff/5001/src/pkg/runtime/mgc0.c File src/pkg/runtime/mgc0.c (right): https://codereview.appspot.com/9873045/diff/5001/src/pkg/runtime/mgc0.c#newcode1415 src/pkg/runtime/mgc0.c:1415: // scan only args in this case. On 2013/05/30 ...
12 years, 1 month ago (2013-05-31 05:51:39 UTC) #6
iant
https://codereview.appspot.com/9873045/diff/5001/src/pkg/runtime/traceback_x86.c File src/pkg/runtime/traceback_x86.c (right): https://codereview.appspot.com/9873045/diff/5001/src/pkg/runtime/traceback_x86.c#newcode86 src/pkg/runtime/traceback_x86.c:86: started = pc > f->entry && f->frame >= sizeof(uintptr); ...
12 years, 1 month ago (2013-06-01 00:34:02 UTC) #7
dvyukov
PTAL https://codereview.appspot.com/9873045/diff/5001/src/pkg/runtime/traceback_x86.c File src/pkg/runtime/traceback_x86.c (right): https://codereview.appspot.com/9873045/diff/5001/src/pkg/runtime/traceback_x86.c#newcode86 src/pkg/runtime/traceback_x86.c:86: started = pc > f->entry && f->frame >= ...
12 years, 1 month ago (2013-06-01 19:19:24 UTC) #8
iant
LGTM Wait for cshapiro.
12 years ago (2013-06-03 04:43:45 UTC) #9
cshapiro1
https://codereview.appspot.com/9873045/diff/5001/src/pkg/runtime/mgc0.c File src/pkg/runtime/mgc0.c (right): https://codereview.appspot.com/9873045/diff/5001/src/pkg/runtime/mgc0.c#newcode1415 src/pkg/runtime/mgc0.c:1415: // scan only args in this case. On 2013/05/31 ...
12 years ago (2013-06-04 01:17:15 UTC) #10
dvyukov
On 2013/06/04 01:17:15, cshapiro1 wrote: > https://codereview.appspot.com/9873045/diff/5001/src/pkg/runtime/mgc0.c > File src/pkg/runtime/mgc0.c (right): > > https://codereview.appspot.com/9873045/diff/5001/src/pkg/runtime/mgc0.c#newcode1415 > ...
12 years ago (2013-06-04 08:39:10 UTC) #11
cshapiro1
On Tue, Jun 4, 2013 at 1:39 AM, <dvyukov@google.com> wrote: > I think it's better ...
12 years ago (2013-06-05 21:26:29 UTC) #12
rsc
This CL will need to be revised if Dmitriy cleans up my CL tweaking the ...
12 years ago (2013-06-05 21:37:33 UTC) #13
cshapiro1
On Wed, Jun 5, 2013 at 2:37 PM, Russ Cox <rsc@golang.org> wrote: > This CL ...
12 years ago (2013-06-05 22:03:26 UTC) #14
rsc
Yes, pc==f->entry is the right test even on ARM. However, on the ARM, on entry ...
12 years ago (2013-06-10 17:57:44 UTC) #15
dvyukov
12 years ago (2013-06-14 14:23:57 UTC) #16
*** Abandoned ***
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b