Age | Commit message (Collapse) | Author | Files | Lines |
|
only automatic g4 mv here.
R=r
OCL=30002
CL=30007
|
|
avoid tight coupling between deferreturn and jmpdefer.
before, jmpdefer knew the exact frame size of deferreturn
in order to pop it off the stack. now, deferreturn passes
jmpdefer a pointer to the frame above it explicitly.
that avoids a magic constant and should be less fragile.
R=r
DELTA=32 (6 added, 3 deleted, 23 changed)
OCL=29801
CL=29804
|
|
R=ken
OCL=29412
CL=29412
|
|
R=r
OCL=28569
CL=28573
|
|
R=r
DELTA=10 (0 added, 0 deleted, 10 changed)
OCL=27374
CL=27388
|
|
R=r
DELTA=4 (4 added, 0 deleted, 0 changed)
OCL=26983
CL=27041
|
|
160 - 75 was just barely not enough for deferproc + morestack.
added enum names and bumped to 256 - 128.
added explanation.
changed a few mal() (garbage-collected) to
malloc()/free() (manually collected).
R=ken
OCL=26981
CL=26981
|
|
R=r
DELTA=1926 (1727 added, 168 deleted, 31 changed)
OCL=26876
CL=26878
|
|
trying to find all the places where
spans might be recorded.
Free can cascade into complicated
span manipulations that move them
from list to list; the old code had the
possibility of accidentally processing
a span twice or jumping to a different
list, causing an infinite loop.
R=r
DELTA=70 (28 added, 25 deleted, 17 changed)
OCL=23704
CL=23710
|
|
fixes latent bugs in go and defer
R=r
OCL=23613
CL=23613
|
|
R=r
DELTA=43 (29 added, 5 deleted, 9 changed)
OCL=23608
CL=23611
|
|
R=r
OCL=23592
CL=23592
|
|
R=r,gri
DELTA=472 (423 added, 2 deleted, 47 changed)
OCL=23522
CL=23541
|
|
R=r
OCL=22978
CL=22984
|
|
use malloc by default.
free stacks.
R=r
DELTA=424 (333 added, 29 deleted, 62 changed)
OCL=21553
CL=21584
|
|
R=r
DELTA=1551 (1550 added, 0 deleted, 1 changed)
OCL=21404
CL=21538
|
|
R=r
DELTA=6 (5 added, 0 deleted, 1 changed)
OCL=20777
CL=20779
|
|
mark and sweep, stop the world garbage collector
(intermediate step in the way to ref counting).
can run pretty with an explicit gc after each file.
R=r
DELTA=502 (346 added, 143 deleted, 13 changed)
OCL=20630
CL=20635
|
|
run oldstack on g0's stack, just like newstack does,
so that oldstack can free the old stack.
R=r
DELTA=53 (44 added, 0 deleted, 9 changed)
OCL=20404
CL=20433
|
|
not number of threads. can still starve all the other threads,
but only by looping, not by waiting in a system call.
fix darwin syscall.Syscall6 bug.
fix chanclient bug.
delete $GOMAXPROCS from network tests.
add stripped down printf, sys.printhex to runtime.
R=r
DELTA=355 (217 added, 36 deleted, 102 changed)
OCL=20017
CL=20019
|
|
R=r
DELTA=99 (95 added, 1 deleted, 3 changed)
OCL=15983
CL=15992
|
|
2.14u 19.82s 22.17r 6.out 100000 # old
1.87u 0.43s 2.31r 6.out 100000 # new
R=r
OCL=15762
CL=15772
|
|
do not run init on g0.
R=r
DELTA=161 (124 added, 23 deleted, 14 changed)
OCL=15490
CL=15497
|
|
R=r,presotto
OCL=15410
CL=15440
|
|
R=r
OCL=14944
CL=15013
|
|
R=ken
OCL=14981
CL=14981
|
|
(apparently my first attempt didn't work.)
R=r
OCL=13888
CL=13888
|
|
* rewrite lock implementation to be correct
(tip: never assume that an algorithm you found
in a linux man page is correct.)
* delete unneeded void* arg from clone fn
* replace Rendez with Note
* comment mal better
* use 6c -w, fix warnings
* mark all assembly functions 7
R=r
DELTA=828 (338 added, 221 deleted, 269 changed)
OCL=13884
CL=13886
|
|
* kick off new os procs (machs) as needed
* add sys·sleep for testing
* add Lock, Rendez
* properly lock mal, sys·newproc, scheduler
* linux syscall arg #4 is in R10, not CX
* chans are not multithread-safe yet
* multithreading disabled by default;
set $gomaxprocs=2 (or 1000) to turn it on
This should build on OS X but may not.
Rob and I will fix soon after submitting.
TBR=r
OCL=13784
CL=13842
|
|
* rename select (very loaded word) nextgoroutine
* separate out "enter scheduler" (sys·gosched)
from the scheduler itself (scheduler)
R=r
APPROVED=r
DELTA=36 (17 added, 15 deleted, 4 changed)
OCL=13772
CL=13774
|
|
R=ken
OCL=13518
CL=13518
|
|
random bugs fixed
SVN=128149
|
|
[]ptr bug
proc reuses old g* structures
differnt assignment of offsets to parameters
SVN=127888
|
|
newproc will reuse dead procs
SVN=127565
|
|
SVN=127057
|