|
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%
|
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
|
Total messages: 3
|