51220 Commits

Author SHA1 Message Date
Russ Cox
a61bb95497 get rid of per-G Note, avoids per-G kernel semaphore on Mac.
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-24 14:13:07 -07:00
Ken Thompson
5f0a5e7a13 more export
R=r
OCL=15771
CL=15771
2008-09-24 14:12:21 -07:00
Russ Cox
3f106f976a make prof work on linux
R=r
DELTA=18  (11 added, 1 deleted, 6 changed)
OCL=15752
CL=15755
2008-09-24 11:07:21 -07:00
Rob Pike
c79dffd5ef bug: updated wrong counter when combining values
R=rsc
OCL=15751
CL=15751
2008-09-24 10:35:59 -07:00
Russ Cox
5ff12f871f only use mach kernel semaphores for actual contention.
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-24 10:25:28 -07:00
Rob Pike
eea21f8b85 rudimentary real-time profiler.
tested on mac only.
output like this:
	tubenose=% sudo go/src/cmd/prof/6prof -p 71839 -c  -d 10
	63.93%	mach_semaphore_signal
	 4.64%	sys·chansend1
	 3.93%	chanrecv
	 2.86%	semrelease
	 1.43%	cas
	 1.43%	sendchan
	 1.07%	xadd
	 0.71%	main·f
	 0.71%	scheduler
	 0.71%	sys·gosched
	 0.71%	dequeue
	 ...

R=rsc
DELTA=361  (361 added, 0 deleted, 0 changed)
OCL=15731
CL=15736
2008-09-23 18:45:44 -07:00
Rob Pike
7c48a39423 better debuggers:
- follow through segmented stacks
	- a couple of fixes to db

R=rsc
DELTA=72  (62 added, 0 deleted, 10 changed)
OCL=15713
CL=15717
2008-09-23 15:08:39 -07:00
Ken Thompson
1101d406ec more on export
R=r
OCL=15704
CL=15704
2008-09-23 14:16:41 -07:00
Ken Thompson
dc04d096f0 fixed export sort for methods
R=r
OCL=15699
CL=15699
2008-09-23 12:48:52 -07:00
Russ Cox
5383e28ea0 change string([]byte) to pass array, rather than &a[0],
to string convert.  if the byte array has length 0,
the computation of &a[0] throws an index bounds error.

for fixed size arrays, this ends up invoking arrays2d
unnecessarily, but it works.

R=ken
DELTA=304  (44 added, 28 deleted, 232 changed)
OCL=15674
CL=15678
2008-09-22 20:12:15 -07:00
Rob Pike
4d12c0e170 add os.Getenv()
R=rsc
DELTA=51  (50 added, 0 deleted, 1 changed)
OCL=15665
CL=15667
2008-09-22 17:31:41 -07:00
Ken Thompson
4332e0a546 remove extraneous print
R=r
OCL=15666
CL=15666
2008-09-22 17:29:12 -07:00
Ken Thompson
adaec0c4f4 vectors bug
R=r
OCL=15664
CL=15664
2008-09-22 16:58:30 -07:00
Russ Cox
c14924bcc8 implement zoneinfo reader
R=r
DELTA=348  (338 added, 0 deleted, 10 changed)
OCL=15648
CL=15660
2008-09-22 16:41:14 -07:00
Russ Cox
3c17ee69d9 add "once" package
R=r
DELTA=79  (79 added, 0 deleted, 0 changed)
OCL=15656
CL=15656
2008-09-22 16:26:57 -07:00
Russ Cox
ebd1eef41e implement spec: when main.main returns, the program exits
R=r
DELTA=9  (7 added, 2 deleted, 0 changed)
OCL=15628
CL=15643
2008-09-22 13:47:59 -07:00
Russ Cox
fb40f88c40 test cleanup
- 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-22 13:47:53 -07:00
Russ Cox
a27e61e2fe time bug: darwin, linux return microseconds not nanoseconds
R=r
DELTA=2  (0 added, 0 deleted, 2 changed)
OCL=15626
CL=15641
2008-09-22 13:46:57 -07:00
Russ Cox
fb2c66710c compiler changes:
export.c:
		- only expose explicitly exported types to importer
		- fix behind your back
	go.h:
		- add deep() prototype (fixes 64-bit linux crash on time.go)
	go.y:
		- add a new syntax error case
	walk.c:
		- allow a,b = f() where f is func ptr (fixes bug088)

R=ken
OCL=15617
CL=15630
2008-09-22 12:45:01 -07:00
Ken Thompson
8231e94520 now method/interface code
R=r
OCL=15627
CL=15627
2008-09-22 12:16:19 -07:00
Russ Cox
b676b0e125 better yacc rule in Makefile
if y.tab.c is older than y.tab.h, make
interprets doing nothing as a failure,
because y.tab.c hasn't been updated.
so update it.

R=r
DELTA=4  (0 added, 0 deleted, 4 changed)
OCL=15615
CL=15622
2008-09-22 10:56:54 -07:00
Ken Thompson
8a9752dcfb another async select bug
R=r
OCL=15599
CL=15599
2008-09-20 19:56:40 -07:00
Ken Thompson
39a4b1421f bug103 - but the fix caused other
things to break. hopefully all fixed
now.

R=r
OCL=15597
CL=15597
2008-09-20 14:59:15 -07:00
Ken Thompson
1da727a31f fix bugs in asynch select
R=r
OCL=15586
CL=15586
2008-09-19 20:43:30 -07:00
Russ Cox
0e81bba1fe export an os.Error constructor
R=r
DELTA=20  (6 added, 7 deleted, 7 changed)
OCL=15569
CL=15571
2008-09-19 15:23:16 -07:00
Rob Pike
995f938ae3 more nuanced handling of usage message to allow user control.
also print argv(0) in default message

R=gri
DELTA=37  (21 added, 9 deleted, 7 changed)
OCL=15540
CL=15554
2008-09-19 12:52:00 -07:00
Russ Cox
72e3b204e4 add gobuild.
use gobuild-generated Makefile for math and os.
other makefile tweaks.
move math/main.go to test/math.go

R=r
OCL=15529
CL=15537
2008-09-19 11:55:46 -07:00
Russ Cox
5eb9e0621b avoid dereferencing nil type on undefined name.
R=ken
DELTA=12  (12 added, 0 deleted, 0 changed)
OCL=15506
CL=15528
2008-09-19 09:39:09 -07:00
Russ Cox
a67258f380 proper handling of signals.
do not run init on g0.

R=r
DELTA=161  (124 added, 23 deleted, 14 changed)
OCL=15490
CL=15497
2008-09-18 15:56:46 -07:00
Russ Cox
326bb67fbf whitespace
R=r
DELTA=0  (0 added, 0 deleted, 0 changed)
OCL=15492
CL=15494
2008-09-18 15:54:21 -07:00
Russ Cox
aca4f19e20 clean blyacc
R=r
DELTA=1  (0 added, 0 deleted, 1 changed)
OCL=15489
CL=15493
2008-09-18 15:50:28 -07:00
Russ Cox
f74ec00278 add -K flag to check stack underflow
R=ken
DELTA=38  (36 added, 0 deleted, 2 changed)
OCL=15482
CL=15491
2008-09-18 15:41:20 -07:00
Russ Cox
d1d7dc6c42 make blyacc too
R=r
DELTA=1  (0 added, 0 deleted, 1 changed)
OCL=15488
CL=15488
2008-09-18 15:09:48 -07:00
Russ Cox
76036192b9 make Makefiles safe for parallel make
use -j4 (4-way parallel) in make.bash.

halves time for make.bash on r45

also add libregexp, acid to default build

R=r
DELTA=90  (39 added, 37 deleted, 14 changed)
OCL=15485
CL=15487
2008-09-18 15:06:43 -07:00
Russ Cox
899c5281da make acid build on linux.
recognize symbol table info again on 64-only linux.

R=r
DELTA=11  (9 added, 0 deleted, 2 changed)
OCL=15486
CL=15486
2008-09-18 15:06:14 -07:00
Russ Cox
13f3149a01 more helpful messages for name-related syntax errors.
R=ken
OCL=15477
CL=15479
2008-09-18 13:32:14 -07:00
Russ Cox
9f35e8b227 time & date.
rename AddrToInt, StatToInt, etc -> BytePtr, StatPtr, ...

R=r
OCL=15450
CL=15456
2008-09-17 16:20:00 -07:00
Russ Cox
f0635bbfaa Linux bison rejects // comments outside { code snippets }
R=ken
DELTA=1  (0 added, 0 deleted, 1 changed)
OCL=15444
CL=15446
2008-09-17 14:09:44 -07:00
Russ Cox
68209ed5e3 fix printing of -(1<<63)
R=r
OCL=15441
CL=15445
2008-09-17 14:08:52 -07:00
Russ Cox
9350ef4eea add network listening & tests
R=r,presotto
OCL=15410
CL=15440
2008-09-17 13:49:23 -07:00
Ken Thompson
304440356d assignment in select
with new select operator

R=r
OCL=15418
CL=15418
2008-09-16 20:51:50 -07:00
Rob Pike
47919799b4 new grammar:
binary <- is send
	unary <- is recv
	-< is gone
	case a := <-ch: works in select
	case a = <-ch: works in select
support for new cases is not yet in the compiler but all non-select
code works

second CL will update affected go source

R=ken
OCL=15414
CL=15414
2008-09-16 19:14:33 -07:00
Russ Cox
4dfc7f0f14 fix / work around bugs in bufio test
R=r
DELTA=11  (8 added, 0 deleted, 3 changed)
OCL=15405
CL=15405
2008-09-16 14:15:54 -07:00
Russ Cox
e8a02230f2 preliminary network - just Dial for now
R=r,presotto
OCL=15393
CL=15399
2008-09-16 13:42:47 -07:00
Russ Cox
1841f3114e acid fixes etc. still not perfect.
R=r
DELTA=764  (694 added, 38 deleted, 32 changed)
OCL=15285
CL=15395
2008-09-16 12:33:00 -07:00
Ken Thompson
721cb9c6a1 redeclaring methods
R=r
OCL=15375
CL=15375
2008-09-15 19:07:23 -07:00
Ken Thompson
5d5e9f74cb bug - divide and mod of a byte
R=r
OCL=15370
CL=15370
2008-09-15 15:03:10 -07:00
Ken Thompson
d01a1ec260 robs wednesday bug
R=r
OCL=15327
CL=15327
2008-09-14 17:29:50 -07:00
Ken Thompson
2119294af9 methods on any type
-- but only *struct tested

R=r
OCL=15326
CL=15326
2008-09-14 16:57:55 -07:00
Ken Thompson
b9cee1b6c1 package name on signatures thru rename
R=r
OCL=15314
CL=15314
2008-09-13 14:51:39 -07:00