https://codereview.appspot.com/8022044/diff/1002/src/pkg/runtime/mgc0.c File src/pkg/runtime/mgc0.c (right): https://codereview.appspot.com/8022044/diff/1002/src/pkg/runtime/mgc0.c#newcode1320 src/pkg/runtime/mgc0.c:1320: // scanned activation has an unknown argument size. When ...
11 years, 11 months ago
(2013-03-26 23:24:57 UTC)
#4
https://codereview.appspot.com/8022044/diff/1002/src/pkg/runtime/mgc0.c
File src/pkg/runtime/mgc0.c (right):
https://codereview.appspot.com/8022044/diff/1002/src/pkg/runtime/mgc0.c#newco...
src/pkg/runtime/mgc0.c:1320: // scanned activation has an unknown argument size.
When doframe is true the
The last argument is a generic context argument for the new gentraceback
callback. In this particular function it is interpreted as a pointer to bool.
I will update the comment to say *doframe to avoid some confusion.
Conceivably, I could type doframe as a bool* but that would require a long and
unsightly cast at its use in the call to gentraceback on line 1384.
On 2013/03/26 23:14:42, bradfitz wrote: > How much of the stack-GC story is this? Could ...
11 years, 11 months ago
(2013-03-26 23:32:54 UTC)
#5
On 2013/03/26 23:14:42, bradfitz wrote:
> How much of the stack-GC story is this? Could you reference a bug number
> telling more of the story/plan? For instance, when can we kill the -Z link
> option?
This is the first step toward scanning live pointers and ignoring dead and
non-pointer values on the stack. This change allows the garbage collector to
operate on a per-frame basis and uses the only helpful metadata regarding frames
available now which is the size of the various regions of a frame. We cannot
eliminate -Z yet but I hope that will mostly change in two or three changelists
down the line when more relevant metadata is emitted.
I can add an updates issue 909 to the change since that issue is relevant. If
filing a specific bug against the problem this change is working toward
addressing (non-pointer and dead pointer values are scanned) I can create that
and an "update issue ..." for that.
Let me know.
909 is very high-profile. I'd suggest your own stack-specific bug. On Tue, Mar 26, 2013 ...
11 years, 11 months ago
(2013-03-27 00:30:01 UTC)
#7
909 is very high-profile. I'd suggest your own stack-specific bug.
On Tue, Mar 26, 2013 at 4:32 PM, <cshapiro@google.com> wrote:
> On 2013/03/26 23:14:42, bradfitz wrote:
>
>> How much of the stack-GC story is this? Could you reference a bug
>>
> number
>
>> telling more of the story/plan? For instance, when can we kill the -Z
>>
> link
>
>> option?
>>
>
> This is the first step toward scanning live pointers and ignoring dead
> and non-pointer values on the stack. This change allows the garbage
> collector to operate on a per-frame basis and uses the only helpful
> metadata regarding frames available now which is the size of the various
> regions of a frame. We cannot eliminate -Z yet but I hope that will
> mostly change in two or three changelists down the line when more
> relevant metadata is emitted.
>
> I can add an updates issue 909 to the change since that issue is
> relevant. If filing a specific bug against the problem this change is
> working toward addressing (non-pointer and dead pointer values are
> scanned) I can create that and an "update issue ..." for that.
>
> Let me know.
>
>
>
https://codereview.appspot.**com/8022044/<https://codereview.appspot.com/8022...
>
Thanks. To be clear (and you know this, but for others): I'm not qualified to ...
11 years, 11 months ago
(2013-03-27 16:27:07 UTC)
#9
Thanks.
To be clear (and you know this, but for others): I'm not qualified to
review this. I was just skimming for curiosity.
With Russ currently away, I'm not sure who would be a good reviewer.
I'm also unsure whether this can even go in before Go 1.1. This feels
scary to me, especially considering we already have a few mystery crashes
in the runtime (GC/scheduler/netpoll/maps?) How confident in it are you?
On Tue, Mar 26, 2013 at 5:41 PM, <cshapiro@google.com> wrote:
> I have created an issue and made note of it in the change description.
>
>
https://codereview.appspot.**com/8022044/<https://codereview.appspot.com/8022...
>
On Wed, Mar 27, 2013 at 9:27 AM, Brad Fitzpatrick <bradfitz@golang.org>wrote: > I'm also unsure ...
11 years, 11 months ago
(2013-03-27 20:22:09 UTC)
#11
On Wed, Mar 27, 2013 at 9:27 AM, Brad Fitzpatrick <bradfitz@golang.org>wrote:
> I'm also unsure whether this can even go in before Go 1.1. This feels
> scary to me, especially considering we already have a few mystery crashes
> in the runtime (GC/scheduler/netpoll/maps?) How confident in it are you?
>
I am as confident as I can be from just running the tests over and over
again on all three platforms. It seems very solid. Maybe there is some
interal code we can use to evaluate this change?
PTAL My latest patch set addresses Daniel's comments and adds a flag "ScanStackByFrames" that enables ...
11 years, 11 months ago
(2013-03-28 01:38:08 UTC)
#13
PTAL
My latest patch set addresses Daniel's comments and adds a flag
"ScanStackByFrames" that enables the functionality in this change. At the
moment the flag is off which means the GC should behave as it always has
scanning every word on the stack. After we branch for the release turning this
flag on can be explored.
On 2013/03/28 13:46:15, DMorsing wrote: > > I think the new version can go in ...
11 years, 11 months ago
(2013-03-28 17:00:54 UTC)
#16
On 2013/03/28 13:46:15, DMorsing wrote:
>
> I think the new version can go in directly. It seems like you've tested this
> thoroughly.
>
> Does anyone disagree with this?
Since there are some outstanding undiagnosed crash bugs, I'm concerned about
stability for the Go 1.1 release. Certainly I agree that this should be
installed directly after Go 1.1.
(I have not yet looked at this CL, sorry.)
The most recent upload should address the remaining review comments. https://codereview.appspot.com/8022044/diff/22001/src/cmd/ld/lib.c File src/cmd/ld/lib.c (right): https://codereview.appspot.com/8022044/diff/22001/src/cmd/ld/lib.c#newcode1866 ...
11 years, 11 months ago
(2013-03-28 21:13:53 UTC)
#17
Issue 8022044: code review 8022044: cmd/ld, runtime: restrict stack root scan to locals and...
(Closed)
Created 11 years, 11 months ago by cshapiro
Modified 11 years, 11 months ago
Reviewers:
Base URL:
Comments: 13