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

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

Can't Edit
Can't Publish+Mail
Start Review
Created:
10 years, 11 months ago by dvyukov
Modified:
10 years, 10 months 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/
10 years, 11 months ago (2013-05-30 09:48:38 UTC) #1
dvyukov
I have not tested it on arm.
10 years, 11 months 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); ...
10 years, 11 months 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 ...
10 years, 11 months 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); ...
10 years, 11 months 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 ...
10 years, 11 months 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); ...
10 years, 11 months 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 >= ...
10 years, 11 months ago (2013-06-01 19:19:24 UTC) #8
iant
LGTM Wait for cshapiro.
10 years, 11 months 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 ...
10 years, 11 months 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 > ...
10 years, 11 months 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 ...
10 years, 11 months 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 ...
10 years, 11 months 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 ...
10 years, 11 months 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 ...
10 years, 10 months ago (2013-06-10 17:57:44 UTC) #15
dvyukov
10 years, 10 months 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