]>
Cypherpunks repositories - gostls13.git/log
Ken Thompson [Thu, 4 Nov 2010 00:31:07 +0000 (17:31 -0700)]
add hardware floating point.
currently, softfloat does not work and
there are some unsigned-to-float conversion errors.
R=rsc
CC=golang-dev
https://golang.org/cl/
2886041
Rob Pike [Wed, 3 Nov 2010 19:20:37 +0000 (12:20 -0700)]
units: fix compilation
R=ken2, ken3
CC=golang-dev
https://golang.org/cl/
2865041
Rob Pike [Wed, 3 Nov 2010 18:09:43 +0000 (11:09 -0700)]
Effective Go: correct error in recent edit: "..." is in call to Sprintln, not Output.
R=rsc, gri
CC=golang-dev
https://golang.org/cl/
2853042
Adam Langley [Wed, 3 Nov 2010 14:43:43 +0000 (10:43 -0400)]
crypto: switch block ciphers to detination first.
Previously all the functions took two arguments: src, dst. This is the
reverse of the usual Go style and worth changing sooner rather than
later.
Unfortunately, this is a change that the type system doesn't help
with. However, it's not a subtle change: any unittest worth the name
should catch this.
R=rsc, r
CC=golang-dev
https://golang.org/cl/
2751042
Adam Langley [Wed, 3 Nov 2010 14:39:15 +0000 (10:39 -0400)]
crypto: add cast5
CAST5 is the default OpenPGP cipher.
(This won't make Rob any happier about the size of crypto/, of course.)
It already has dst, src in that order but it doesn't have any users yet so I figure it's better than changing it later.
R=rsc, gri, r
CC=golang-dev
https://golang.org/cl/
2762042
Andrew Gerrand [Wed, 3 Nov 2010 00:50:52 +0000 (11:50 +1100)]
tag release.2010-11-02
R=r
CC=golang-dev
https://golang.org/cl/
2848041
Andrew Gerrand [Wed, 3 Nov 2010 00:49:22 +0000 (11:49 +1100)]
release.2010-11-02
R=golang-dev, gri, r2, r
CC=golang-dev
https://golang.org/cl/
2846041
Robert Griesemer [Tue, 2 Nov 2010 23:01:07 +0000 (16:01 -0700)]
sync: fix typo in documentation
R=rsc, adg
CC=golang-dev
https://golang.org/cl/
2841041
Kai Backman [Tue, 2 Nov 2010 21:04:56 +0000 (14:04 -0700)]
Fix a deadlock bug in the rpc client. The panic will trigger
regularly when client connections are flaky (probably another
issue).
(credits to jussi@tinkercad.com for finding the issue)
R=rsc, r
CC=golang-dev, jussi
https://golang.org/cl/
2831042
Rob Pike [Tue, 2 Nov 2010 17:58:27 +0000 (10:58 -0700)]
netchan: fix locking bug.
There's no need to hold the client mutex when calling encode, since encode itself
uses a mutex to make the writes atomic. However, we need to keep
the messages ordered, so add a mutex for that purpose alone.
Fixes #1244.
R=rsc
CC=golang-dev
https://golang.org/cl/
2833041
Robert Griesemer [Tue, 2 Nov 2010 17:38:07 +0000 (10:38 -0700)]
go/scanner: removed scanner/internal-only uses of token.Position
First step towards a more light-weight implementation of token.Position:
- only use token.Position for reporting token and error position
- use offsets only for scanner control
- no interface changes yet
R=rsc
CC=golang-dev
https://golang.org/cl/
2825041
Rob Pike [Tue, 2 Nov 2010 04:46:04 +0000 (21:46 -0700)]
Effective Go: append and a few words about ...
R=rsc, gri, iant
CC=golang-dev
https://golang.org/cl/
2821041
Rob Pike [Tue, 2 Nov 2010 00:49:06 +0000 (17:49 -0700)]
test/ken/convert.go: add conversion torture test
(written by ken)
R=ken2
CC=golang-dev
https://golang.org/cl/
2823042
Alex Brainman [Mon, 1 Nov 2010 23:56:56 +0000 (10:56 +1100)]
8l: pe generation fixes
Restore ability to have different file and
section alignment in generated pe file.
Stop generating .bss pe section, it is
part of .data now.
Some code refactoring.
R=rsc, vcc
CC=golang-dev
https://golang.org/cl/
2731041
Robert Griesemer [Mon, 1 Nov 2010 22:25:39 +0000 (15:25 -0700)]
fix build
R=rsc
CC=golang-dev
https://golang.org/cl/
2820041
Brad Fitzpatrick [Mon, 1 Nov 2010 22:21:35 +0000 (15:21 -0700)]
Use strings.Contains in src/cmd/...
R=r
CC=golang-dev, r2, rsc
https://golang.org/cl/
2819041
Robert Griesemer [Mon, 1 Nov 2010 22:08:03 +0000 (15:08 -0700)]
go/printer: do not remove parens around composite literals starting with a type name in control clauses
(even when they are nested inside an expression).
Fixes #1243.
R=rsc
CC=golang-dev
https://golang.org/cl/
2817041
Robert Griesemer [Mon, 1 Nov 2010 22:06:34 +0000 (15:06 -0700)]
go/ast: add Inspect function for easy AST inspection w/o a visitor
R=rsc
CC=golang-dev
https://golang.org/cl/
2770044
Wei Guangjing [Mon, 1 Nov 2010 21:52:26 +0000 (17:52 -0400)]
debug/pe, cgo: add windows support
R=rsc, mattn
CC=golang-dev
https://golang.org/cl/
1976045
Brad Fitzpatrick [Mon, 1 Nov 2010 21:32:48 +0000 (14:32 -0700)]
strings: Contains
Tiny helper to avoid strings.Index(s, sub) != -1
R=rsc, r2, r
CC=golang-dev
https://golang.org/cl/
2265044
Rob Pike [Mon, 1 Nov 2010 21:23:07 +0000 (14:23 -0700)]
gotest: if the benchmark list is empty, print it in a way that
gofmt will leave alone.
R=rsc, bradfitz, bradfitzpatrick
CC=golang-dev
https://golang.org/cl/
2816041
Albert Strasheim [Mon, 1 Nov 2010 20:42:33 +0000 (16:42 -0400)]
syscall: SIO constants for Linux
R=rsc
CC=golang-dev
https://golang.org/cl/
2303043
Fazlul Shahriar [Mon, 1 Nov 2010 20:37:17 +0000 (16:37 -0400)]
codereview: fix 'hg sync' and 'hg download' in Python 2.7
Fixes #1218.
R=rsc
CC=golang-dev
https://golang.org/cl/
2664041
Roger Peppe [Mon, 1 Nov 2010 20:15:17 +0000 (16:15 -0400)]
testing: add Benchmark to allow benchmarks to be run without gotest.
R=rsc
CC=golang-dev
https://golang.org/cl/
2506042
Michael Hoisie [Mon, 1 Nov 2010 20:15:03 +0000 (16:15 -0400)]
http server: don't send trailing '0' for chunked encoding when responding with 304 NotModified
R=rsc, adg
CC=golang-dev
https://golang.org/cl/
2723041
Russ Cox [Mon, 1 Nov 2010 20:14:58 +0000 (16:14 -0400)]
build: fiddle with make variables
Fixes #1234.
R=r, r2
CC=golang-dev
https://golang.org/cl/
2735043
Anthony Martin [Mon, 1 Nov 2010 20:14:48 +0000 (16:14 -0400)]
libutf: update to Unicode 5.2.0 to match pkg/unicode
R=rsc, r, PeterGo, r2
CC=golang-dev
https://golang.org/cl/
2753045
Evan Shaw [Mon, 1 Nov 2010 20:14:43 +0000 (16:14 -0400)]
6a/6l: fix MOVOU encoding
The andproto field was set incorrectly, causing 6a to encode illegal
instructions.
R=rsc
CC=golang-dev
https://golang.org/cl/
2781042
Robert Griesemer [Mon, 1 Nov 2010 19:50:21 +0000 (12:50 -0700)]
go/scanner: don't accept '\x0g' character escape (bug fix)
Added more test cases.
R=rsc
CC=golang-dev
https://golang.org/cl/
2804041
Rob Pike [Mon, 1 Nov 2010 00:48:19 +0000 (17:48 -0700)]
gob: documentation. this time for sure.
if the interface value is nil, it sends no value,
R=rsc, adg
CC=golang-dev
https://golang.org/cl/
2801042
Rob Pike [Mon, 1 Nov 2010 00:46:26 +0000 (17:46 -0700)]
mkrunetype: install a Makefile and tweak it slightly so it can be built.
R=rsc
CC=golang-dev
https://golang.org/cl/
2813041
Rob Pike [Sun, 31 Oct 2010 22:08:45 +0000 (15:08 -0700)]
gob: update documentation about wire format for interfaces.
R=rsc
CC=golang-dev
https://golang.org/cl/
2814041
Rob Pike [Sun, 31 Oct 2010 20:41:30 +0000 (13:41 -0700)]
gob: several fixes.
1) Be sure to use the eval-time encoder/decoder rather than
the compile-time decoder. In a few cases the receiver for
the compiling encoder was being pickled incorrectly into a
closure.
(This is the fix for issue 1238).
2) Get the innermost name right when given a pointer to an
unnamed type.
3) Use a count to delineate interface values, making it
possible to ignore values without having a concrete type
to encode into. This is a protocol change but only for the
new feature, so it shouldn't affect anyone. The old test
worked because, amazingly, it depended on bug #1.
Fixes #1238.
R=rsc, albert.strasheim
CC=golang-dev
https://golang.org/cl/
2806041
Evan Shaw [Sun, 31 Oct 2010 04:25:19 +0000 (21:25 -0700)]
kate: update for append
R=golang-dev, PeterGo, gri
CC=golang-dev
https://golang.org/cl/
2710044
Evan Shaw [Sun, 31 Oct 2010 03:16:44 +0000 (20:16 -0700)]
pidigits: Remove TODO, minor improvements
I tried adding a Scale method to big.Int and it didn't make any noticeable
difference, so I'm removing my TODO.
Also got rid of a few obvious allocations that I missed earlier for a modest
improvement (~5%).
R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/
2711043
Alex Brainman [Sat, 30 Oct 2010 12:55:22 +0000 (23:55 +1100)]
syscall: fix windows build
R=golang-dev
CC=golang-dev
https://golang.org/cl/
2713043
Alex Brainman [Sat, 30 Oct 2010 12:06:49 +0000 (23:06 +1100)]
syscall: fix Stat(path) where path is directory with trailing '/' on windows
Fixes #1220.
R=rsc, r
CC=golang-dev
https://golang.org/cl/
2728043
Anthony Starks [Sat, 30 Oct 2010 11:15:59 +0000 (22:15 +1100)]
misc/bbedit: support append, other builtins
R=golang-dev, PeterGo, adg
CC=golang-dev
https://golang.org/cl/
2791042
David Symonds [Sat, 30 Oct 2010 11:07:01 +0000 (22:07 +1100)]
misc/vim: update list of builtins.
R=adg
CC=golang-dev
https://golang.org/cl/
2807041
Rob Pike [Fri, 29 Oct 2010 22:52:25 +0000 (15:52 -0700)]
gob: clarify the comments about installing the debug/dumper.
R=rsc
CC=golang-dev
https://golang.org/cl/
2789043
Rob Pike [Fri, 29 Oct 2010 22:07:56 +0000 (15:07 -0700)]
gob: make the debugging (dumping) code work again. Mostly rewrite it, in fact.
It's still not compiled in by default.
R=rsc, r2
CC=golang-dev
https://golang.org/cl/
2754043
Robert Griesemer [Fri, 29 Oct 2010 22:07:04 +0000 (15:07 -0700)]
go/scanner: added another test case, clarified some code
R=rsc
CC=golang-dev
https://golang.org/cl/
2741042
Robert Griesemer [Fri, 29 Oct 2010 18:44:48 +0000 (11:44 -0700)]
go spec: append is now implemented
R=r, r2
CC=golang-dev
https://golang.org/cl/
2717043
Robert Griesemer [Fri, 29 Oct 2010 04:23:24 +0000 (21:23 -0700)]
ebnf: use append
R=r, rsc
CC=golang-dev
https://golang.org/cl/
2799041
Robert Griesemer [Fri, 29 Oct 2010 04:23:04 +0000 (21:23 -0700)]
tabwriter: use append
R=rsc
CC=golang-dev
https://golang.org/cl/
2798041
Robert Griesemer [Fri, 29 Oct 2010 00:26:01 +0000 (17:26 -0700)]
go/doc: use append
R=rsc
CC=golang-dev
https://golang.org/cl/
2792041
Rob Pike [Thu, 28 Oct 2010 23:54:24 +0000 (16:54 -0700)]
testing: eliminate testing/regexp
Rather than updating the stripped-down regexp implementation embedded
in testing, delete it by passing the one function we need from the package
main file created by gotest.
R=rsc
CC=golang-dev
https://golang.org/cl/
2761043
Rob Pike [Thu, 28 Oct 2010 22:54:01 +0000 (15:54 -0700)]
regexp: eliminate vector in favor of append.
R=rsc
CC=golang-dev
https://golang.org/cl/
2795041
Robert Griesemer [Thu, 28 Oct 2010 22:09:47 +0000 (15:09 -0700)]
go/printer: use append
R=rsc
CC=golang-dev
https://golang.org/cl/
2793041
Robert Griesemer [Thu, 28 Oct 2010 22:09:21 +0000 (15:09 -0700)]
go/typechecker: use append
R=rsc
CC=golang-dev
https://golang.org/cl/
2736044
Andrew Gerrand [Thu, 28 Oct 2010 21:48:16 +0000 (08:48 +1100)]
container/list: document iteration
R=rsc
CC=golang-dev
https://golang.org/cl/
2768042
Robert Griesemer [Thu, 28 Oct 2010 20:36:28 +0000 (13:36 -0700)]
go/parser: use append
R=rsc
CC=golang-dev
https://golang.org/cl/
2720042
Robert Griesemer [Thu, 28 Oct 2010 15:44:25 +0000 (08:44 -0700)]
godoc: bug fix (bug introduced with revision
3ee58453e961 )
(thanks to Chris Dollin for identifying the cause)
Fixes #1237.
R=rsc
CC=golang-dev
https://golang.org/cl/
2753043
Robert Griesemer [Thu, 28 Oct 2010 15:14:31 +0000 (08:14 -0700)]
test for append() built-in
R=r, rsc
CC=golang-dev
https://golang.org/cl/
2777041
Russ Cox [Thu, 28 Oct 2010 02:47:23 +0000 (19:47 -0700)]
use append
R=gri, r, r2
CC=golang-dev
https://golang.org/cl/
2743042
Russ Cox [Thu, 28 Oct 2010 00:56:32 +0000 (17:56 -0700)]
gc: implement append
R=ken2
CC=golang-dev
https://golang.org/cl/
2757042
Russ Cox [Thu, 28 Oct 2010 00:31:37 +0000 (17:31 -0700)]
retag release to avoid hg bug
R=adg, golang-dev, r2
CC=golang-dev
https://golang.org/cl/
2782041
Andrew Gerrand [Thu, 28 Oct 2010 00:21:44 +0000 (11:21 +1100)]
tag release.2010-10-27
R=rsc
CC=golang-dev
https://golang.org/cl/
2778042
Andrew Gerrand [Thu, 28 Oct 2010 00:19:52 +0000 (11:19 +1100)]
release.2010-10-27
R=rsc
CC=golang-dev
https://golang.org/cl/
2747044
Andrew Gerrand [Thu, 28 Oct 2010 00:05:56 +0000 (11:05 +1100)]
rpc: expose Server type to allow multiple RPC Server instances
R=r, rsc, msolo, sougou
CC=golang-dev
https://golang.org/cl/
2696041
Robert Griesemer [Wed, 27 Oct 2010 17:44:31 +0000 (10:44 -0700)]
go spec: clarify return type of append, argument type for ...T parameters
R=iant, ken2, r, rsc
CC=golang-dev
https://golang.org/cl/
2774041
Brad Fitzpatrick [Wed, 27 Oct 2010 11:48:18 +0000 (22:48 +1100)]
image/png: speed up paletted encoding ~25%
Avoids a lot of redundant bounds checks.
R=nigeltao, rsc
CC=golang-dev
https://golang.org/cl/
2678041
Russ Cox [Wed, 27 Oct 2010 04:52:54 +0000 (21:52 -0700)]
use copy
R=gri
CC=golang-dev
https://golang.org/cl/
2763041
Russ Cox [Wed, 27 Oct 2010 04:11:17 +0000 (21:11 -0700)]
5g, 6g, 8g: generate code for string index
instead of calling function.
R=ken2
CC=golang-dev
https://golang.org/cl/
2762041
Russ Cox [Wed, 27 Oct 2010 04:10:17 +0000 (21:10 -0700)]
big: arm assembly, faster software mulWW, divWW
Reduces time spent running crypto/rsa test by 65%.
Fixes #1227.
R=gri, PeterGo
CC=golang-dev
https://golang.org/cl/
2743041
Robert Griesemer [Wed, 27 Oct 2010 03:30:35 +0000 (20:30 -0700)]
go spec: note re: append() not being implemented yet
R=rsc
CC=golang-dev
https://golang.org/cl/
2761041
Andrew Gerrand [Wed, 27 Oct 2010 00:27:52 +0000 (11:27 +1100)]
builder: pass GOHOSTOS and GOHOSTARCH to build
R=rsc
CC=golang-dev
https://golang.org/cl/
2759041
Rob Pike [Wed, 27 Oct 2010 00:07:39 +0000 (17:07 -0700)]
gob: must register basic types to store them in interfaces.
Fixes #1230.
R=rsc
CC=golang-dev
https://golang.org/cl/
2750041
Nigel Tao [Tue, 26 Oct 2010 23:46:00 +0000 (10:46 +1100)]
gob: package doc fixes.
R=r, r2, nigeltao_gnome
CC=golang-dev
https://golang.org/cl/
2748041
Russ Cox [Tue, 26 Oct 2010 15:36:23 +0000 (08:36 -0700)]
test copy([]byte, string)
R=r, r2
CC=golang-dev
https://golang.org/cl/
2740041
Russ Cox [Tue, 26 Oct 2010 15:36:07 +0000 (08:36 -0700)]
gc, runtime: copy([]byte, string)
R=ken2
CC=golang-dev
https://golang.org/cl/
2741041
Russ Cox [Tue, 26 Oct 2010 15:34:40 +0000 (08:34 -0700)]
install doc: arm is a little better
R=adg, r, r2
CC=golang-dev
https://golang.org/cl/
2749041
Andrew Gerrand [Tue, 26 Oct 2010 05:29:21 +0000 (16:29 +1100)]
doc: update roadmap
R=rsc
CC=golang-dev
https://golang.org/cl/
2735042
Andrew Gerrand [Tue, 26 Oct 2010 05:18:12 +0000 (16:18 +1100)]
doc: update roadmap
R=r, rsc, iant
CC=golang-dev
https://golang.org/cl/
2312042
Russ Cox [Tue, 26 Oct 2010 04:25:13 +0000 (21:25 -0700)]
arm: enable all tests
ARM functionality is now completely working.
(Or if it's not, we'll fix it.)
R=ken2
CC=golang-dev
https://golang.org/cl/
2738041
Robert Griesemer [Tue, 26 Oct 2010 01:11:00 +0000 (18:11 -0700)]
godoc: show page title in browser title bar
Fixes #1158.
R=adg
CC=golang-dev
https://golang.org/cl/
2736041
Russ Cox [Tue, 26 Oct 2010 01:00:42 +0000 (18:00 -0700)]
debug/gosym: do not run when cross-compiling
R=r
CC=golang-dev
https://golang.org/cl/
2737041
Russ Cox [Tue, 26 Oct 2010 00:55:50 +0000 (17:55 -0700)]
arm: precise float64 software floating point
Adds softfloat64 to generic runtime
(will be discarded by linker when unused)
and adds test for it. I used the test to check
the software code against amd64 hardware
and then check the software code against
the arm and its simulation of hardware.
The latter should have been a no-op (testing
against itself) but turned up a bug in 5c causing
the vlrt.c routines to miscompile.
These changes make the cmath, math,
and strconv tests pass without any special
accommodations for arm.
R=ken2
CC=golang-dev
https://golang.org/cl/
2713042
Robert Griesemer [Tue, 26 Oct 2010 00:45:43 +0000 (17:45 -0700)]
big: delete unnecessary type decls
R=rsc, r
CC=golang-dev
https://golang.org/cl/
2732041
Robert Griesemer [Tue, 26 Oct 2010 00:45:26 +0000 (17:45 -0700)]
tabwriter: delete unnecessary type declaration
R=rsc, r2
CC=golang-dev
https://golang.org/cl/
2733041
Robert Griesemer [Tue, 26 Oct 2010 00:44:54 +0000 (17:44 -0700)]
go/scanner: delete unnecessary type declarations
R=rsc, r2
CC=golang-dev
https://golang.org/cl/
2735041
Rob Pike [Tue, 26 Oct 2010 00:03:25 +0000 (17:03 -0700)]
gotest: generate correct gofmt-formatted _testmain.go
Fixes #1225.
R=adg
CC=golang-dev
https://golang.org/cl/
2729041
Andrew Gerrand [Mon, 25 Oct 2010 23:59:30 +0000 (10:59 +1100)]
goinstall: display helpful message when encountering a cgo package.
R=rsc
CC=golang-dev
https://golang.org/cl/
2701042
Russ Cox [Mon, 25 Oct 2010 23:54:59 +0000 (16:54 -0700)]
runtime: remove .c generated from .goc during make clean
R=r
CC=golang-dev
https://golang.org/cl/
2704042
Robert Griesemer [Mon, 25 Oct 2010 23:50:31 +0000 (16:50 -0700)]
go spec: append built-in
R=iant, ken2, r, rsc
CC=golang-dev
https://golang.org/cl/
2627043
Robert Griesemer [Mon, 25 Oct 2010 23:41:06 +0000 (16:41 -0700)]
go_spec: allow copy() to copy bytes from a string into a []byte
(language change as discussed a while ago)
R=iant, ken2, r, rsc
CC=golang-dev
https://golang.org/cl/
2716041
Russ Cox [Mon, 25 Oct 2010 23:32:36 +0000 (01:32 +0200)]
arm: fix signal handler
R=ken2
CC=golang-dev
https://golang.org/cl/
2670042
Russ Cox [Mon, 25 Oct 2010 23:26:33 +0000 (01:26 +0200)]
5g: complex "regalloc"
R=ken2
CC=golang-dev
https://golang.org/cl/
2727041
Russ Cox [Mon, 25 Oct 2010 23:18:16 +0000 (16:18 -0700)]
5c: implement uint32 -> float
There are other missing conversion cases
still but they do not show up in my tests.
This one is needed for vlrt.c's _v2d (int64, uint64 -> float).
Thankfully, VFP has a single instruction to do this.
R=ken2
CC=golang-dev
https://golang.org/cl/
2726041
Andrew Gerrand [Mon, 25 Oct 2010 05:38:48 +0000 (16:38 +1100)]
build: only print "You need to add foo to PATH" when needed
Fixes #1223.
R=bradfitz
CC=golang-dev
https://golang.org/cl/
2701041
Andrew Gerrand [Mon, 25 Oct 2010 03:50:47 +0000 (14:50 +1100)]
container/list: elide redundant tests and fix comment typo
R=dsymonds
CC=golang-dev
https://golang.org/cl/
2700041
Andrew Gerrand [Mon, 25 Oct 2010 03:37:30 +0000 (14:37 +1100)]
container/list: fix Remove bug and use pointer to self as identifier
Remove wasn't nil'ing the *Element.id. This property was exploited
by MoveToFront and MoveToBack internally, so I renamed the existing
Remove to "remove", and created an exported wrapper "Remove" that does
the right thing for the user's sake.
Also, saved an allocation by using *List as the id rather than *byte.
Fixes #1224.
R=rsc, dsymonds
CC=golang-dev
https://golang.org/cl/
2685042
Fazlul Shahriar [Mon, 25 Oct 2010 02:13:00 +0000 (13:13 +1100)]
goinstall: don't wrongly error out with "multiple package names"
Fixes #1215.
R=adg, rsc
CC=golang-dev
https://golang.org/cl/
2695042
Luuk van Dijk [Sun, 24 Oct 2010 21:07:52 +0000 (23:07 +0200)]
6l/8l: global and local variables and type info.
R=rsc
CC=golang-dev
https://golang.org/cl/
2201044
Rob Pike [Fri, 22 Oct 2010 23:07:26 +0000 (16:07 -0700)]
gob: error cleanup 2
Simplify error handling during the compilation phase.
R=rsc
CC=golang-dev
https://golang.org/cl/
2652042
Rob Pike [Fri, 22 Oct 2010 22:16:34 +0000 (15:16 -0700)]
gobs: error cleanup part 1.
Remove err from the encoderState and decoderState types, so we're
not always copying to and from various copies of the error, and then
use panic/recover to eliminate lots of error checking.
another pass might take a crack at the same thing for the compilation phase.
R=rsc
CC=golang-dev
https://golang.org/cl/
2660042
Russ Cox [Fri, 22 Oct 2010 21:04:32 +0000 (17:04 -0400)]
runtime: print unknown types in panic
R=r
CC=golang-dev
https://golang.org/cl/
2683041
Russ Cox [Fri, 22 Oct 2010 19:27:50 +0000 (15:27 -0400)]
5l, 6l, 8l: introduce sub-symbols
Sub-symbols are laid out inside a larger symbol
but can be addressed directly.
Use to make Mach-O pointer array not a special case.
Will use later to describe ELF sections.
Glimpses of the beginning of ELF loading.
R=ken2
CC=golang-dev
https://golang.org/cl/
2623043
Rob Pike [Fri, 22 Oct 2010 18:17:40 +0000 (11:17 -0700)]
gob: allow exchange of interface values
The implemetation describes each value as a string identifying the
concrete type of the value, followed by the usual encoding of that
value. All types to be exchanged as contents of interface values
must be registered ahead of time with the new Register function.
Although this would not seem strictly necessary, the linker garbage
collects unused types so without some mechanism to guarantee
the type exists in the binary, there could be unpleasant surprises.
Moreover, the receiver needs a reflect.Type of the value to be
written in order to be able to save the data. A Register function
seems necessary.
The implementation may require defining types in the middle of
of sending a value. The old code never did this. Therefore there
has been some refactoring to make the encoder and decoder
work recursively.
This change changes the internal type IDs. Existing gob archives
will break with this change. Apologies for that. If this is a deal
breaker it should be possible to create a conversion tool.
Error handling is too complicated in this code. A subsequent
change should clean it up.
R=rsc
CC=golang-dev
https://golang.org/cl/
2618042
Robert Griesemer [Fri, 22 Oct 2010 17:06:33 +0000 (10:06 -0700)]
gofmt -s -w src misc
R=r, rsc
CC=golang-dev
https://golang.org/cl/
2662041