]> Cypherpunks repositories - gostls13.git/log
gostls13.git
14 years agocontainer/list: elide redundant tests and fix comment typo
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

14 years agocontainer/list: fix Remove bug and use pointer to self as identifier
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

14 years agogoinstall: don't wrongly error out with "multiple package names"
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

14 years ago6l/8l: global and local variables and type info.
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

14 years agogob: error cleanup 2
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

14 years agogobs: error cleanup part 1.
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

14 years agoruntime: print unknown types in panic
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

14 years ago5l, 6l, 8l: introduce sub-symbols
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

14 years agogob: allow exchange of interface values
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

14 years agogofmt -s -w src misc
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

14 years agogo ast/parser/printer: permit elision of composite literal types for composite litera...
Robert Griesemer [Fri, 22 Oct 2010 17:03:14 +0000 (10:03 -0700)]
go ast/parser/printer: permit elision of composite literal types for composite literal elements
gofmt: added -s flag to simplify composite literal expressions through type elision where possible

R=rsc
CC=golang-dev
https://golang.org/cl/2319041

14 years agogo spec: relaxed syntax for array, slice, and map composite literals
Robert Griesemer [Fri, 22 Oct 2010 15:58:52 +0000 (08:58 -0700)]
go spec: relaxed syntax for array, slice, and map composite literals

For elements which are themselves composite literals, the type may
be omitted if it is identical to the element type of the containing
composite literal.

R=r, rsc, iant, ken2
CC=golang-dev
https://golang.org/cl/2661041

14 years agoarm: 3 more tests pass
Russ Cox [Fri, 22 Oct 2010 03:53:03 +0000 (05:53 +0200)]
arm: 3 more tests pass

R=ken2
CC=golang-dev
https://golang.org/cl/2666041

14 years ago5g: missed one case last night
Russ Cox [Fri, 22 Oct 2010 03:50:45 +0000 (05:50 +0200)]
5g: missed one case last night

R=ken2
CC=golang-dev
https://golang.org/cl/2658042

14 years agogc: implement new composite literal spec
Russ Cox [Fri, 22 Oct 2010 03:17:20 +0000 (23:17 -0400)]
gc: implement new composite literal spec

R=ken2
CC=golang-dev
https://golang.org/cl/2350041

14 years agobug right shifting 64 bits
Ken Thompson [Fri, 22 Oct 2010 01:15:00 +0000 (18:15 -0700)]
bug right shifting 64 bits
by a variable that equals 32

R=rsc
CC=golang-dev
https://golang.org/cl/2645042

14 years agoplayground: s/it/this/
Andrew Gerrand [Thu, 21 Oct 2010 23:49:29 +0000 (10:49 +1100)]
playground: s/it/this/

R=r, r2
CC=golang-dev
https://golang.org/cl/2663041

14 years agoMake.inc: delete unnecessary -no-inline flag to quietgcc
Rob Pike [Thu, 21 Oct 2010 18:00:54 +0000 (11:00 -0700)]
Make.inc: delete unnecessary -no-inline flag to quietgcc

R=rsc
CC=golang-dev
https://golang.org/cl/2654041

14 years agofix windows build
Russ Cox [Thu, 21 Oct 2010 17:06:17 +0000 (13:06 -0400)]
fix windows build

R=ken2
CC=golang-dev
https://golang.org/cl/2650041

14 years agofix arm build
Russ Cox [Thu, 21 Oct 2010 17:03:59 +0000 (13:03 -0400)]
fix arm build

R=ken2
CC=golang-dev
https://golang.org/cl/2649041

14 years agofix build
Russ Cox [Thu, 21 Oct 2010 16:50:23 +0000 (12:50 -0400)]
fix build

R=ken2
CC=golang-dev
https://golang.org/cl/2621042

14 years agogo/parser: consume auto-inserted semi when calling ParseExpr()
Robert Griesemer [Thu, 21 Oct 2010 15:40:33 +0000 (08:40 -0700)]
go/parser: consume auto-inserted semi when calling ParseExpr()

Fixes #1170.

R=rsc
CC=golang-dev
https://golang.org/cl/2622041

14 years agold: abandon symbol-driven archive loading
Russ Cox [Thu, 21 Oct 2010 15:39:47 +0000 (11:39 -0400)]
ld: abandon symbol-driven archive loading

Load the entire archive file instead.
Reduces I/O by avoiding additional passes
through libraries to resolve symbols.
Go packages always need all the files anyway
(most often, all 1 of them).

R=ken2
CC=golang-dev
https://golang.org/cl/2613042

14 years agoencoding/binary: give LittleEndian, BigEndian specific types
Russ Cox [Thu, 21 Oct 2010 15:25:14 +0000 (11:25 -0400)]
encoding/binary: give LittleEndian, BigEndian specific types

Giving them specific types has the benefit that
binary.BigEndian.Uint32(b) is now a direct call, not an
indirect via a mutable interface value, so it can potentially
be inlined.

Recent changes to the spec relaxed the rules for comparison,
so this code is still valid:

func isLittle(o binary.ByteOrder) { return o == binary.LittleEndian }

The change does break this potential idiom:

o := binary.BigEndian
if foo {
o = binary.LittleEndian
}

That must rewrite to give o an explicit binary.ByteOrder type.
On balance I think the benefit from the direct call and inlining
outweigh the cost of breaking that idiom.

R=r, r2
CC=golang-dev
https://golang.org/cl/2427042

14 years agonet: fix comment on Dial to mention unix/unixgram.
David Symonds [Thu, 21 Oct 2010 12:17:24 +0000 (08:17 -0400)]
net: fix comment on Dial to mention unix/unixgram.

R=rsc
CC=golang-dev
https://golang.org/cl/2639041

14 years agoarm: prop up software floating point
Russ Cox [Thu, 21 Oct 2010 04:56:20 +0000 (06:56 +0200)]
arm: prop up software floating point

Just enough to make mov instructions work,
which in turn is enough to make strconv work
when it avoids any floating point calculations.
That makes a bunch of other packages pass
their tests.

Should suffice until hardware floating point
is available.

Enable package tests that now pass
(some due to earlier fixes).

Looks like there is a new integer math bug
exposed in the fmt and json tests.

R=ken2
CC=golang-dev
https://golang.org/cl/2638041

14 years agomisc: update python scripts to specify python2 or nothing
Andrew Gerrand [Thu, 21 Oct 2010 04:41:51 +0000 (15:41 +1100)]
misc: update python scripts to specify python2 or nothing

(Hopefully this changeset will notice my +x to googlecode_upload.py)

Fixes #1217.

R=rsc
CC=golang-dev
https://golang.org/cl/2634041

14 years agogobuilder: write build and benchmarking logs to disk
Andrew Gerrand [Thu, 21 Oct 2010 04:33:31 +0000 (15:33 +1100)]
gobuilder: write build and benchmarking logs to disk

R=rsc
CC=golang-dev
https://golang.org/cl/2637041

14 years agogo_tutorial: change wording slightly and sync .txt and .html post-gofmt
Andrew Gerrand [Thu, 21 Oct 2010 03:59:23 +0000 (14:59 +1100)]
go_tutorial: change wording slightly and sync .txt and .html post-gofmt

Fixes #1211.

R=r, r2
CC=golang-dev
https://golang.org/cl/2635041

14 years agoweb socket: fix short Read
Fumitoshi Ukai [Thu, 21 Oct 2010 02:36:06 +0000 (22:36 -0400)]
web socket: fix short Read

Fixes #1145.

R=rsc
CC=golang-dev
https://golang.org/cl/2302042

14 years agotest/bench: update numbers
Rob Pike [Thu, 21 Oct 2010 00:43:57 +0000 (17:43 -0700)]
test/bench: update numbers

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/2631041

14 years agotag release.2010-10-20
Andrew Gerrand [Thu, 21 Oct 2010 00:35:17 +0000 (11:35 +1100)]
tag release.2010-10-20

R=r
CC=golang-dev
https://golang.org/cl/2624042

14 years agorelease.2010-10-20 weekly.2010-10-20
Andrew Gerrand [Thu, 21 Oct 2010 00:33:41 +0000 (11:33 +1100)]
release.2010-10-20

R=r, rsc
CC=golang-dev
https://golang.org/cl/2629041

14 years agogoinstall: fix documentation typo
Fazlul Shahriar [Wed, 20 Oct 2010 23:47:02 +0000 (10:47 +1100)]
goinstall: fix documentation typo

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/2585043

14 years agobuild: add gobuilder and goplay to run.bash
Andrew Gerrand [Wed, 20 Oct 2010 23:46:10 +0000 (10:46 +1100)]
build: add gobuilder and goplay to run.bash
gobuilder: fix build to work with new log package

R=rsc
CC=golang-dev
https://golang.org/cl/2592041

14 years agoos: correct Stat S_ISDIR on Windows
Yasuhiro Matsumoto [Wed, 20 Oct 2010 23:29:45 +0000 (10:29 +1100)]
os: correct Stat S_ISDIR on Windows

R=rsc, brainman
CC=golang-dev
https://golang.org/cl/2598041

14 years ago5l: two stack split bugs in one day
Russ Cox [Wed, 20 Oct 2010 22:11:53 +0000 (18:11 -0400)]
5l: two stack split bugs in one day

An ARM expert could probably phrase the
comparison in fewer instructions, but this works.

R=ken2
CC=golang-dev
https://golang.org/cl/2620041

14 years agoencoding/hex: fix typo
Russ Cox [Wed, 20 Oct 2010 20:38:57 +0000 (16:38 -0400)]
encoding/hex: fix typo

Thanks to avadh4all for spotting it.

Fixes #1214.

R=r, r2
CC=golang-dev
https://golang.org/cl/2616041

14 years agogc: select receive with implicit conversion
Russ Cox [Wed, 20 Oct 2010 20:38:25 +0000 (16:38 -0400)]
gc: select receive with implicit conversion

Fixes #1172.

R=ken2
CC=golang-dev
https://golang.org/cl/2615041

14 years agocode gen error for *(complex)++
Ken Thompson [Wed, 20 Oct 2010 20:18:00 +0000 (13:18 -0700)]
code gen error for *(complex)++
includes array[i]++ and slice[i]++

R=rsc
CC=golang-dev
https://golang.org/cl/2614041

14 years agoruntime: don't let select split stack
Russ Cox [Wed, 20 Oct 2010 19:54:17 +0000 (15:54 -0400)]
runtime: don't let select split stack

Fixes #1209.

R=ken2
CC=golang-dev
https://golang.org/cl/2612041

14 years agoarm: fix typo in softfloat
Russ Cox [Wed, 20 Oct 2010 19:35:37 +0000 (15:35 -0400)]
arm: fix typo in softfloat

R=kaib
CC=golang-dev
https://golang.org/cl/2608041

14 years ago6l: correct logic for morestack choice
Russ Cox [Wed, 20 Oct 2010 19:16:39 +0000 (12:16 -0700)]
6l: correct logic for morestack choice

The frame that gets allocated is for both
the args and the autos.  If together they
exceed the default frame size, we need to
tell morestack about both so that it allocates
a large enough frame.

Sanity check stack pointer in morestack
to catch similar bugs.

R=ken2
CC=golang-dev
https://golang.org/cl/2609041

14 years agoarm: more tests pass
Russ Cox [Wed, 20 Oct 2010 15:43:27 +0000 (11:43 -0400)]
arm: more tests pass

R=ken2
CC=golang-dev
https://golang.org/cl/2606041

14 years agosyscall/arm: correct 64-bit system call arguments
Russ Cox [Wed, 20 Oct 2010 14:39:46 +0000 (10:39 -0400)]
syscall/arm: correct 64-bit system call arguments

Thanks to kaib for the tip.

R=ken2
CC=golang-dev
https://golang.org/cl/2596043

14 years ago6g: avoid too-large immediate constants
Russ Cox [Wed, 20 Oct 2010 04:40:06 +0000 (00:40 -0400)]
6g: avoid too-large immediate constants

R=ken2
CC=golang-dev
https://golang.org/cl/2566042

14 years agoreflect: add InterfaceValue.Get to enable setting of an interface
Rob Pike [Wed, 20 Oct 2010 04:25:28 +0000 (21:25 -0700)]
reflect: add InterfaceValue.Get to enable setting of an interface
value (through unsafe means) without having a reflect.Type
of type *interface{} (pointer to interface).  This is needed to make
gob able to handle interface values by a method analogous to
the way it handles maps.

R=rsc
CC=golang-dev
https://golang.org/cl/2597041

14 years agogob: break documentation into a separate doc.go file
Rob Pike [Wed, 20 Oct 2010 03:39:29 +0000 (20:39 -0700)]
gob: break documentation into a separate doc.go file

R=adg, r2
CC=golang-dev
https://golang.org/cl/2596041

14 years agohttp: do not close connection after sending HTTP/1.0 request
Russ Cox [Wed, 20 Oct 2010 03:29:25 +0000 (23:29 -0400)]
http: do not close connection after sending HTTP/1.0 request

Fixes #671.

R=adg, cw
CC=golang-dev
https://golang.org/cl/2431042

14 years ago8l: fix windows build
Alex Brainman [Wed, 20 Oct 2010 03:06:00 +0000 (14:06 +1100)]
8l: fix windows build

R=rsc
CC=golang-dev
https://golang.org/cl/2595041

14 years agoos: change TestForkExec so it can run on windows
Yasuhiro Matsumoto [Tue, 19 Oct 2010 22:46:24 +0000 (09:46 +1100)]
os: change TestForkExec so it can run on windows

R=brainman, vcc, Joe Poirier, rsc
CC=golang-dev
https://golang.org/cl/2530041

14 years agonntp: remove nntp package from the standard library.
Nigel Tao [Tue, 19 Oct 2010 22:43:27 +0000 (09:43 +1100)]
nntp: remove nntp package from the standard library.

R=adg
CC=golang-dev
https://golang.org/cl/2470045

14 years ago8l: fix references to INITDAT in windows pe.c
Russ Cox [Tue, 19 Oct 2010 22:17:07 +0000 (18:17 -0400)]
8l: fix references to INITDAT in windows pe.c

R=ken2
CC=golang-dev
https://golang.org/cl/2588041

14 years ago5l, 6l, 8l: link pclntab and symtab as ordinary rodata symbols
Russ Cox [Tue, 19 Oct 2010 22:07:19 +0000 (18:07 -0400)]
5l, 6l, 8l: link pclntab and symtab as ordinary rodata symbols

That is, move the pc/ln table and the symbol table
into the read-only data segment.  This eliminates
the need for a special load command to map the
symbol table into memory, which makes the
information available on systems that couldn't handle
the magic load to 0x99000000, like NaCl and ARM QEMU
and Linux without config_highmem=y.  It also
eliminates an #ifdef and some clumsy code to
find the symbol table on Windows.

The bad news is that the binary appears to be bigger
than it used to be.  This is not actually the case, though:
the same amount of data is being mapped into memory
as before, and the tables are still read-only, so they're
still shared across multiple instances of the binary as
they were before.  The difference is just that the tables
aren't squirreled away in some section that "size" doesn't
know to look at.

This is a checkpoint.
It probably breaks Windows and breaks NaCl more
than it used to be broken, but those will be fixed.
The logic involving -s needs to be revisited too.

Fixes #871.

R=ken2
CC=golang-dev
https://golang.org/cl/2587041

14 years ago5l, 6l, 8l: separate pass to fix addresses
Russ Cox [Tue, 19 Oct 2010 17:08:17 +0000 (13:08 -0400)]
5l, 6l, 8l: separate pass to fix addresses
Lay out code before data.

R=ken2
CC=golang-dev
https://golang.org/cl/2490043

14 years ago[68]l: expose genasmsym.
Luuk van Dijk [Tue, 19 Oct 2010 16:09:18 +0000 (18:09 +0200)]
[68]l: expose genasmsym.

R=rsc
CC=golang-dev
https://golang.org/cl/2512042

14 years agogoplay: fix to run under windows.
Yasuhiro Matsumoto [Tue, 19 Oct 2010 00:29:31 +0000 (11:29 +1100)]
goplay: fix to run under windows.

Fixes #1204.

R=golang-dev, brainman, Joe Poirier, alex.brainman, adg
CC=golang-dev, math-nuts
https://golang.org/cl/2532041

14 years agoA+C: Yasuhiro Matsumoto
Andrew Gerrand [Mon, 18 Oct 2010 23:20:32 +0000 (10:20 +1100)]
A+C: Yasuhiro Matsumoto

R=r, r2
CC=golang-dev
https://golang.org/cl/2543044

14 years agofix bug in example. need to convert Value to float in Abs example
Rob Pike [Mon, 18 Oct 2010 23:05:50 +0000 (16:05 -0700)]
fix bug in example. need to convert Value to float in Abs example

R=adg
CC=golang-dev
https://golang.org/cl/2486043

14 years agogc: update usage string in doc.go
Andrew Gerrand [Mon, 18 Oct 2010 22:26:11 +0000 (09:26 +1100)]
gc: update usage string in doc.go

R=rsc, r2, r
CC=golang-dev
https://golang.org/cl/2550041

14 years agonetchan: add new method Hangup to terminate transmission on a channel
Rob Pike [Mon, 18 Oct 2010 22:09:43 +0000 (15:09 -0700)]
netchan: add new method Hangup to terminate transmission on a channel
Fixes #1151.

R=rsc
CC=golang-dev
https://golang.org/cl/2469043

14 years agobig: add random number generation
Florian Uekermann [Mon, 18 Oct 2010 18:09:20 +0000 (14:09 -0400)]
big: add random number generation

Adds func (z *Int) RandIntn(src rand.Source,n *Int) *Int

R=rsc
CC=golang-dev, gri
https://golang.org/cl/2315045

14 years agoA+C: Florian Ukermann (individual CLA)
Russ Cox [Mon, 18 Oct 2010 18:02:24 +0000 (14:02 -0400)]
A+C: Florian Ukermann (individual CLA)

R=r, r2
CC=florian, golang-dev
https://golang.org/cl/2554042

14 years ago5l: handle jump to middle of floating point sequence
Russ Cox [Mon, 18 Oct 2010 17:44:39 +0000 (13:44 -0400)]
5l: handle jump to middle of floating point sequence

R=ken2
CC=golang-dev
https://golang.org/cl/2473042

14 years agoruntime: fix arm softfloat again for R12
Russ Cox [Mon, 18 Oct 2010 17:24:19 +0000 (13:24 -0400)]
runtime: fix arm softfloat again for R12

Missed a case, so now generalized.

R=ken2
CC=golang-dev
https://golang.org/cl/2540042

14 years agoruntime: fix amd64 build (broke by 386 support for Plan 9)
Russ Cox [Mon, 18 Oct 2010 17:01:10 +0000 (13:01 -0400)]
runtime: fix amd64 build (broke by 386 support for Plan 9)

TBR=r
CC=golang-dev
https://golang.org/cl/2556041

14 years ago8l, runtime: initial support for Plan 9
Yuval Pavel Zholkover [Mon, 18 Oct 2010 16:32:55 +0000 (12:32 -0400)]
8l, runtime: initial support for Plan 9

No multiple processes/locks, managed to compile
and run a hello.go (with print not fmt).  Also test/sieve.go
seems to run until 439 and stops with a
'throw: all goroutines are asleep - deadlock!'
- just like runtime/tiny.

based on Russ's suggestions at:
http://groups.google.com/group/comp.os.plan9/browse_thread/thread/cfda8b82535d2d68/243777a597ec1612

Build instructions:
cd src/pkg/runtime
make clean && GOOS=plan9 make install
this will build and install the runtime.

When linking with 8l, you should pass -s to suppress symbol
generation in the a.out, otherwise the generated executable will not run.

This is runtime only, the porting of the toolchain has already
been done: http://code.google.com/p/go-plan9/source/browse
in the plan9-quanstro branch.

R=rsc
CC=golang-dev
https://golang.org/cl/2273041

14 years agoruntime: update arm softfloat - no more R12
Russ Cox [Mon, 18 Oct 2010 16:24:59 +0000 (12:24 -0400)]
runtime: update arm softfloat - no more R12

R=ken2
CC=golang-dev
https://golang.org/cl/2555041

14 years agoA+C: Yuval Pavel Zholkover (individual CLA)
Russ Cox [Mon, 18 Oct 2010 16:01:59 +0000 (12:01 -0400)]
A+C: Yuval Pavel Zholkover (individual CLA)

R=r, r2
CC=golang-dev
https://golang.org/cl/2506045

14 years agogc: say that shift must be unsigned integer
Russ Cox [Mon, 18 Oct 2010 15:28:57 +0000 (11:28 -0400)]
gc: say that shift must be unsigned integer

R=ken2
CC=golang-dev
https://golang.org/cl/2519044

14 years ago5l: data-relocatable code layout
Russ Cox [Mon, 18 Oct 2010 15:09:59 +0000 (11:09 -0400)]
5l: data-relocatable code layout

R=ken2
CC=golang-dev
https://golang.org/cl/2479043

14 years ago[68]l: proper end of instruction ranges in dwarf.
Luuk van Dijk [Sun, 17 Oct 2010 20:35:55 +0000 (22:35 +0200)]
[68]l: proper end of instruction ranges in dwarf.

R=rsc
CC=golang-dev
https://golang.org/cl/2542042

14 years ago[68]l: fix off by one instruction in dwarf frame unwinding.
Luuk van Dijk [Sun, 17 Oct 2010 19:13:55 +0000 (21:13 +0200)]
[68]l: fix off by one instruction in dwarf frame unwinding.

R=rsc
CC=golang-dev
https://golang.org/cl/2543043

14 years agolog: update the documentation to clarify the behavior
Rob Pike [Sun, 17 Oct 2010 16:20:23 +0000 (09:20 -0700)]
log: update the documentation to clarify the behavior

R=rsc, PeterGo
CC=golang-dev
https://golang.org/cl/2519043

14 years ago5l: stop using R12 as SB
Russ Cox [Sun, 17 Oct 2010 15:41:23 +0000 (11:41 -0400)]
5l: stop using R12 as SB

Because the SB is only good for 8k and Go programs
tend to have much more data than that, SB doesn't
save very much.  A fmt.Printf-based hello world program
has  360 kB text segment.  Removing SB makes the text
500 bytes (0.14%) longer.

R=ken2, r2, ken3
CC=golang-dev
https://golang.org/cl/2487042

14 years ago8l: fix windows build.
Wei Guangjing [Sat, 16 Oct 2010 03:37:14 +0000 (23:37 -0400)]
8l: fix windows build.

R=rsc, brainman
CC=golang-dev
https://golang.org/cl/2543042

14 years ago8l: function at a time code layout
Russ Cox [Sat, 16 Oct 2010 00:19:57 +0000 (20:19 -0400)]
8l: function at a time code layout

R=ken2
CC=golang-dev
https://golang.org/cl/2481042

14 years agolog: roll back the rollback of the deprecation of the old interface.
Rob Pike [Fri, 15 Oct 2010 20:14:29 +0000 (13:14 -0700)]
log: roll back the rollback of the deprecation of the old interface.

R=adg
CC=golang-dev
https://golang.org/cl/2521042

14 years ago8l: blind attempt to fix windows build
Russ Cox [Fri, 15 Oct 2010 19:29:25 +0000 (15:29 -0400)]
8l: blind attempt to fix windows build
or at least gather more information

R=ken2
CC=golang-dev
https://golang.org/cl/2515042

14 years agogc: keep track of real actual type of identifiers.
Luuk van Dijk [Fri, 15 Oct 2010 19:25:34 +0000 (21:25 +0200)]
gc: keep track of real actual type of identifiers.

R=rsc
CC=golang-dev
https://golang.org/cl/2519042

14 years ago6l: function at a time code layout
Russ Cox [Fri, 15 Oct 2010 19:18:47 +0000 (15:18 -0400)]
6l: function at a time code layout

Also change the span-dependent jump algorithm
to use fewer iterations:

* resolve forward jumps at their targets (comefrom list)
* mark jumps as small or big and only do small->big
* record whether a jump failed to be encodable

These changes mean that a function with only small
jumps can be laid out in a single iteration, and the
vast majority of functions take just two iterations.
I was seeing a maximum of 5 iterations before; the
max now is 3 and there are fewer that get even that far.

R=ken2
CC=golang-dev
https://golang.org/cl/2537041

14 years ago6l, 8l: avoid recursion in asmandsz
Russ Cox [Fri, 15 Oct 2010 17:01:03 +0000 (13:01 -0400)]
6l, 8l: avoid recursion in asmandsz

The old code said

if(x) {
handle a
return
}
aa = *a
rewrite aa to make x true
recursivecall(&aa)

The new code says

params = copy out of a
if(!x) {
rewrite params to make x true
}
handle params

but it's hard to see that in the Rietveld diffs because
it gets confused by changes in indentation.

Avoiding the recursion makes other changes easier.

R=ken2
CC=golang-dev
https://golang.org/cl/2533041

14 years ago5l, 6l, 8l: accumulate data image during import
Russ Cox [Fri, 15 Oct 2010 03:48:40 +0000 (23:48 -0400)]
5l, 6l, 8l: accumulate data image during import

Using explicit relocations internally, we can
represent the data for a particular symbol as
an initialized block of memory instead of a
linked list of ADATA instructions.  The real
goal here is to be able to hand off some of the
relocations to the dynamic linker when interacting
with system libraries, but a pleasant side effect is
that the memory image is much more compact
than the ADATA list, so the linkers use less memory.

R=ken2
CC=golang-dev
https://golang.org/cl/2512041

14 years agotag release.2010-10-13.1
Andrew Gerrand [Fri, 15 Oct 2010 01:06:34 +0000 (12:06 +1100)]
tag release.2010-10-13.1

R=r
CC=golang-dev
https://golang.org/cl/2526041

14 years agorelease.2010-10-13.1 weekly.2010-10-13.1
Andrew Gerrand [Fri, 15 Oct 2010 01:05:05 +0000 (12:05 +1100)]
release.2010-10-13.1

R=r, r2
CC=golang-dev
https://golang.org/cl/2493043

14 years agolog: roll back deprecation of old API to apply fix to log.Output in public release.
Rob Pike [Fri, 15 Oct 2010 01:02:08 +0000 (18:02 -0700)]
log: roll back deprecation of old API to apply fix to log.Output in public release.

R=adg
CC=golang-dev
https://golang.org/cl/2525042

14 years agolog: fix custom output bug
Andrew Gerrand [Fri, 15 Oct 2010 00:55:51 +0000 (11:55 +1100)]
log: fix custom output bug

R=r
CC=golang-dev
https://golang.org/cl/2525041

14 years agoarm: enable 6 more tests after net fix
Russ Cox [Thu, 14 Oct 2010 21:15:45 +0000 (17:15 -0400)]
arm: enable 6 more tests after net fix

R=ken2
CC=golang-dev
https://golang.org/cl/2520042

14 years agosyscall: fix arm networking
Russ Cox [Thu, 14 Oct 2010 20:13:44 +0000 (16:13 -0400)]
syscall: fix arm networking

Suggested by fango (fan.howard@gmail.com)

R=r, r2
CC=golang-dev
https://golang.org/cl/2514041

14 years agolog: delete deprecated functionality
Rob Pike [Thu, 14 Oct 2010 19:50:36 +0000 (12:50 -0700)]
log: delete deprecated functionality
Fixes #1195.

R=rsc
CC=golang-dev
https://golang.org/cl/2504043

14 years agoarm: adjust recover for new reflect.call
Russ Cox [Thu, 14 Oct 2010 14:45:32 +0000 (10:45 -0400)]
arm: adjust recover for new reflect.call

R=ken2
CC=golang-dev
https://golang.org/cl/2471043

14 years agodoc: add The Expressiveness of Go talk to docs.html
Andrew Gerrand [Thu, 14 Oct 2010 06:25:23 +0000 (17:25 +1100)]
doc: add The Expressiveness of Go talk to docs.html

R=r, r2
CC=golang-dev
https://golang.org/cl/2494042

14 years agotag release.2010-10-13
Andrew Gerrand [Thu, 14 Oct 2010 03:56:11 +0000 (14:56 +1100)]
tag release.2010-10-13

R=stephenm
CC=golang-dev
https://golang.org/cl/2471042

14 years agorelease.2010-10-13 weekly.2010-10-13
Andrew Gerrand [Thu, 14 Oct 2010 03:52:08 +0000 (14:52 +1100)]
release.2010-10-13

R=r, rsc, r2
CC=golang-dev
https://golang.org/cl/2499041

14 years agomisc: add goplay
Andrew Gerrand [Thu, 14 Oct 2010 03:06:02 +0000 (14:06 +1100)]
misc: add goplay

R=rsc, r
CC=golang-dev
https://golang.org/cl/2473041

14 years agosmtp: new package
Evan Shaw [Thu, 14 Oct 2010 02:07:28 +0000 (22:07 -0400)]
smtp: new package

R=rsc, iant, agl
CC=golang-dev
https://golang.org/cl/2052042

14 years agobufio: bulletproof UnreadRune
Rob Pike [Thu, 14 Oct 2010 00:12:43 +0000 (17:12 -0700)]
bufio: bulletproof UnreadRune
After a fill(), there is nothing to back up.  Make sure UnreadRune
recognizes the situation.

Fixes #1137.
(Stops the crash, but doesn't make UnreadRune usable after a Peek()).

R=rsc
CC=golang-dev
https://golang.org/cl/2498041

14 years agoarm: enable 8 more packages
Russ Cox [Wed, 13 Oct 2010 22:16:44 +0000 (18:16 -0400)]
arm: enable 8 more packages

The remaining failures include:

* something about bit operations?
crypto/block
encoding/binary

* something about file I/O?
archive/tar
archive/zip
debug/dwarf
debug/elf
debug/macho
image/png

* floating point
cmath
expvar
flag
fmt
gob
json
math
strconv
template
xml

* network (maybe fixed by a pending CL)
http
netchan
rpc
rpc/jsonrpc
syslog
websocket

* line numbers
log

* haven't bothered / not sure
exp/datafmt
exp/eval
go/printer
os
os/signal
testing/quick

R=ken2
CC=golang-dev
https://golang.org/cl/2496041

14 years agofix arm bug in reflect.call
Ken Thompson [Wed, 13 Oct 2010 20:24:14 +0000 (13:24 -0700)]
fix arm bug in reflect.call

R=rsc
CC=golang-dev
https://golang.org/cl/2475042

14 years agovarious: avoid %ld etc
Russ Cox [Wed, 13 Oct 2010 20:20:22 +0000 (16:20 -0400)]
various: avoid %ld etc

The Plan 9 tools assume that long is 32 bits.
We converted all instances of long to int32 when
importing the code but missed the print formats.
Because int32 is always int on the compilers we use,
it is never correct to use %lux, %ld, etc.  Convert to %ux, %d, etc.

(It matters because on 64-bit gcc, long is 64 bits,
so we were printing 32-bit quantities with 64-bit formats.)

R=ken2
CC=golang-dev
https://golang.org/cl/2491041