Commit Graph

261 Commits

Author SHA1 Message Date
Robert Griesemer 081bc69cde - initial version of pidigits.go benchmark
- extra bignum.go functionality for pidigits.go
- tuned bignum multiplication

R=r
DELTA=193  (186 added, 0 deleted, 7 changed)
OCL=32852
CL=32856
2009-08-06 18:16:51 -07:00
Robert Griesemer 2b87d95f01 - allow more general type switch syntax
- support for reverse printing of AST
  (for compiler testing)
- added -reverse flag to gofmt

R=rsc
DELTA=163  (125 added, 11 deleted, 27 changed)
OCL=32808
CL=32853
2009-08-06 17:44:56 -07:00
Rob Pike 7955490de2 add runtime.GOMAXPROCS, allowing a program to, in effect, set $GOMAXPROCS
R=rsc
DELTA=29  (28 added, 1 deleted, 0 changed)
OCL=32829
CL=32837
2009-08-06 13:07:05 -07:00
Robert Griesemer 5876cb0e63 - bufio.ReadRune fix for empty reads w/o errors
- added testcases

R=rsc
DELTA=61  (56 added, 2 deleted, 3 changed)
OCL=32831
CL=32834
2009-08-06 12:05:16 -07:00
Robert Griesemer 2117ad192d minor fix
R=rsc
DELTA=2  (1 added, 1 deleted, 0 changed)
OCL=32828
CL=32830
2009-08-06 10:53:29 -07:00
Robert Griesemer a288095813 - FieldByName lookup through anonymous fields
- FieldByIndex
- changed StructField.Index type from int -> []int
- adjustments to reflect clients

R=rsc,r
DELTA=336  (263 added, 47 deleted, 26 changed)
OCL=32731
CL=32802
2009-08-05 15:56:44 -07:00
Rob Pike 3355cadf3f support []byte (more efficient) as well as string in the interfaces.
change the names; Match is for []byte and MatchString is for string, etc.

R=rsc
DELTA=195  (155 added, 0 deleted, 40 changed)
OCL=32800
CL=32800
2009-08-05 15:44:45 -07:00
Rob Pike 5a4d431dd1 special case: recognize '[^\n]' and make it as fast as '.'
R=rsc
DELTA=25  (23 added, 1 deleted, 1 changed)
OCL=32793
CL=32799
2009-08-05 14:40:34 -07:00
Austin Clements 3776f31144 Make os.RemoveAll return no error if path does not exist.
This fixes a problem introduced by CL 32684 into gobuild,
which used to use 'rm -rf' to remove the _obj directory.

R=rsc
APPROVED=rsc
DELTA=8  (4 added, 0 deleted, 4 changed)
OCL=32794
CL=32796
2009-08-05 14:18:54 -07:00
Russ Cox 4dec8ef35a get function calls out of the way before
allocating registers in shift and div.

fix behavior when res == a reserved register.

R=ken
OCL=32765
CL=32767
2009-08-04 19:16:57 -07:00
Rob Pike 2495c14d5c WriteString
R=rsc
DELTA=41  (41 added, 0 deleted, 0 changed)
OCL=32692
CL=32697
2009-08-03 18:28:05 -07:00
Rob Pike cb9c973829 don't crash printing a nil map
R=rsc
DELTA=19  (18 added, 0 deleted, 1 changed)
OCL=32656
CL=32670
2009-08-03 13:34:20 -07:00
Robert Griesemer 178089056e printer.go:
- emit line tag id's in html mode
- support for general html tags
- better names for a few identifiers

godoc.go:
- emit links from exported names to source code
  (actual placement needs fine-tuning)

R=rsc
DELTA=108  (68 added, 4 deleted, 36 changed)
OCL=32639
CL=32654
2009-08-03 09:53:00 -07:00
Robert Griesemer 22ec539920 fix long-standing bug in doc reader:
- replace forward-declared types with complete
  declaration when it is found

R=rsc
DELTA=23  (15 added, 0 deleted, 8 changed)
OCL=32618
CL=32618
2009-07-31 18:40:11 -07:00
Robert Griesemer 62718fb5d4 printer:
- prepare for generation of HTML id tags and links
- do HTML-escaping in central print routine
- move tabwriter setup into printer
- fixed various TODOs

godoc:
- removed tabwriter setup, need for various HTML-escaping

R=rsc
DELTA=210  (107 added, 36 deleted, 67 changed)
OCL=32612
CL=32616
2009-07-31 18:04:53 -07:00
Rob Pike 9f2f8eadb6 add test of invariant in findVar
R=rsc
DELTA=23  (23 added, 0 deleted, 0 changed)
OCL=32592
CL=32595
2009-07-31 12:52:03 -07:00
Rob Pike 783986c64b delete unused arg to empty.
add commentary about findVar's invariant.

R=rsc
DELTA=6  (3 added, 0 deleted, 3 changed)
OCL=32583
CL=32594
2009-07-31 12:42:29 -07:00
Rob Pike 318b67cb73 make %v and %p consistent
R=rsc
DELTA=1  (0 added, 0 deleted, 1 changed)
OCL=32591
CL=32593
2009-07-31 12:42:21 -07:00
Robert Griesemer 9299ae461d - don't call String method of AST nodes when converting them to text
- make token.Position.String more robust

TBR=rsc
DELTA=20  (10 added, 6 deleted, 4 changed)
OCL=32564
CL=32564
2009-07-30 19:39:47 -07:00
Robert Griesemer c670dc450b bug fix
R=rsc
OCL=32563
CL=32563
2009-07-30 19:29:31 -07:00
Rob Pike d9c914e985 dotted names
R=rsc
DELTA=28  (19 added, 0 deleted, 9 changed)
OCL=32550
CL=32554
2009-07-30 18:17:07 -07:00
Robert Griesemer 90e6656c51 go/ast/filter.go:
- more orthogonal functionality of filter functions for better re-use

go/doc/doc.go:
- simplified interface
- collect filenames of packages so that they can be shown

godoc:
- removed TODO, show list of package (linked) files used to create documentation

R=rsc
DELTA=130  (68 added, 24 deleted, 38 changed)
OCL=32549
CL=32552
2009-07-30 18:13:55 -07:00
Austin Clements 9717a794f4 String method for token.Position. Extracted from gri's tree.
R=gri
APPROVED=gri
DELTA=33  (20 added, 6 deleted, 7 changed)
OCL=32544
CL=32546
2009-07-30 16:58:19 -07:00
Rob Pike 07a497fee0 fix a long-standing typo
R=rsc
DELTA=2  (0 added, 0 deleted, 2 changed)
OCL=32540
CL=32545
2009-07-30 16:57:46 -07:00
Rob Pike 98607d01fc handle unsupported types safely.
R=rsc
DELTA=154  (71 added, 6 deleted, 77 changed)
OCL=32483
CL=32492
2009-07-29 17:24:25 -07:00
Robert Griesemer 312bd7a1fc parser:
- Changed filter function for parser.ParsePackage to
  take an *os.Dir instead of a filename for more
  powerful filters

- Removed TODO in ast.PackageInterface: Now collect
  package comments from all package files

- Cleanups in godoc: Use the new ParsePackage and
  PackageInterface functions; as a result computing
  package information is much simpler now.

R=rsc
DELTA=285  (80 added, 110 deleted, 95 changed)
OCL=32473
CL=32486
2009-07-29 17:01:09 -07:00
Robert Griesemer f9057c7b59 break tabwriter columns when starting a new block of indented statements
R=r
DELTA=16  (15 added, 0 deleted, 1 changed)
OCL=32475
CL=32481
2009-07-29 16:23:17 -07:00
Rob Pike 43c7fc04b8 fix typo
R=rsc
OCL=32472
CL=32472
2009-07-29 15:33:12 -07:00
Rob Pike 1fc0960fb4 clean up EOF
R=rsc
DELTA=5  (0 added, 1 deleted, 4 changed)
OCL=32465
CL=32467
2009-07-29 15:24:42 -07:00
Rob Pike 1f6e18fdce handle some error conditions involving bad data.
R=rsc
DELTA=32  (24 added, 1 deleted, 7 changed)
OCL=32461
CL=32463
2009-07-29 15:10:29 -07:00
Rob Pike 75e0569b99 statistics HTML page for rpc
R=rsc
DELTA=121  (115 added, 0 deleted, 6 changed)
OCL=32427
CL=32429
2009-07-29 13:26:49 -07:00
Russ Cox 9346c6d901 make every func literal expression allocate,
so that == on func means that the
functions originated in the same
execution of a func literal or definition.

before, there was an inconsistency:

	func() {x++} != func() {x++}

but

	func() {} == func() {}

this CL makes the second case != too,
just like

	make(map[int]int) != make(map[int]int)

R=r
DELTA=202  (71 added, 62 deleted, 69 changed)
OCL=32393
CL=32398
2009-07-28 20:01:00 -07:00
David Symonds 83940d7c4a Add a unique list ID to list elements, and verify it as necessary.
This makes the list closed under its provided operations.

R=rsc,gri
APPROVED=rsc
DELTA=18  (14 added, 0 deleted, 4 changed)
OCL=32388
CL=32395
2009-07-28 18:19:16 -07:00
Robert Griesemer 40a66ef59e missed changes to Makefiles for container/ring
R=rsc
DELTA=3  (3 added, 0 deleted, 0 changed)
OCL=32389
CL=32392
2009-07-28 17:52:30 -07:00
Rob Pike b85147cd70 change the encoding of uints to simplify overflow checking and to make them
easier and faster to read.  they are now either a one-byte value or a n-byte value
preceded by a byte holding -n.

R=rsc
DELTA=150  (45 added, 7 deleted, 98 changed)
OCL=32381
CL=32387
2009-07-28 17:20:19 -07:00
Russ Cox 123ff2ebb8 bug177: anonymous struct fields in reflect
(reported by iant)

R=r
DELTA=50  (32 added, 12 deleted, 6 changed)
OCL=32263
CL=32385
2009-07-28 17:01:46 -07:00
Robert Griesemer 2210a643b7 Intersperse comments nicely when printing an AST.
gofmt formatted source code looks pretty good already;
with a bit more fine-tuning it should be great.

printer.go:
- Implemented comment intersperse algorithm.
  The approach is a result of many trial-and-error
  experiments but at this point reasonably simple
  and open to arbitrary fine-tuning.

parser.go:
- Simplified handling of lead and line comments
  (formerly called leading and trailing comments).
- Use a comments list instead of an array (I may
  change this back - this is not obviously better
  and uses more space).

doc.go:
- Remove comments from AST nodes that have been
  'consumed' in the documentation to avoid duplicate
  printing of them. Allows for better control of
  what is printed w/o use of printing control flags
  (which are hard to use and not fine-grained enough).

Corresponding adjustments to various clients of these
files.

R=rsc
DELTA=478  (275 added, 108 deleted, 95 changed)
OCL=32185
CL=32380
2009-07-28 16:38:59 -07:00
Robert Griesemer d27bae5033 Fixed typos in comments.
TBR=rsc
OCL=32330
CL=32330
2009-07-28 15:03:05 -07:00
Robert Griesemer 6d3d25de21 Ring ADT.
- Provides analogous functionality to a doubly-linked list
  implementation.
- Completely symmetric set of operations.
- Operations on the ADT do not lead to results that are
  outside the domain of the ADT (closed interface).
- Alternative to container/list.

R=rsc
DELTA=489  (489 added, 0 deleted, 0 changed)
OCL=32284
CL=32323
2009-07-28 14:54:49 -07:00
Russ Cox e50d3ba7e4 floating-point limits and equations
R=r
DELTA=13  (8 added, 2 deleted, 3 changed)
OCL=32291
CL=32322
2009-07-28 14:50:50 -07:00
Rob Pike 483e4fc409 - clean up code creating keys for type maps
- derive int, uint, float, uintptr decoders based on their size
- add overflow checks in decode

R=rsc
DELTA=407  (281 added, 44 deleted, 82 changed)
OCL=32286
CL=32290
2009-07-28 12:59:39 -07:00
Rob Pike 08b5b4843b constants for integer limits
R=rsc
DELTA=16  (16 added, 0 deleted, 0 changed)
OCL=32288
CL=32288
2009-07-28 12:57:33 -07:00
Rob Pike 326de9ca97 constants for floating point limits
R=rsc
DELTA=5  (5 added, 0 deleted, 0 changed)
OCL=32283
CL=32287
2009-07-28 11:53:16 -07:00
Rob Pike 5b1d52e81d document rpc.
R=rsc
DELTA=160  (124 added, 0 deleted, 36 changed)
OCL=32233
CL=32256
2009-07-27 17:25:41 -07:00
Ivan Krasin b388d84013 Fixed a small bug with compress/flate/Inflater. It incorrectly checked
the size of chunk with uncompressed data (00 is terms of DEFLATE).

APPROVED=rsc
DELTA=15  (14 added, 0 deleted, 1 changed)
OCL=32105
CL=32238
2009-07-27 14:33:21 -07:00
Russ Cox 7729c3f955 fix gc bug causing make smoketest to die in cmd/gofmt.
saving of sp was too far away from use in scanstack;
the stack had changed since the sp was saved.

R=r
DELTA=9  (4 added, 2 deleted, 3 changed)
OCL=32232
CL=32237
2009-07-27 14:16:28 -07:00
Russ Cox ca01716934 fix build - broke with uint32 -> int change in reflect SliceHeader
TBR=r
OCL=32225
CL=32225
2009-07-27 11:23:49 -07:00
Rob Pike 5aa174557a clean up for public use: make some stuff private, add doc comments.
R=rsc
DELTA=298  (202 added, 0 deleted, 96 changed)
OCL=32006
CL=32224
2009-07-27 11:02:06 -07:00
Russ Cox 3ff5e727e2 fix bug in CL 30057: missed if+continue in one place.
R=gri
DELTA=2  (2 added, 0 deleted, 0 changed)
OCL=32214
CL=32223
2009-07-27 10:59:59 -07:00
Russ Cox 22ea3f9e49 fix SliceHeader: len and cap are int, not uint32
R=r,iant
DELTA=2  (0 added, 0 deleted, 2 changed)
OCL=32215
CL=32222
2009-07-27 10:59:37 -07:00