aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/runtime.h
AgeCommit message (Collapse)Author
2008-12-15check printf format stringsRuss Cox
R=r DELTA=18 (16 added, 0 deleted, 2 changed) OCL=21177 CL=21185
2008-12-09chans and maps of interfacesRuss Cox
R=r DELTA=746 (729 added, 1 deleted, 16 changed) OCL=20858 CL=20858
2008-12-05add support for ref counts to memory allocator.Russ Cox
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
2008-12-04add stub routines stackalloc() and stackfree().Russ Cox
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
2008-12-03preparation for exec.Russ Cox
* syscall: add syscall.RawSyscall, which doesn't use sys.entersyscall/sys.exitsyscall add syscall.dup2 add syscall.BytePtrPtr add syscall.Rusage, RusagePtr add syscall.F_GETFD, F_SETFD, FD_CLOEXEC * runtime: clean up, correct signal handling. can now survive (continue running after) a signal. R=r DELTA=394 (286 added, 51 deleted, 57 changed) OCL=20351 CL=20369
2008-11-25change meaning of $GOMAXPROCS to number of cpus to use,Russ Cox
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
2008-11-25use pc/ln table to print source lines in tracebackRuss Cox
r45=; 6.out oops panic PC=0x400316 0x400316?zi /home/rsc/go/src/runtime/rt0_amd64_linux.s:83 main·g(4195177, 0, 4205661, ...) main·g(0x400369, 0x402c5d, 0x403e49, ...) 0x40034c?zi /home/rsc/go/src/runtime/x.go:24 main·f(4205661, 0, 4210249, ...) main·f(0x402c5d, 0x403e49, 0x1, ...) 0x400368?zi /home/rsc/go/src/runtime/x.go:37 main·main(4210249, 0, 1, ...) main·main(0x403e49, 0x1, 0x7fff9d894bd8, ...) 0x402c5c?zi /home/rsc/go/src/runtime/rt0_amd64.s:70 mainstart(1, 0, 2643020760, ...) mainstart(0x1, 0x7fff9d894bd8, 0x0, ...) r45=; R=r DELTA=251 (198 added, 25 deleted, 28 changed) OCL=19965 CL=19979
2008-11-23delete stack mark stringsRuss Cox
in favor of using in-memory copy of symbol table. $ ls -l pretty pretty.big -rwxr-xr-x 1 rsc eng 439516 Nov 21 16:43 pretty -rwxr-xr-x 1 rsc eng 580984 Nov 21 16:20 pretty.big $ R=r DELTA=446 (238 added, 178 deleted, 30 changed) OCL=19851 CL=19884
2008-11-17First pieces of malloc.Russ Cox
R=r DELTA=756 (754 added, 0 deleted, 2 changed) OCL=19266 CL=19378
2008-11-13mike's map codeKen Thompson
R=r OCL=19146 CL=19146
2008-11-10handle Inf, NaN in float printRuss Cox
R=r DELTA=48 (23 added, 14 deleted, 11 changed) OCL=18707 CL=18922
2008-11-05select defaultKen Thompson
R=r OCL=18646 CL=18646
2008-10-07sys.stringtorune doesn't need a length parameter.Rob Pike
R=rsc DELTA=7 (0 added, 0 deleted, 7 changed) OCL=16600 CL=16630
2008-09-26go/acid/goRuss Cox
R=r DELTA=99 (95 added, 1 deleted, 3 changed) OCL=15983 CL=15992
2008-09-24get rid of per-G Note, avoids per-G kernel semaphore on Mac.Russ Cox
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
2008-09-24only use mach kernel semaphores for actual contention.Russ Cox
running rob's powser p.go: 3.21u 2.58s 5.80r 6.out # old 1.48u 0.05s 1.54r 6.out # new R=r OCL=15748 CL=15750
2008-09-22test cleanupRuss Cox
- do not print tracebacks if $GOTRACEBACK=0 - set GOTRACEBACK=0 during tests - filter out pc numbers in errors R=r DELTA=70 (22 added, 30 deleted, 18 changed) OCL=15618 CL=15642
2008-09-22now method/interface codeKen Thompson
R=r OCL=15627 CL=15627
2008-09-18proper handling of signals.Russ Cox
do not run init on g0. R=r DELTA=161 (124 added, 23 deleted, 14 changed) OCL=15490 CL=15497
2008-09-12fix up linux trap handling - INTB 5 gives SEGVRob Pike
R=rsc OCL=15244 CL=15244
2008-09-12fix silly portability bugRob Pike
R=gri OCL=15238 CL=15238
2008-09-12- catch trace trapsRob Pike
- disassemble the instructions in a trace trap to see if it's a run-time trap - if so, print relevant info - avoid double-printing traceback on panic R=ken,rsc DELTA=66 (50 added, 7 deleted, 9 changed) OCL=15199 CL=15224
2008-09-09go threads for OS XRuss Cox
R=r OCL=14944 CL=15013
2008-08-27arraysKen Thompson
R=r OCL=14603 CL=14603
2008-08-05kill trailing white space.Russ Cox
(apparently my first attempt didn't work.) R=r OCL=13888 CL=13888
2008-08-05* comment, clean up schedulerRuss Cox
* 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
2008-08-04first cut at multithreading. works on Linux.Russ Cox
* 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
2008-07-28print tracebacks for all goroutines, not just the crashing oneRob Pike
R=ken OCL=13518 CL=13518
2008-07-25selectKen Thompson
R=r APPROVED=r DELTA=147 (94 added, 14 deleted, 39 changed) OCL=13477 CL=13477
2008-07-24selectKen Thompson
R=r APPROVED=r DELTA=638 (433 added, 21 deleted, 184 changed) OCL=13426 CL=13438
2008-07-20start of selectKen Thompson
random bugs fixed SVN=128149
2008-07-16new (more fifo) schedulint algorithmKen Thompson
newproc will reuse dead procs SVN=127565
2008-07-14add sys.writefile; support for darwin only in this CLRob Pike
SVN=127153
2008-07-14synch chanKen Thompson
SVN=127055
2008-07-13chanKen Thompson
SVN=126958
2008-07-12preserve AX across stack jump so C routines return correct value when ↵Rob Pike
triggering morestack. SVN=126935
2008-07-11segmented stacks AND goroutinesKen Thompson
SVN=126929
2008-07-09defined external registers g and mKen Thompson
SVN=126521
2008-07-08unique import/export namesKen Thompson
more on go statement SVN=126421
2008-07-08add bytestorune and stringtorune to sys.Rob Pike
SVN=126321
2008-07-07update to Unicode 5Rob Pike
SVN=126184
2008-06-30makes stack traces work for segmented stacksRob Pike
SVN=125371
2008-06-30Break runtime.c into separate pieces for maps, strings, print, etc.Rob Pike
Share common assembler for amd64 runtime SVN=125317
2008-06-26add sys.readfile()Rob Pike
add args to linux runtime SVN=124961
2008-06-24middle dot as alpha package separatorKen Thompson
SVN=124419
2008-06-24string nil same as string ""Ken Thompson
SVN=124381
2008-06-21add signal handling and traceback support therein.Rob Pike
factor the runtime into architecture-dependent and -independent pieces. ditto for the OS dependence. SVN=124020
2008-06-16mapsKen Thompson
SVN=123089
2008-06-16print pc on faultsRob Pike
SVN=123030
2008-06-15now checks for lvalue/rvalue context ofKen Thompson
expressions. start of generics for calling builtin functions start of map type 'any' demoted from reserved word to type SVN=122808