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

Issue 2150042: code review 2150042: runtime: use manual stack for garbage collection (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
14 years, 6 months ago by rsc
Modified:
14 years, 6 months ago
Reviewers:
CC:
r, golang-dev
Visibility:
Public.

Description

runtime: use manual stack for garbage collection Old code was using recursion to traverse object graph. New code uses an explicit stack, cutting the per-pointer footprint to two words during the recursion and avoiding the standard allocator and stack splitting code. in test/garbage: Reduces parser runtime by 2-3% Reduces Peano runtime by 40% Increases tree runtime by 4-5%

Patch Set 1 #

Patch Set 2 : code review 2150042: runtime: use manual stack for garbage collection #

Patch Set 3 : code review 2150042: runtime: use manual stack for garbage collection #

Patch Set 4 : code review 2150042: runtime: use manual stack for garbage collection #

Patch Set 5 : code review 2150042: runtime: use manual stack for garbage collection #

Unified diffs Side-by-side diffs Delta from patch set Stats (+218 lines, -79 lines) Patch
M src/pkg/runtime/darwin/386/sys.s View 4 1 chunk +7 lines, -0 lines 0 comments Download
M src/pkg/runtime/darwin/amd64/sys.s View 1 2 3 4 1 chunk +9 lines, -0 lines 0 comments Download
M src/pkg/runtime/darwin/mem.c View 1 chunk +1 line, -3 lines 0 comments Download
M src/pkg/runtime/debug.go View 1 2 1 chunk +5 lines, -4 lines 0 comments Download
M src/pkg/runtime/freebsd/386/sys.s View 4 1 chunk +7 lines, -0 lines 0 comments Download
M src/pkg/runtime/freebsd/amd64/sys.s View 4 1 chunk +9 lines, -0 lines 0 comments Download
M src/pkg/runtime/freebsd/mem.c View 1 chunk +1 line, -3 lines 0 comments Download
M src/pkg/runtime/linux/386/sys.s View 4 1 chunk +10 lines, -0 lines 0 comments Download
M src/pkg/runtime/linux/amd64/sys.s View 2 chunks +11 lines, -1 line 0 comments Download
M src/pkg/runtime/linux/arm/sys.s View 4 2 chunks +8 lines, -0 lines 0 comments Download
M src/pkg/runtime/linux/mem.c View 1 chunk +1 line, -3 lines 0 comments Download
M src/pkg/runtime/malloc.h View 2 chunks +2 lines, -0 lines 0 comments Download
M src/pkg/runtime/mcache.c View 3 chunks +2 lines, -5 lines 0 comments Download
M src/pkg/runtime/mgc0.c View 1 8 chunks +106 lines, -44 lines 0 comments Download
M src/pkg/runtime/mheap.c View 2 chunks +10 lines, -2 lines 0 comments Download
M src/pkg/runtime/nacl/386/sys.s View 4 2 chunks +4 lines, -0 lines 0 comments Download
M src/pkg/runtime/nacl/mem.c View 1 chunk +1 line, -3 lines 0 comments Download
M src/pkg/runtime/runtime.h View 1 2 3 4 2 chunks +2 lines, -0 lines 0 comments Download
M src/pkg/runtime/tiny/mem.c View 4 2 chunks +12 lines, -7 lines 0 comments Download
M src/pkg/runtime/windows/mem.c View 2 chunks +10 lines, -4 lines 0 comments Download

Messages

Total messages: 3
rsc
Hello r (cc: golang-dev@googlegroups.com), I'd like you to review this change.
14 years, 6 months ago (2010-09-03 18:42:47 UTC) #1
r
LGTM but the CL description could be more informative
14 years, 6 months ago (2010-09-03 22:51:19 UTC) #2
rsc
14 years, 6 months ago (2010-09-07 13:57:45 UTC) #3
*** Submitted as 9e565ba9293c ***

runtime: use manual stack for garbage collection

Old code was using recursion to traverse object graph.
New code uses an explicit stack, cutting the per-pointer
footprint to two words during the recursion and avoiding
the standard allocator and stack splitting code.

in test/garbage:

Reduces parser runtime by 2-3%
Reduces Peano runtime by 40%
Increases tree runtime by 4-5%

R=r
CC=golang-dev
http://codereview.appspot.com/2150042
Sign in to reply to this message.

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