1
0
mirror of https://github.com/golang/go synced 2024-11-18 23:34:45 -07:00
Commit Graph

721 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
Robert Griesemer
83267dce11 - added initial formatting: indentation
- more AST nodes built and printed

R=r
OCL=15735
CL=15735
2008-09-23 18:34:17 -07:00
Robert Griesemer
09bed25621 - snapshot of pretty printer status
- parts of AST built and printed
- no formatting yet

R=r
OCL=15727
CL=15727
2008-09-23 16:40:12 -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
Robert Griesemer
b390608636 - added gccgo makefile
R=r
OCL=15693
CL=15695
2008-09-23 11:17:44 -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
Robert Griesemer
c13c03c261 - first cut at building and printing AST
R=r
OCL=15675
CL=15675
2008-09-22 18:26:12 -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
173ca8a2d0 re-fix bug067, update golden.out
R=r
DELTA=9  (4 added, 3 deleted, 2 changed)
OCL=15655
CL=15655
2008-09-22 16:16:22 -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
Ian Lance Taylor
128f052891 Correct two web links, add missing semicolon after &lt.
R=r
DELTA=3  (0 added, 0 deleted, 3 changed)
OCL=15619
CL=15624
2008-09-22 11:29:40 -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
Rob Pike
9ebd9d3b7d fix some tests
R=ken
OCL=15598
CL=15598
2008-09-20 15:16:48 -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
934a19fa4b channel test
R=r
OCL=15587
CL=15587
2008-09-19 20:52:59 -07:00
Ken Thompson
1da727a31f fix bugs in asynch select
R=r
OCL=15586
CL=15586
2008-09-19 20:43:30 -07:00
Robert Griesemer
d910e90edd - heuristics for parsing composite literals in some cases
- fixed result parsing of function types

R=r
OCL=15585
CL=15585
2008-09-19 18:06:53 -07:00
Robert Griesemer
b90b213e61 Updated spec:
- clarified constants and constant expressions
- clarified type of array composite literals (fixed vs open arrays)
- clarified type of map composite literals (need to use '&' to get
  a map pointer)
- added proposal for "if-else" (TBD)
- added TODO w/ respect to "x, ok = <-ch" (and for arrays)

R=r
DELTA=51  (35 added, 0 deleted, 16 changed)
OCL=15573
CL=15575
2008-09-19 15:49:55 -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
Ian Lance Taylor
66b261a082 Check for specific error messages in the testsuite. This
permits testing that the compiler emits error messages for
specific lines that match egrep regexps.  The desired error
messages are expressed using comments of the form
	// ERROR "regexp"

R=r
DELTA=90  (73 added, 8 deleted, 9 changed)
OCL=15513
CL=15566
2008-09-19 14:39:49 -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
Robert Griesemer
bf04eefddf - simplified parser by better factoring
R=r
OCL=15539
CL=15542
2008-09-19 12:12:28 -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
Robert Griesemer
26adb31c30 - fix for out-of-bounds error found by rsc
- removed tests that may have wrong Go code from Makefile

R=r
OCL=15532
CL=15532
2008-09-19 10:56:35 -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
Robert Griesemer
6e08991eba - fixed another parser bug, now correctly parse more tests
R=r
OCL=15518
CL=15518
2008-09-18 23:30:32 -07:00
Robert Griesemer
6a0fb60866 - added item to TODO list in go_spec
- filed a bug

R=r
OCL=15517
CL=15517
2008-09-18 23:16:22 -07:00
Robert Griesemer
2b70c6add3 - fixed old test cases with wrong syntax
- added more test cases to Makefile
- fixed another parser issue (possibly a 6g bug - to be tracked down)

R=r
OCL=15516
CL=15516
2008-09-18 23:09:07 -07:00
Robert Griesemer
a1ee6804dd - fixed bug which prevented parser.go from compiling
(typo in ptr decl lead to an unresolved forward declaration)
- fixed parser bugs
- fixed Makefile
- now successfully parses most code

Issues:
- composite literals (cannot be identified easily from syntax alone)
- new(T, ...) (cannot be identified easily from syntax alone since
  new is not a keyword and thus could be a different function then
  the allocation function at which point "new((x + y))" is legal,
  but the inner "(x" looks like the beginning of a function type)

R=r
OCL=15515
CL=15515
2008-09-18 22:53:54 -07:00
Robert Griesemer
81d7c51837 First cut at a Go pretty printer:
- code scavenged from Go-in-Go front-end (will merge back)
- using "symbol-table" free parsing to build AST
- no printing yet

R=r
OCL=15504
CL=15504
2008-09-18 16:58:37 -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