Age | Commit message (Collapse) | Author | Files | Lines |
|
that introduce the newline (important for correct placement
of comments with gofmt when parsing new syntax)
R=rsc
http://codereview.appspot.com/179055
|
|
mustgetc reports unexpected EOF as SyntaxError. using
mustgetc seems to be a better approach than letting the
caller handle unexpected EOF every time.
name: the second if statement should explicitly return
ok==false.
R=rsc
http://codereview.appspot.com/174083
Committer: Russ Cox <rsc@golang.org>
|
|
R=r
CC=golang-dev
http://codereview.appspot.com/178046
|
|
multi-line expressions with comments
Fixes issue 414.
R=rsc
http://codereview.appspot.com/179047
|
|
R=rsc
CC=golang-dev
http://codereview.appspot.com/176062
Committer: Russ Cox <rsc@golang.org>
|
|
the previous fix.
R=rsc
http://codereview.appspot.com/178044
|
|
Fixes issue 425.
R=rsc
http://codereview.appspot.com/178043
|
|
1. If all data is exhausted using Read then a following Next will
fail as if it saw EOF. (Test case added.)
2. Seeking isn't always possible (i.e. sockets and pipes). Fallback
to read. (Test case added.)
3. Fix to readHeader (cleaner fix pointed out by rsc).
(TestReader modified.)
4. When Read has consumed all the data, don't try to read 0 bytes from reader.
In cases where tr.nb is zero we attempt to read zero bytes and thus
never see an EOF (this is most easily seen when the 'tar source' is
something like bytes.Buffer{} as opposed to os.File).
5. If write is used to the point of ErrWriteTooLong, allow additional file entries.
6. Make close work as expected. That is any further Write or
WriteHeader attempts will result in ErrWriteAfterClose.
Fixes issue 419.
R=rsc, dsymonds1
http://codereview.appspot.com/162062
Committer: Russ Cox <rsc@golang.org>
|
|
to avoid growing unnecessarily.
R=rsc
CC=golang-dev
http://codereview.appspot.com/176071
|
|
R=dho, rsc
CC=r
http://codereview.appspot.com/176058
Committer: Russ Cox <rsc@golang.org>
|
|
R=rsc
CC=golang-dev
http://codereview.appspot.com/174082
|
|
- no need to replace comments for stand-alone blocks
- always print string concatenations with interspersed "+"
(remove option)
- minor cleanups
R=rsc
http://codereview.appspot.com/174076
|
|
R=rsc
http://codereview.appspot.com/175046
Committer: Robert Griesemer <gri@golang.org>
|
|
R=rsc
http://codereview.appspot.com/175048
|
|
This change removes the necessity to have GOBIN in $PATH,
and also doesn't assume that the build is being run from
$GOROOT/src. This is a minimal set of necessary changes
to get Go to build happily from the FreeBSD ports
collection.
R=rsc
CC=golang-dev
http://codereview.appspot.com/171044
Committer: Russ Cox <rsc@golang.org>
|
|
R=rsc
CC=krasin
http://codereview.appspot.com/167050
Committer: Russ Cox <rsc@golang.org>
|
|
R=golang-dev, rsc
http://codereview.appspot.com/157168
Committer: Russ Cox <rsc@golang.org>
|
|
xml: drop invalid characters in attribute names
when constructing struct field names.
R=rsc
CC=r
http://codereview.appspot.com/157104
Committer: Russ Cox <rsc@golang.org>
|
|
- oldparser parse old syntax (required semicolons)
- oldprinter print old syntax (required semicolons)
By default, these flags are enabled for now.
Setting -oldparser=false has no effect until go/parser is changed
to accept the new syntax.
Enabled exp/parser in Makefile; update dependent exp/eval.
R=rsc
http://codereview.appspot.com/174051
|
|
to allow simultaneous import with the
current go/parser
R=rsc
http://codereview.appspot.com/174053
|
|
R=rsc
http://codereview.appspot.com/174050
|
|
R=rsc
http://codereview.appspot.com/175047
|
|
R=rsc
CC=r
http://codereview.appspot.com/175045
|
|
registers.
R=rsc
http://codereview.appspot.com/166049
|
|
R=rsc
http://codereview.appspot.com/165044
|
|
R=rsc
http://codereview.appspot.com/172042
|
|
R=rsc
http://codereview.appspot.com/172041
|
|
removed superfluous field name in lockedSource.
R=r, rsc
http://codereview.appspot.com/170043
Committer: Russ Cox <rsc@golang.org>
|
|
to include
negative counts in return values.
R=rsc
CC=golang-dev
http://codereview.appspot.com/170044
|
|
R=r, rsc
CC=golang-dev
http://codereview.appspot.com/168041
Committer: Russ Cox <rsc@golang.org>
|
|
Fixes issue 400.
R=golang-dev, rsc
http://codereview.appspot.com/167058
Committer: Russ Cox <rsc@golang.org>
|
|
This is an adaption of the code from http://en.wikipedia.org/wiki/XTEA. The package also implements the block.Cipher
interface so that it can be used with the various block modes.
R=rsc
http://codereview.appspot.com/157152
Committer: Russ Cox <rsc@golang.org>
|
|
then enable stack check.
R=r
http://codereview.appspot.com/165100
|
|
R=r
http://codereview.appspot.com/167047
|
|
FreeBSD was passing stk as the new thread's stack base, while
stk is the top of the stack in go. The added check should cause
a trap if this ever comes up in any new ports, or regresses
in current ones.
R=rsc
CC=golang-dev
http://codereview.appspot.com/167055
Committer: Russ Cox <rsc@golang.org>
|
|
R=rsc
CC=golang-dev
http://codereview.appspot.com/165097
Committer: Russ Cox <rsc@golang.org>
|
|
cuts working size for hello world from 6 MB to 1.2 MB.
still some work to be done, but diminishing returns.
R=r
http://codereview.appspot.com/165080
|
|
to provide functionality previously hacked in to
reflect and gob.
R=r
http://codereview.appspot.com/165076
|
|
R=r
http://codereview.appspot.com/165078
|
|
R=r, rsc
http://codereview.appspot.com/165068
Committer: Rob Pike <r@golang.org>
|
|
the one-item case could be generalized easily with no cost. worth considering.
R=rsc
CC=golang-dev, cw
http://codereview.appspot.com/167044
|
|
nodes in the tree are nested with respect to one another.
a simple change to the Visitor interface makes it possible
to do this (for example to maintain a current node-depth, or a
knowledge of the name of the current function).
Visit(nil) is called at the end of a node's children;
this make possible the channel-based interface below,
amongst other possibilities.
It is still just as simple to get the original behaviour - just
return the same Visitor from Visit.
Here are a couple of possible Visitor types.
// closure-based
type FVisitor func(n interface{}) FVisitor
func (f FVisitor) Visit(n interface{}) Visitor {
return f(n);
}
// channel-based
type CVisitor chan Visit;
type Visit struct {
node interface{};
reply chan CVisitor;
};
func (v CVisitor) Visit(n interface{}) Visitor
{
if n == nil {
close(v);
} else {
reply := make(chan CVisitor);
v <- Visit{n, reply};
r := <-reply;
if r == nil {
return nil;
}
return r;
}
return nil;
}
R=gri
CC=rsc
http://codereview.appspot.com/166047
Committer: Robert Griesemer <gri@golang.org>
|
|
a couple of cleanups.
don't keep big buffers in the free list.
R=rsc
CC=golang-dev
http://codereview.appspot.com/166078
|
|
cleans up godoc's output for package fmt substantially.
R=rsc
CC=golang-dev
http://codereview.appspot.com/165070
|
|
Roughly 33% faster for simple cases, probably more for complex ones.
Before:
mallocs per Sprintf(""): 4
mallocs per Sprintf("xxx"): 6
mallocs per Sprintf("%x"): 10
mallocs per Sprintf("%x %x"): 12
Now:
mallocs per Sprintf(""): 2
mallocs per Sprintf("xxx"): 3
mallocs per Sprintf("%x"): 5
mallocs per Sprintf("%x %x"): 7
Speed improves because of avoiding mallocs and also by sharing a bytes.Buffer
between print.go and format.go rather than copying the data back after each
printed item.
Before:
fmt_test.BenchmarkSprintfEmpty 1000000 1346 ns/op
fmt_test.BenchmarkSprintfString 500000 3461 ns/op
fmt_test.BenchmarkSprintfInt 500000 3671 ns/op
Now:
fmt_test.BenchmarkSprintfEmpty 2000000 995 ns/op
fmt_test.BenchmarkSprintfString 1000000 2745 ns/op
fmt_test.BenchmarkSprintfInt 1000000 2391 ns/op
fmt_test.BenchmarkSprintfIntInt 500000 3751 ns/op
I believe there is more to get but this is a good milestone.
R=rsc
CC=golang-dev, hong
http://codereview.appspot.com/166076
|
|
* broken by reflect, gob
TBR=r
http://codereview.appspot.com/166077
|
|
For 386 we use the [f]statfs64 system call, which takes three
parameters: the filename, the size of the statfs64 structure,
and a pointer to the structure itself.
R=rsc
http://codereview.appspot.com/166073
|
|
* inform garbage collector about memory with no pointers in it
1.9s gcc reverse-complement.c
reverse-complement.go
4.5s / 3.5s original, with/without bounds checks
3.5s / 3.3s bounds check reduction
3.3s / 2.8s smarter garbage collector
2.6s / 2.3s assembler bytes.IndexByte
2.5s / 2.1s even smarter garbage collector (this CL)
R=r
http://codereview.appspot.com/165064
|
|
i don't know why the timeout needs
to be so big.
R=r
http://codereview.appspot.com/165063
|
|
R=rsc
http://codereview.appspot.com/165062
|