Commit Graph

3828 Commits

Author SHA1 Message Date
Rob Pike 3ddeef8153 rename os.Dir to os.FileInfo
R=rsc
CC=golang-dev
https://golang.org/cl/902042
2010-04-09 11:36:40 -07:00
Alex Brainman a17544f283 fix bug in os_test.go checkMode
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/872043
2010-04-08 21:16:05 -07:00
Russ Cox c60d048594 runtime: fix build (panic) for FreeBSD
R=adg
CC=golang-dev
https://golang.org/cl/867046
2010-04-08 21:13:42 -07:00
Russ Cox 5963dbac08 runtime: turn divide by zero, nil dereference into panics
tested on linux/amd64, linux/386, linux/arm, darwin/amd64, darwin/386.
freebsd untested; will finish in a separate CL.

for now all the panics are errorStrings.
richer structures can be added as necessary
once the mechanism is shaked out.

R=r
CC=golang-dev
https://golang.org/cl/906041
2010-04-08 18:15:30 -07:00
Russ Cox 72157c300b runtime: fix bad status throw
when garbage collector sees recovering goroutine

Fixes #711.

R=r
CC=golang-dev
https://golang.org/cl/869045
2010-04-08 13:24:53 -07:00
Russ Cox 2f0cae46d8 runtime: work around kernel bug in Snow Leopard signal handling
Could not take a signal on threads other than the main thread.
If you look at the spinning binary with dtrace, you can see a
fault happening over and over:

    $ dtrace -n '
    fbt::user_trap:entry /execname=="boot32" && self->count < 10/
    {
        self->count++;
        printf("%s %x %x %x %x", probefunc, arg1, arg2, arg3, arg4);
        stack();
        tracemem(arg4, 256);
    }'

    dtrace: description 'fbt::user_trap:entry ' matched 1 probe
    CPU     ID                    FUNCTION:NAME
      1  17015                  user_trap:entry user_trap 0 10 79af0a0 79af0a0
                  mach_kernel`lo_alltraps+0x12a

             0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  0123456789abcdef
         0: 0e 00 00 00 37 00 00 00 00 00 00 00 1f 00 00 00  ....7...........
        10: 1f 00 00 00 a8 33 00 00 00 00 00 01 00 00 00 00  .....3..........
        20: 98 ba dc fe 07 09 00 00 00 00 00 00 98 ba dc fe  ................
        30: 06 00 00 00 0d 00 00 00 34 00 00 00 9e 1c 00 00  ........4.......
        40: 17 00 00 00 00 02 00 00 ac 30 00 00 1f 00 00 00  .........0......
        50: 00 00 00 00 00 00 00 00 0d 00 00 00 e0 e6 29 00  ..............).
        60: 34 00 00 00 00 00 00 00 9e 1c 00 00 00 00 00 00  4...............
        70: 17 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00  ................
        80: ac 30 00 00 00 00 00 00 1f 00 00 00 00 00 00 00  .0..............
        90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
        a0: 48 00 00 00 10 00 00 00 85 00 00 00 a0 f2 29 00  H.............).
        b0: 69 01 00 02 00 00 00 00 e6 93 04 82 ff 7f 00 00  i...............
        c0: 2f 00 00 00 00 00 00 00 06 02 00 00 00 00 00 00  /...............
        d0: 78 ee 42 01 01 00 00 00 1f 00 00 00 00 00 00 00  x.B.............
        e0: 00 ed 9a 07 00 00 00 00 00 00 00 00 00 00 00 00  ................
        f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

    ...

The memory dump shows a 32-bit exception frame:

    x86_saved_state32

    gs = 0x37
    fs = 0
    es = 0x1f
    ds = 0x1f
    edi = 0x33a8
    esi = 0x01000000
    ebp = 0
    cr2 = 0xfedcba98
    ebx = 0x0907
    edx = 0
    ecx = 0xfedcba98
    eax = 0x06
    trapno = 0x0d
    err = 0x34
    eip = 0x1c9e
    cs = 0x17
    efl = 0x0200
    uesp = 0x30ac
    ss = 0x1f

The cr2 of 0xfedcba98 is the address that the new thread read
to cause the fault, but note that the trap is now a GP fault with
error code 0x34, meaning it's moved past the cr2 problem and on
to an invaild segment selector.  The 0x34 is suspiciously similar
to the 0x37 in gs, and sure enough, OS X forces gs to have
that value in the signal handler, and if your thread hasn't set
up that segment (known as USER_CTHREAD), you'll fault on the IRET
into the signal handler and never be able to handle a signal.

The kernel bug is that it forces segment 0x37 without making sure
it is a valid segment.  Leopard also forced 0x37 but had the courtesy
to set it up first.

Since OS X requires us to set up that segment (using the
thread_fast_set_cthread_self system call), we might as well
use it instead of the more complicated i386_set_ldt call to
set up our per-OS thread storage.

Also add some more zeros to bsdthread_register for new arguments
in Snow Leopard (apparently unnecessary, but being careful).

Fixes #510.

R=r
CC=golang-dev
https://golang.org/cl/824046
2010-04-08 13:24:37 -07:00
Charles L. Dorian 9aa8f95ba8 math: atan2 special cases (negative zero)
Added Signbit(), revised Copysign()

R=rsc
CC=golang-dev
https://golang.org/cl/822045
2010-04-08 13:24:04 -07:00
Russ Cox 24c58174b2 runtime: use explicit flag when finalizer goroutine is waiting
Avoids spurious wakeups during other sleeping by that goroutine.
Fixes #711.

R=r
CC=golang-dev
https://golang.org/cl/902041
2010-04-07 20:38:02 -07:00
Rob Pike 00eb56c15b gotest: update URL printed by failure message.
Fixes #677.

R=rsc
CC=golang-dev
https://golang.org/cl/834046
2010-04-07 20:30:55 -07:00
Ken Thompson b57afc2f83 another try at clearing
channel recv data.

R=rsc
CC=golang-dev
https://golang.org/cl/896041
2010-04-06 17:33:43 -07:00
Ken Thompson dec248c665 change channel read to clear
data just read from the channel.
this will make it easier to
recognize when to garbage
collect and finalize.

R=rsc
CC=golang-dev
https://golang.org/cl/882043
2010-04-06 16:58:52 -07:00
Russ Cox caa149f73d net: use chan bool instead of chan *netFD to avoid cycle
The cycle is *netFD -> cw chanl *netFD in struct ->
same *netFD in channel read buffer.

Because channels are finalized, the cycle makes them
uncollectable.  A better fix is to make channels not
finalized anymore, and that will happen, but this is
an easy, reasonable workaround until then.

Another good fix would be to zero the channel receive
buffer entry after the receive.  That too will happen.

R=r
CC=golang-dev
https://golang.org/cl/875043
2010-04-06 16:50:27 -07:00
Rob Pike 6431b984db flags: better tests.
R=rsc
CC=golang-dev
https://golang.org/cl/864044
2010-04-06 16:46:52 -07:00
Russ Cox 88ce9ce40c runtime: two proc bug fixes
1. Fix bug in GOMAXPROCS when trying to cut number of procs
Race could happen on any system but was
manifesting only on Xen hosted Linux.

2. Fix recover on ARM, where FP != caller SP.

R=r
CC=golang-dev
https://golang.org/cl/880043
2010-04-06 13:48:31 -07:00
Roger Peppe 6c3befc824 Change goyacc to be reentrant.
Instead of calling the package scope Lex function,
Parse now takes an argument which is used to
do the lexing.
I reverted to having the generated switch
code inside Parse rather than a separate function because
the function needs 7 arguments or a context structure,
which seems unnecessary.
I used yyrun(), not the original $A so that
it's possible to run the backquoted code through gofmt.

R=rsc, ken2, ken3
CC=golang-dev
https://golang.org/cl/879041
2010-04-06 13:29:27 -07:00
Kai Backman 29c6c09f71 replace original float instruction with jump to make branches
to float instructions work correctly.

R=rsc
CC=golang-dev
https://golang.org/cl/870044
2010-04-06 22:17:24 +03:00
Rob Pike b26a7a2b88 fix deps.bash. \t does not mean tab in some seds.
also: add /dev/null to the ls args to repair handling of empty dependency lists.

R=rsc
CC=golang-dev
https://golang.org/cl/883045
2010-04-06 10:53:48 -07:00
Giles Lean ac3cf56d33 syscall package: document that errno is zeroed on success
This is a documentation enhancement only, without any code
change.

The rationale for documenting this precisely is that Unix
programmers who "know" that errno's value is undefined after
a successful system call may be surprised otherwise and
search to be sure that a zero errno may be relied upon after
successful calls.

R=r, rsc1, rsc
CC=golang-dev
https://golang.org/cl/812044
2010-04-06 10:28:55 -07:00
Ian Lance Taylor 0688a97556 GNU/Linux sed requires \? rather than ?. Just use * instead.
R=rsc, r
CC=golang-dev
https://golang.org/cl/810043
2010-04-06 10:23:21 -07:00
Joe Poirier 1d37c11657 libcgo: initial mingw port work - builds but untested
R=rsc
CC=golang-dev
https://golang.org/cl/812041
2010-04-05 23:44:05 -07:00
Russ Cox 0085e35498 io/ioutil: fix bug in ReadFile when Open succeeds but Stat fails
R=gri
CC=golang-dev
https://golang.org/cl/867044
2010-04-05 23:36:52 -07:00
Russ Cox 6d69fd1fe3 runtime: fix Caller
log: add test of Caller

New regexp in log test is picky and will require some
maintenance, but it catches off-by-one mistakes too.

Fixes #710.

R=gri
CC=esko.luontola, golang-dev
https://golang.org/cl/887043
2010-04-05 23:36:37 -07:00
Russ Cox a267ff6a81 http: fix documentation example
R=adg
CC=golang-dev
https://golang.org/cl/813043
2010-04-05 22:55:05 -07:00
Charles L. Dorian 2e90f66eff cmath: new package
Complex math function package. Still needs more special case checking.

R=rsc
CC=golang-dev
https://golang.org/cl/874041
2010-04-05 22:10:27 -07:00
Russ Cox d08728f1e1 deps.bash: be less strict about format of x.go lines
R=iant
CC=golang-dev
https://golang.org/cl/862042
2010-04-05 22:08:07 -07:00
Russ Cox d89b357f76 runtime: handle malloc > 2GB correctly
R=ken2
CC=golang-dev
https://golang.org/cl/821048
2010-04-05 17:26:59 -07:00
Russ Cox 99d258a2f0 crypto/tls: good defaults
R=agl1
CC=golang-dev
https://golang.org/cl/851041
2010-04-05 14:38:02 -07:00
Russ Cox 6c196015e0 runtime: various arm fixes
* correct symbol table size
  * do not reorder functions in output
  * traceback
  * signal handling
  * use same code for go + defer
  * handle leaf functions in symbol table

R=kaib, dpx
CC=golang-dev
https://golang.org/cl/884041
2010-04-05 12:51:09 -07:00
Russ Cox 2379fdec04 gc: good syntax error for defer func() {} - missing final ()
R=ken2
CC=golang-dev
https://golang.org/cl/855044
2010-04-04 23:27:26 -07:00
Conrad Meyer 8abae596da nntp: new package, NNTP client
R=rsc, rsc1
CC=golang-dev
https://golang.org/cl/808041
2010-04-04 23:23:48 -07:00
Andrew Gerrand 8b20200fe1 run.bash: remove MAKEFLAGS=-j4 to prevent crashing on freebsd
R=rsc
CC=golang-dev
https://golang.org/cl/881044
2010-04-05 10:53:38 +10:00
Robert Griesemer f08ce18980 debug/proc: fix typo in package documentation
R=rsc
CC=golang-dev
https://golang.org/cl/829044
2010-04-02 16:20:47 -07:00
Alex Brainman 79017aa568 syscall: implementing some mingw syscalls required by os package
R=rsc
CC=golang-dev
https://golang.org/cl/770041
2010-04-02 01:11:17 -07:00
Russ Cox f75d0d224f runtime: turn run time errors checks into panics
R=ken2, r
CC=golang-dev
https://golang.org/cl/871042
2010-04-01 22:31:27 -07:00
Robert Griesemer d6589377c6 debug/macho: fix error message format
R=rsc
CC=golang-dev
https://golang.org/cl/836046
2010-04-01 15:58:10 -07:00
Robert Griesemer 4a6dfda4cc debug/macho: don't crash when reading non-Mach-O files
R=rsc
CC=golang-dev
https://golang.org/cl/838046
2010-04-01 15:36:44 -07:00
Russ Cox ec53627ed5 runtime: correct memory leak in select
* adds pass 3 to dequeue from channels eagerly

various other cleanup/churn:
  * use switch on cas->send in each pass to
    factor out common code.
  * longer goto labels, commented at target
  * be more agressive about can't happen:
    throw instead of print + cope.
  * use "select" instead of "selectgo" in errors
  * use printf for debug prints when possible

R=ken2, ken3
CC=golang-dev, r
https://golang.org/cl/875041
2010-04-01 11:56:18 -07:00
Russ Cox 69fd2a4ab7 build script tweaks
factor out environment variable checks.
infer $GOROOT etc during build if not set.
it's still necessary to set them for yourself
to use the standard Makefiles.

when running all.bash, don't recompile all the
go packages in run.bash, since make.bash already did.

R=r
CC=golang-dev
https://golang.org/cl/609042
2010-03-31 19:48:33 -07:00
Rob Pike b12007c4ed testing/regexp: use recover.
R=rsc
CC=golang-dev
https://golang.org/cl/816042
2010-03-31 17:57:50 -07:00
Andrew Gerrand 9b04c9b1ea json: use panic/recover to handle errors in Marshal
R=r, gri
CC=golang-dev
https://golang.org/cl/872041
2010-04-01 11:19:37 +11:00
Nigel Tao fd3e067e0f Delete xgb from the main repository. It has moved to
http://code.google.com/p/x-go-binding/

R=rsc
CC=golang-dev
https://golang.org/cl/846043
2010-04-01 10:14:42 +11:00
Russ Cox 5d230418c7 gc: fix alignment on non-amd64
R=ken2
CC=golang-dev
https://golang.org/cl/870041
2010-03-31 16:04:03 -07:00
Robert Griesemer f67c90f941 tabwriter: use panic/recover to handle errors
R=rsc, r
CC=golang-dev
https://golang.org/cl/864042
2010-03-31 16:01:22 -07:00
Rob Pike 7de610cc61 regexp: use panic/recover to handle errors
R=rsc, gri
CC=golang-dev
https://golang.org/cl/821046
2010-03-31 15:58:21 -07:00
Russ Cox 63e878a750 runtime: make type assertion a runtime.Error, the first of many
R=r
CC=golang-dev
https://golang.org/cl/805043
2010-03-31 15:55:10 -07:00
Russ Cox 9b1507b050 gc: implement panic and recover
R=ken2, r, ken3
CC=golang-dev
https://golang.org/cl/831042
2010-03-31 11:46:01 -07:00
Rob Pike 884f3256f0 Unicode: fix stupid typo in comment.
R=rsc
CC=golang-dev
https://golang.org/cl/864041
2010-03-30 18:33:06 -07:00
Rob Pike 4e2b7f8f41 Unicode: provide an ability to supplement the case-mapping tables
in character and string case mapping routines.

Add a custom mapper for Turkish and Azeri.

A more general solution for deriving the case information from Unicode's
SpecialCasing.txt will require more work.

Fixes #703.

R=rsc, rsc1
CC=golang-dev, mdakin
https://golang.org/cl/824043
2010-03-30 17:51:03 -07:00
Robert Griesemer e8e4987ba3 godoc: support for title and subtitle headers when serving .html docs
and use it to show version (date) of go spec

Fixes #68.

R=rsc
CC=golang-dev, r
https://golang.org/cl/848042
2010-03-30 17:37:42 -07:00
Russ Cox 7ecefdc03f runtime: fix arm build, slightly.
R=r
CC=golang-dev
https://golang.org/cl/842042
2010-03-30 17:00:27 -07:00
Robert Griesemer f1c39c13a6 go/printer: follow-up on CL 802043
- more test cases
- comment fixes
- minor unrelated changes as part of investigation of issue 702

R=rsc
CC=golang-dev
https://golang.org/cl/860041
2010-03-30 16:49:51 -07:00
Russ Cox 78547ca132 time: do not segment time strings by character class.
instead use pure substring matching to find template values.

this makes stdZulu unnecessary and allows formats
like "20060102 030405" (used in some internet protocols).

this makes Parse not handle years < 0000 or > 9999 anymore.
that seems like an okay price to pay, trading hypothetical
functionality for real functionality.

also changed the comments on the Time struct to use the
same reference date as the format and parse routines.

R=r
CC=golang-dev
https://golang.org/cl/833045
2010-03-30 14:54:32 -07:00
Russ Cox 8fbe8bee6c syscall: add IPV6 constants
R=r
CC=golang-dev
https://golang.org/cl/848041
2010-03-30 14:32:59 -07:00
Russ Cox 1231382b9e single argument panic on non-darwin and in comments
R=r
CC=golang-dev
https://golang.org/cl/800042
2010-03-30 13:15:16 -07:00
Risto Jaakko Saarelma ac58f646ac Gofmt preserves newlines in multiline selector expressions.
This is for making the fluent interface idiom usable with gofmt.

R=gri
CC=golang-dev
https://golang.org/cl/802043
2010-03-30 11:46:21 -07:00
Robert Griesemer 6a71a4639e godoc: don't print package clause in -src command-line mode with filtering
R=rsc
CC=golang-dev
https://golang.org/cl/844041
2010-03-30 11:19:58 -07:00
Russ Cox 01eaf780a8 gc: add panic and recover (still unimplemented in runtime)
main semantic change is to enforce single argument to panic.

runtime: change to 1-argument panic.
use String method on argument if it has one.

R=ken2, r
CC=golang-dev
https://golang.org/cl/812043
2010-03-30 10:53:16 -07:00
Russ Cox c7122a3c58 simplify various code using new map index rule
R=r
CC=golang-dev
https://golang.org/cl/833044
2010-03-30 10:51:11 -07:00
Russ Cox 6962e2b754 make: use actual dependency for install
otherwise "make install" runs cp unconditionally

R=r
CC=golang-dev
https://golang.org/cl/802044
2010-03-30 10:44:51 -07:00
Russ Cox 5b257732ac godefs: fix handling of negative constants
R=r
CC=golang-dev
https://golang.org/cl/849041
2010-03-30 10:42:13 -07:00
Russ Cox 00f9f0c056 single argument panic
note that sortmain.go has been run through hg gofmt;
only the formatting of the day initializers changed.
i'm happy to revert that formatting if you'd prefer.

stop on error in doc/progs/run

R=r
CC=golang-dev
https://golang.org/cl/850041
2010-03-30 10:34:57 -07:00
Russ Cox 5d0ec6c076 gc: flush warnings, if any
R=ken2
CC=golang-dev
https://golang.org/cl/811042
2010-03-29 23:34:59 -07:00
Christopher Wedgwood d166d1629a runtime: Remove unused runtime.write from linux/amd64
Also minor reformatting.

R=rsc
CC=golang-dev
https://golang.org/cl/845041
2010-03-29 22:51:39 -07:00
Russ Cox 83727ccf7c runtime: run deferred calls at Goexit
baby step toward panic+recover.

Fixes #349.

R=r
CC=golang-dev
https://golang.org/cl/825043
2010-03-29 21:48:22 -07:00
Robert Griesemer bc32dd9ec4 go/printer: fix a comment
R=rsc
CC=golang-dev
https://golang.org/cl/826042
2010-03-29 18:41:55 -07:00
Robert Griesemer 671919d19a godoc: support for filtering of command-line output in -src mode
+ various minor cleanups

Usage: godoc -src math Sin

R=rsc
CC=golang-dev
https://golang.org/cl/791041
2010-03-29 18:06:53 -07:00
Rob Pike 570af81e19 Flags: add user-defined flag types. The change is really no code; it's just publishing
the set() method and add() functions.  But we rename add() to Var() for consistency.
Also rename FlagValue to Value for simplicity.

Also, delete the check for multiple settings for a flag.  This makes it possible to
define a flag that collects values, such as into a slice of strings.

type flagVar []string

func (f *flagVar) String() string {
	return fmt.Sprint(v)
}

func (f *flagVar) Set(value string) bool {
	if v == nil {
		v = make(flagVar, 1)
	} else {
		nv := make(flagVar, len(v)+1)
		copy(nv, v)
		v = nv
	}
	v[len(v)-1] = value
	return true
}

var v flagVar

func main() {
	flag.Var(&v, "testV", "multiple values build []string")
	flag.Parse()
	fmt.Printf("v = %v\n", v)
}

R=rsc
CC=golang-dev
https://golang.org/cl/842041
2010-03-29 17:37:22 -07:00
Russ Cox d99a3da7b2 runtime: a couple more memory stats.
now runtime.MemStats.Sys really is the sum of all the other Sys fields.

R=r
CC=golang-dev
https://golang.org/cl/843041
2010-03-29 17:30:07 -07:00
Russ Cox 3908c16ffe gc: bug265
Fixes #700.

R=ken2
CC=golang-dev
https://golang.org/cl/839041
2010-03-29 15:27:59 -07:00
Robert Griesemer b880543ffa go/ast: generalized ast filtering
R=rsc
CC=golang-dev
https://golang.org/cl/788041
2010-03-29 15:26:07 -07:00
Rob Pike 299cd38f0a strings.FIelds: slight simplification.
R=rsc
CC=golang-dev
https://golang.org/cl/833042
2010-03-29 13:39:16 -07:00
Russ Cox bd1690ce5e fix build
R=gri
CC=golang-dev
https://golang.org/cl/837041
2010-03-29 13:30:32 -07:00
Russ Cox a709876767 runtime: more malloc statistics
expvar: default publishings for cmdline, memstats
godoc: import expvar

R=r
CC=golang-dev
https://golang.org/cl/815041
2010-03-29 13:06:26 -07:00
Roger Peppe a48115bf2e strconv.Unquote could wrongly return a nil error on error.
R=rsc, gri
CC=golang-dev
https://golang.org/cl/773041
2010-03-29 10:09:29 -07:00
Andrew Gerrand 9ba5ec53ad comment typos
Fixes #698.
Fixes #699.

R=rsc
CC=golang-dev
https://golang.org/cl/824041
2010-03-29 16:31:41 +11:00
Andrew Gerrand a618df0f5b comment typo in crypto/rsa/rsa.go
R=rsc
CC=golang-dev
https://golang.org/cl/823041
2010-03-29 13:13:12 +11:00
Andrew Gerrand dc6f8321b1 http: add HandleFunc as shortcut to Handle(path, HandlerFunc(func))
R=rsc
CC=golang-dev
https://golang.org/cl/763042
2010-03-29 10:02:37 +11:00
Raif S. Naffah 66dd26e967 xml: use io.ReadByter in place of local readByter
R=cemeyer, rsc
CC=golang-dev
https://golang.org/cl/809041
2010-03-27 23:12:30 -07:00
Dean Prichard 55b145e32a arm: fix build
R=rsc
CC=golang-dev
https://golang.org/cl/800041
2010-03-26 23:27:24 -07:00
Russ Cox 97d0e8fe6c gc: allow taking address of out parameters
Fixes #186.

R=ken2
CC=golang-dev
https://golang.org/cl/793041
2010-03-26 18:01:02 -07:00
Robert Griesemer 5a716206a4 fix build
R=r
CC=golang-dev
https://golang.org/cl/790041
2010-03-26 16:33:59 -07:00
Rob Pike 7ffe938f08 regexp: don't return non-nil *Regexp if there is an error.
R=gri
CC=golang-dev
https://golang.org/cl/787041
2010-03-26 16:18:20 -07:00
Russ Cox baf538406b pprof: dump extra heap information at end of heap profile
R=r
CC=golang-dev
https://golang.org/cl/786041
2010-03-26 15:32:53 -07:00
Russ Cox f375791a91 fix build
TBR=r
CC=golang-dev
https://golang.org/cl/785041
2010-03-26 15:01:29 -07:00
Russ Cox bc83042b07 godoc: export pprof debug information
R=gri
CC=golang-dev
https://golang.org/cl/784041
2010-03-26 14:48:04 -07:00
Russ Cox c72fb37425 prof: install gopprof too
This is a modified version of the open source pprof
from code.google.com/p/google-perftools.
That version is likely to catch up to this one,
but it's still useful to ship our own copy since
we only need the one script from that project,
not all the C++ libraries.

R=r
CC=golang-dev
https://golang.org/cl/783041
2010-03-26 14:20:50 -07:00
Russ Cox 4e28cfe970 runtime: run all finalizers in a single goroutine.
eliminate second pass of mark+sweep
by scanning finalizer table specially.

R=r
CC=golang-dev
https://golang.org/cl/782041
2010-03-26 14:15:30 -07:00
Charles L. Dorian 1ec91c8d1d math: add J1, Y1, Jn and Yn (Bessel functions)
Also amend j0.go (variable name conflict, small corrections).

R=rsc
CC=golang-dev
https://golang.org/cl/769041
2010-03-26 14:09:39 -07:00
Giles Lean ad73de2f5f syscall: Create syscall_bsd.go for code used by Darwin and other *BSDs
In this change I'd like to combine the common code that is
present in syscall_darwin.go and syscall_freebsd.go.  I
have three reasons for wanting to do this now:

1. reducing code duplication is nearly always good :-)
2. the duplication will get worse if I duplicate this code
   a third time for the NetBSD port I'm working on, which
   I need to do almost immediately
3. by making this change all in one lump and ignoring any
   commonality with the syscall_linux*.go files the diff
   is long but, I think, readable

In future it may be possible to cherry pick functions that
also apply to Linux and put them in (say) syscall_unix.go,
and of course some functions may diverge in future and have
to move out to OS or architecture specific files, but today
I want just the low hanging fruit.

Tested and passed on:

  Darwin (Snow Leopard, 10.6): amd64 and 386
  FreeBSD (8.0-RELEASE):       386 only(*)

(*) All my virtualisation software has stopped playing nice
with FreeBSD for the moment, so I don't have facilities to
test the amd64 port.  As the OS X port is OK and the diff
looks all right to my eyes I shall keep my fingers crossed.
If someone with a FreeBSD/amd64 system cares to test and
report I would be appreciative.

2010-03-27 update: I have replaced my virtualisation software, and have working FreeBSD/i386 and FreeBSD/amd64 virtual machines again.

As I hoped (and expected -- programmers are optimists :-) the code built and passed all but the two currently known to fail tests on FreeBSD/amd64. I rechecked FreeBSD/i386 too: same results.

R=rsc
CC=golang-dev
https://golang.org/cl/751041
2010-03-26 13:23:54 -07:00
Robert Griesemer d0ffee8abf bytes, strings: IndexOfAny
+ first use in go/doc

R=r
CC=golang-dev
https://golang.org/cl/781041
2010-03-26 13:05:04 -07:00
Rob Pike 9e481e2905 fix spelling of align
R=rsc
CC=golang-dev
https://golang.org/cl/778041
2010-03-26 09:56:57 -07:00
Firmansyah Adiputra dab40b5880 xgb: fix request length and request size.
R=nigeltao_golang, rsc
CC=golang-dev
https://golang.org/cl/759041
2010-03-26 09:21:09 -07:00
Robert Griesemer 6358e1faf6 godoc: don't convert multi-line functions into one-liners by default
- new heuristic: if both the opening { and closing } braces are on the
  same line, and the function body doesn't contain comments or is other-
  wise too long (e.g. signature too long), it is formatted as a one-line
  function

- related cleanups along the way

- gofmt -w src misc led to no additional changes as expected

R=rsc, rsc1
CC=golang-dev, ken2, r
https://golang.org/cl/758041
2010-03-25 16:59:02 -07:00
Russ Cox 7fbf9fcba9 make alignment rules match 8g, just like 6c matches 6g.
R=ken2
CC=golang-dev
https://golang.org/cl/760042
2010-03-25 14:05:54 -07:00
Russ Cox 78c27ed650 gc: more syntax errors
R=r
CC=golang-dev
https://golang.org/cl/731041
2010-03-25 12:47:43 -07:00
Rob Pike 4b40426a90 Add strconv.Atob, Btoa.
Fixes #639

R=rsc
CC=golang-dev
https://golang.org/cl/755041
2010-03-25 11:50:07 -07:00
Ian Lance Taylor 732f3919ab Support #pragma dynexport on OS X.
R=rsc
CC=golang-dev
https://golang.org/cl/733041
2010-03-25 11:45:18 -07:00
Christopher Wedgwood 7f2ea938ed syscall: Implement SetsockoptString
R=rsc, r
CC=golang-dev
https://golang.org/cl/739042
2010-03-24 22:36:38 -07:00
Giles Lean 729ccb5751 syscall: bring generated files zsyscall_darwin_*.go
up to date.

No functional change, but when these files are regenerated
they change, leading to noisy diffs when working in the
syscall package.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/705043
2010-03-24 21:59:21 -07:00
Alex Brainman a24cf69fd8 runtime: fix mingw build, implement missing destroylock()
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/747041
2010-03-24 18:03:10 -07:00
Ken Thompson 623dfd1b07 depricate panicln
R=rsc
CC=golang-dev
https://golang.org/cl/743041
2010-03-24 16:53:54 -07:00
Rob Pike 325cf8ef21 delete all uses of panicln by rewriting them using panic or,
in the tests, println+panic.
gofmt some tests too.

R=rsc
CC=golang-dev
https://golang.org/cl/741041
2010-03-24 16:46:53 -07:00
Robert Griesemer acfd6d5f05 godoc: show relative file names without leading '/' (per r's request)
- change the various url-xxx formatters to return a relative URL path
- make the leading '/' for URLs explicit in the template
- on the way change some |html formatters to |html-esc
  (html should only be used for formatting AST nodes)

R=rsc, r
CC=golang-dev
https://golang.org/cl/740041
2010-03-24 16:28:59 -07:00
Robert Griesemer 60482f06d0 godoc: use http GET for remote search instead of rpc
(this will allow the use of golang.org for remote
searches)

R=rsc
CC=golang-dev
https://golang.org/cl/734041
2010-03-24 14:51:55 -07:00
Russ Cox 6eb251f244 runtime: malloc sampling, pprof interface
R=r
CC=golang-dev
https://golang.org/cl/719041
2010-03-24 09:40:09 -07:00
Charles L. Dorian 6b6c3993d5 math: add J0 and Y0 (Bessel functions)
R=rsc
CC=golang-dev
https://golang.org/cl/661044
2010-03-24 09:25:49 -07:00
Russ Cox 1c7cc5bd7a cc: fix typo
R=iant
CC=golang-dev
https://golang.org/cl/720041
2010-03-24 08:59:09 -07:00
Russ Cox 596c16e045 runtime: add memory profiling, disabled.
no way to get the data out yet.

add prototype for runtime.Callers,
missing from last CL.

R=r
CC=golang-dev
https://golang.org/cl/713041
2010-03-23 20:48:23 -07:00
Dean Prichard 72bc37c122 arm: fix build
R=kaib, rsc
CC=golang-dev
https://golang.org/cl/627045
2010-03-23 18:13:20 -07:00
Andrey Mirtchovski 456642adb5 cmd/goinstall: include command name in error reporting (usually missing software or incorrect $PATH)
R=rsc
CC=golang-dev
https://golang.org/cl/695041
2010-03-23 18:13:16 -07:00
Russ Cox eaf45f2d56 gc: fix build in France
Fixes #626.

R=ken2
CC=golang-dev
https://golang.org/cl/714041
2010-03-23 18:11:21 -07:00
Fumitoshi Ukai 371496e0b8 websocket: implement new protocol
http://www.whatwg.org/specs/web-socket-protocol/
(draft of draft-hixie-thewebsocketprotocol-76)

draft-hixie-thewebsocketprotocol-76 will introduce new handshake
incompatible draft 75 or prior.
http://tools.ietf.org/html/draft-hixie-thewebsocketprotocol

R=rsc
CC=golang-dev
https://golang.org/cl/583041
2010-03-23 18:09:24 -07:00
Giles Lean 2ab9114dd7 Trivial: remove duplicate line #include <sys/types.h>
R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/645044
2010-03-23 17:52:16 -07:00
Russ Cox 556ae65d36 fix build - unused import
R=gri
CC=golang-dev
https://golang.org/cl/711041
2010-03-23 17:34:13 -07:00
Russ Cox 2b7d147f1a runtime: add Callers
cut copies of traceback from 6 to 1.

R=r
CC=golang-dev
https://golang.org/cl/703041
2010-03-23 17:01:17 -07:00
Russ Cox 32c39fa1b7 go/printer: avoid reflect in print
R=gri
CC=golang-dev
https://golang.org/cl/704041
2010-03-23 16:56:48 -07:00
Kyle Consalus a65a56ec1f xml: add line numbers to syntax errors.
R=rsc
CC=golang-dev
https://golang.org/cl/699041
2010-03-23 13:20:16 -07:00
Ken Thompson e781303e27 maps access to a missing key
will return the "zero" value

R=rsc
CC=golang-dev
https://golang.org/cl/700041
2010-03-23 13:00:02 -07:00
Kyle Consalus 66caa38d49 xml: add CopyToken
R=rsc
CC=golang-dev
https://golang.org/cl/634042
2010-03-23 09:43:20 -07:00
Ian Lance Taylor 9e0ae94e72 Add support for #pragma dynexport.
R=rsc
CC=golang-dev
https://golang.org/cl/661043
2010-03-23 06:46:30 -07:00
Ian Lance Taylor f54d73b880 Rename dynld to dynimport throughout.
Cgo users will need to rerun cgo.

R=rsc
CC=golang-dev
https://golang.org/cl/692041
2010-03-22 19:58:55 -07:00
Russ Cox 4408659e81 gc: various map-related bug fixes
Fixes #687.

R=ken2
CC=golang-dev
https://golang.org/cl/680042
2010-03-22 18:51:14 -07:00
Andrew Gerrand 51a7f1c9d6 ast/printer: support for printing ast.Spec nodes
R=gri
CC=golang-dev
https://golang.org/cl/682041
2010-03-23 09:00:47 +11:00
Russ Cox 2e5fe5a14c goinstall: let git/hg/svn create the final directory element
R=r
CC=golang-dev
https://golang.org/cl/634044
2010-03-20 22:38:06 -07:00
Russ Cox aceba042d6 libmach: more info when memory reads fail on Darwin
R=r
CC=golang-dev
https://golang.org/cl/604043
2010-03-20 22:37:23 -07:00
Ken Thompson 8021296179 issue 682
complex DATA statement fo
initialization of complex variables.

R=rsc
CC=golang-dev
https://golang.org/cl/634045
2010-03-20 18:50:01 -07:00
Robert Griesemer 6c8fdbe8c7 godoc: line numbers for all remote search results
Instead of returning the index lookup result via
RPC which has to be corrected for the client,
simply render it on the server and return the
final output.

R=rsc, r
CC=golang-dev
https://golang.org/cl/669041
2010-03-19 22:48:08 -07:00
Russ Cox e8fb0b014c godoc: revert change 5089, per gri's instructions
R=gri
CC=golang-dev
https://golang.org/cl/630043
2010-03-19 17:46:18 -07:00
Robert Griesemer b037bfa684 godoc: proper file path conversion for remote search
R=rsc
CC=golang-dev
https://golang.org/cl/664041
2010-03-19 17:07:16 -07:00
Rob Pike f9d6af9fb8 Make.cmd: make 'all' the default target (was 'clean': BUG)
R=rsc
CC=golang-dev
https://golang.org/cl/661041
2010-03-19 16:33:27 -07:00
Russ Cox b21f3137a4 os: drop File finalizer after normal Close
R=r
CC=golang-dev
https://golang.org/cl/586043
2010-03-19 16:28:32 -07:00
Andrew Gerrand f4322a848d http: add Error helper function
R=r, rsc
CC=golang-dev
https://golang.org/cl/626042
2010-03-20 10:22:09 +11:00
Charles L. Dorian 26f0c83eb8 math: add Gamma function
R=rsc
CC=golang-dev
https://golang.org/cl/649041
2010-03-19 15:29:22 -07:00
Alex Brainman 64f33880e5 syscall: mingw implemntation of Errstr()
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/621041
2010-03-19 15:21:37 -07:00
Robert Griesemer fa462f37e3 godoc: show (some) line numbers for remote search
- show build version
- use build goroot when possible

R=rsc
CC=golang-dev
https://golang.org/cl/656043
2010-03-19 15:20:20 -07:00
Alex Brainman b0c6bba8e8 syscall: mksyscall_mingw.sh emitting shorter calls (to Syscall or Syscall6) when there are fewer arguments
R=rsc
CC=golang-dev
https://golang.org/cl/622041
2010-03-19 15:17:18 -07:00
Rob Pike 14abacf108 Factor the Makefiles to make writing outside Makefiles easier.
R=rsc
CC=golang-dev
https://golang.org/cl/650042
2010-03-19 15:14:46 -07:00
Ken Thompson 60c2e5f453 issue 608
error compiling if(long long) in 6c compiler

R=rsc
CC=golang-dev
https://golang.org/cl/657042
2010-03-19 14:20:15 -07:00
Fumitoshi Ukai f15447ca3e websocket: use URL.RawPath to construct WebSocket-Location: header
R=rsc
CC=golang-dev
https://golang.org/cl/651041
2010-03-19 14:18:02 -07:00
Alex Brainman 71e402d8ff deps.bash: handle Makefiles with .go filenames that include $(GOOS) and $(GOARCH)
R=rsc
CC=golang-dev
https://golang.org/cl/642042
2010-03-19 14:17:07 -07:00
Robert Griesemer 90f7209548 godoc: improved comment formatting: recognize URLs
and highlight special words, if provided. Also:

- related cleanups in src/pkg/go/doc/comment.go
- fix typos in src/cmd/goinstall/doc.go

Fixes #672.

R=rsc
CC=adg, golang-dev
https://golang.org/cl/601042
2010-03-19 13:01:45 -07:00
Robert Griesemer 17e0351404 godoc: implemented command-line search
The command-line search is using a running webserver
as index server; i.e., the search result is reflecting
the index at the server. See the documentation for
details.

Usage: godoc -q query1 query2 ...

Known issue: Results don't show the all-important
line numbers yet due to the way the index is organized.
Next CL.

R=rsc, r
CC=golang-dev
https://golang.org/cl/648041
2010-03-19 12:46:43 -07:00
Andrew Gerrand c10ccd567d template: fixed html formatter bug where it would turn a []byte
into a string of decimal numbers.

R=r, rsc
CC=golang-dev
https://golang.org/cl/624041
2010-03-19 09:46:39 +11:00
Robert Griesemer 4467037353 rpc documentation cleanup: remove ;'s from code in documentation
R=r
CC=golang-dev
https://golang.org/cl/624042
2010-03-18 14:10:25 -07:00
Robert Griesemer 7f7751837c go/doc cleanup: remove some unnecessary string conversions
R=rsc
CC=golang-dev
https://golang.org/cl/642041
2010-03-18 14:09:17 -07:00
Alex Brainman 8c24fa95aa Fix src/pkg/syscall/mkall.sh: don't assume that . is on PATH.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/614042
2010-03-17 20:07:14 -07:00
Ian Lance Taylor 332ff67ee2 Fix build: don't assume that . is on PATH.
R=rsc
TBR=rsc
CC=golang-dev
https://golang.org/cl/610043
2010-03-17 10:08:27 -07:00
Russ Cox 908efdb5ac crypto/rand: new package
Until proven insufficient, rely on the operating system
to give us good random bytes (/dev/urandom).

R=agl1
CC=golang-dev
https://golang.org/cl/569044
2010-03-16 23:12:20 -07:00
Russ Cox 0c3a93ceb7 runtime: add GOROOT and Version
R=r
CC=golang-dev
https://golang.org/cl/608041
2010-03-16 23:10:33 -07:00
Alex Brainman 5e6203d28b syscall: more changes to mingw version
- mkall now generates syscall stabs automatically
- we can call unicode versions of winapi now
- introduce GetErrstr function to fetch error text given errno
- general cleanup

R=rsc
CC=golang-dev
https://golang.org/cl/562041
2010-03-16 23:10:07 -07:00
Andrew Gerrand 9d930040d7 json: add MarshalIndent (accepts user-specified indent string)
Fixes #661

R=r, rsc, skorobo
CC=golang-dev
https://golang.org/cl/576042
2010-03-17 15:41:16 +11:00
Russ Cox e153d3d818 syscall: add const ARCH, analogous to OS
R=r
CC=giles, golang-dev
https://golang.org/cl/600041
2010-03-16 18:45:48 -07:00
Russ Cox cf5ee36aa0 version.bash: cope with ancient Mercurial
R=adg
CC=dpx, golang-dev
https://golang.org/cl/593043
2010-03-16 18:45:06 -07:00
Russ Cox 141821d512 http: change RawPath to mean raw path, not raw everything-after-scheme.
The new meaning is more useful for both websocket and http.

R=r, petar-m, ukai
CC=golang-dev, madari
https://golang.org/cl/582043
2010-03-16 18:44:55 -07:00
Russ Cox c75f891a72 utf16: new package
needed for interacting with various legacy interfaces,
like Windows and the Mac OS clipboard.

R=r
CC=golang-dev
https://golang.org/cl/595041
2010-03-16 18:44:37 -07:00
Andrew Gerrand 67148530d2 goinstall doc: fix link to godashboard/package
R=rsc
CC=golang-dev
https://golang.org/cl/607041
2010-03-17 11:40:05 +11:00
Robert Griesemer 53f3d0733c gofmt: more consistent formatting of const/var decls
- gofmt -w src misc
- only manually modified file: src/pkg/go/printer/nodes.go

R=rsc
CC=golang-dev, r
https://golang.org/cl/606041
2010-03-16 16:45:54 -07:00
Robert Griesemer 74fac99d05 godoc: initial support for showing popup information
for identifiers in Go source code

- at the moment just show identifier kind (var, func, etc.) and name
  (eventually should show declaration, type, etc.)
- JavaScript parts by adg

R=rsc
CC=adg, golang-dev
https://golang.org/cl/578042
2010-03-16 14:17:42 -07:00
Russ Cox 0b986316b8 net: fix IPMask.String not to crash on all-0xff mask
R=r
CC=golang-dev
https://golang.org/cl/438042
2010-03-16 14:16:33 -07:00
Petar Maymounkov 7f4c2caea5 http: add ParseQuery
R=rsc
CC=golang-dev
https://golang.org/cl/238041
2010-03-16 13:57:16 -07:00
Conrad Meyer 899e2e6e0c sha512: add sha384 (truncated version)
R=rsc
CC=golang-dev
https://golang.org/cl/317041
2010-03-16 13:26:21 -07:00
Robert Griesemer 926f59ba14 image/jpeg: fix typos
Fixes #665.

R=nigeltao, nigeltao_golang
CC=golang-dev
https://golang.org/cl/570041
2010-03-15 22:10:47 -07:00
Russ Cox acfd7b8d12 runtime: lock finalizer table accesses
R=r
CC=golang-dev
https://golang.org/cl/462043
2010-03-15 20:29:17 -07:00
Robert Griesemer b32f22b3f8 gofmt: fix for gofmt rewrite feature
Fixes #643.

R=rsc
CC=golang-dev
https://golang.org/cl/576041
2010-03-15 15:42:09 -07:00
Robert Griesemer 226c2ec256 godoc: support for multiple packages in a directory
- smartly select the "right" package
- provide a list of other packages

R=rsc
CC=golang-dev
https://golang.org/cl/466042
2010-03-12 18:16:21 -08:00
Russ Cox 1a5cd2c0e1 hash/crc64: new package implementing 64-bit CRC
hash/crc32: add Update function
hash: add Sum64 interface

R=r
CC=golang-dev
https://golang.org/cl/445042
2010-03-12 17:38:18 -08:00
Robert Griesemer 67f1becad6 gofmt: make sure there is a newline after
a /*-style comment at the end of a file

Some minor cleanups/typo fixes along the way.

Fixes an issue where that newline was removed
after applying gofmt.

R=r
CC=golang-dev
https://golang.org/cl/476043
2010-03-12 14:54:06 -08:00
Robert Griesemer ee0c35be85 go/printer: fix a couple of hidden crashes that become
visible only when enabling internal debug mode:
- in rare cases expression depth can underflow
- when printing a single labeled statement, indentation
  may underflow if not setup correctly

R=rsc
CC=golang-dev
https://golang.org/cl/484041
2010-03-12 14:01:52 -08:00
Robert Griesemer f7c27b9af9 ast/filter.go: missing nil-check causes crash
R=rsc
CC=golang-dev
https://golang.org/cl/461041
2010-03-11 17:39:55 -08:00
Robert Griesemer 3e24f2d6df godoc: fix formatting of -src output
- go/filter.go: make MergePackageFiles smarter
- go/printer.go: handle positions from multiple files

R=rsc
CC=golang-dev
https://golang.org/cl/460042
2010-03-11 16:44:56 -08:00
Robert Griesemer 8107cad45a math, path: minor comment fixes
R=r
CC=golang-dev
https://golang.org/cl/444043
2010-03-11 16:40:32 -08:00
Christopher Wedgwood 698bc461bf syslog: increase test timeout from 10ms to 100ms
Problem pointed out by rsc.

R=rsc
CC=golang-dev
https://golang.org/cl/444041
2010-03-11 09:46:16 -08:00
Robert Griesemer 2a62195153 math package: minor documentation fix
R=rsc
CC=golang-dev
https://golang.org/cl/424041
2010-03-10 17:04:43 -08:00
Robert Griesemer 799609e0b4 godoc: change -x to -src, update doc.go (missed in previous CL)
R=rsc
CC=golang-dev
https://golang.org/cl/384044
2010-03-10 15:41:36 -08:00
Robert Griesemer 35aec6c7f7 godoc: provide mode which shows exported interface in "source form"
- on the commandline: godoc -x big
- in a webpage: provide form parameter ?m=src

Known issues:
- Positioning of comments incorrect in several cases. Separate CL.
- Need a link/menu to switch between different modes of presentation
  in the web view.

R=rsc
CC=golang-dev
https://golang.org/cl/376041
2010-03-10 15:22:22 -08:00
Russ Cox 16e6df9807 fix 386 a[i] = cmplx(r, j)
R=ken2
CC=golang-dev
https://golang.org/cl/384043
2010-03-10 13:06:35 -08:00
Andrew Gerrand a2772a593b template: add ParseFile, MustParseFile, and associated tests
R=r
CC=golang-dev
https://golang.org/cl/391041
2010-03-10 20:19:20 +11:00
Ken Thompson 2edb02b41e 1. decommit complex(float) conversion
2. add complex algorithm for map/chan
3. test for use of complex in
   array, slice, field, chan, map,
   field, pointer.

R=rsc
CC=golang-dev
https://golang.org/cl/384041
2010-03-09 17:51:30 -08:00
Russ Cox 529369e452 gc: remove duplicate errors, give better error for I.(T)
R=ken2
CC=golang-dev
https://golang.org/cl/370041
2010-03-09 15:09:37 -08:00
Alex Brainman e00795859b syscall: minimal mingw version of syscall to call windows dlls
lots of missing parts, but builds and can call dlls, see a sample code in syscall_mingw.go

R=rsc
CC=golang-dev
https://golang.org/cl/218042
2010-03-09 15:09:09 -08:00
Dean Prichard 75e5ece03a reflect: typo in comment
R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/369041
2010-03-10 10:00:10 +11:00
Rob Pike 9280b746ee fmt: enable the complex tests now that 8g supports complex
R=rsc
CC=golang-dev
https://golang.org/cl/357043
2010-03-09 14:17:14 -08:00
Ken Thompson 38ad41c317 fix bugs compiling things like
c = cmplx(imag(c), real(c))
without a temporary

R=rsc
CC=golang-dev
https://golang.org/cl/360043
2010-03-09 13:39:45 -08:00
Ken Thompson f229c8b546 identical complex implementation
for 6g and 8g. can also be used
for 5g. 5g is still a stub.

R=rsc
CC=golang-dev
https://golang.org/cl/362041
2010-03-09 12:49:24 -08:00
Dean Prichard 5b1a196c37 arm: cleanup build warnings
trivial stuff
lex.c: these prototypes are in a.h
asm.c: unused variables
arm-pass.txt deal w/ sieve.go rename and addition of sieve2.go

R=kaib, rsc
CC=golang-dev
https://golang.org/cl/244041
2010-03-08 18:13:19 -08:00
Raif S. Naffah 96c9603a43 crypto/ripemd160: new package
R=rsc
CC=golang-dev
https://golang.org/cl/224081
2010-03-08 18:12:36 -08:00
Conrad Meyer bbec504f60 crypto/sha256: add SHA-224
R=agl1, rsc
CC=golang-dev
https://golang.org/cl/253045
2010-03-08 18:12:30 -08:00
Giles Lean 0ed8231e69 encoding/base64: fix typo in comment
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/258041
2010-03-08 18:12:25 -08:00
Dean Prichard f015c53ada gc: avoid fixed length buffer cleanbuf
R=rsc
CC=golang-dev
https://golang.org/cl/302042
2010-03-08 17:00:14 -08:00
Conrad Meyer 5bebadf23f crypto/sha512: new package
R=rsc
CC=golang-dev
https://golang.org/cl/240043
2010-03-08 17:00:04 -08:00
Russ Cox 4ac011a011 gc: simplify complex typecheck
do not convert to float prematurely.

R=ken2
CC=golang-dev
https://golang.org/cl/311041
2010-03-08 15:44:18 -08:00
Russ Cox 4f89dcdf99 5g/6g/8g: fix double function call in slice
Fixes #654.

R=ken2
CC=golang-dev
https://golang.org/cl/310041
2010-03-08 14:19:28 -08:00
Russ Cox 8ddd6c4181 runtime: clock garbage collection on bytes allocated, not pages in use
This keeps fragmentation from delaying
garbage collections (and causing more fragmentation).

Cuts fresh godoc (with indexes) from 261M to 166M (120M live).
Cuts toy wc program from 50M to 8M.

Fixes #647.

R=r, cw
CC=golang-dev
https://golang.org/cl/257041
2010-03-08 14:15:44 -08:00
Adam Langley df53544f4f crypto/rsa: don't use safe primes.
Previously we would require safe primes for our RSA key generation.
Since this took rather a long time, this removes the requirement that
the primes be safe.

OpenSSL doesn't use safe primes for RSA key generation either
(openssl-0.9.8l/crypto/rsa/rsa_gen.c:122)

Fixes #649.

R=rsc
CC=golang-dev
https://golang.org/cl/253041
2010-03-08 09:25:24 -05:00
Christopher Wedgwood 520621d24c regex: Remove unneeded imports from test.
R=rsc, adg, r
CC=golang-dev
https://golang.org/cl/264041
2010-03-07 11:17:36 -08:00
Andrew Gerrand f25e016c60 regexp: add ReplaceAllFunc and ReplaceAllStringFunc
R=r
CC=golang-dev
https://golang.org/cl/247041
2010-03-07 12:41:49 +11:00
Rob Pike cba81d8058 fix bug in complex printing: imaginary didn't have same format as real.
add tests.

R=rsc, ken2, ken3
CC=golang-dev
https://golang.org/cl/261041
2010-03-06 13:38:14 -08:00
Ken Thompson 788b41751e PTAL
R=r
CC=golang-dev
https://golang.org/cl/254043
2010-03-06 11:26:33 -08:00
Ken Thompson 426099f42e 6g complex type usable
8g and 5g have stubs to ignore complex

R=rsc
CC=golang-dev
https://golang.org/cl/257042
2010-03-05 20:16:04 -08:00
Russ Cox a9b9afa930 gc: fix crash on complicated arg to make slice.
Fixes #615.

R=ken2
CC=golang-dev
https://golang.org/cl/255043
2010-03-05 19:29:14 -08:00
Charles L. Dorian 067fe2840b math: faster hypot
Use hardware sqrt for faster hypot; preserve software-only
hypot as hypotGo (like sqrtGo); enable benchmarking of
hypotGo.

R=rsc
CC=golang-dev
https://golang.org/cl/229049
2010-03-05 16:45:39 -08:00
Russ Cox ac499ed7a5 gc: better compilation of floating point +=
R=ken2
CC=golang-dev
https://golang.org/cl/255042
2010-03-05 15:35:09 -08:00
Rob Pike 8c9944d8c8 bufio: WriteRune
also fix a printing error in the test for bytes.Buffer

R=golang-dev
CC=golang-dev
https://golang.org/cl/240042
2010-03-05 14:03:17 -08:00
Adam Langley 308064fc59 big: fix mistakes with probablyPrime
probablyPrime would return false negatives in some cases.

This code has now been tested against GMP for several million iterations without issues.

Fixes #638.

R=rsc
CC=golang-dev
https://golang.org/cl/252041
2010-03-05 15:55:26 -05:00
Rob Pike 0ac5ef70db Add ReadRune and WriteRune to bytes.Buffer
The comments mention bufio's WriteRune, which should come next.

R=rsc
CC=golang-dev
https://golang.org/cl/245041
2010-03-05 11:34:53 -08:00
Robert Griesemer a145829873 frexp.go: remove html from comment
R=r
CC=golang-dev
https://golang.org/cl/250041
2010-03-05 10:30:50 -08:00
Robert Griesemer 9a65a06e37 godoc: don't throw away function documentation
if there are multiple functions (for a package, type)
with the same name

Fixes #642.

R=rsc
CC=golang-dev
https://golang.org/cl/243041
2010-03-05 10:13:58 -08:00
Robert Griesemer e8a049b440 gofmt: modified algorithm for alignment of multi-line composite/list entries
- only manual changes are in src/pkg/go/printer/nodes.go
- use a heuristic to determine "outliers" such that not entire composites are
  forced to align with them
- improves several places that were not unligned before due too simple heuristic
- unalignes some cases that contain "outliers"
- gofmt -w src misc

Fixes #644.

R=rsc, r
CC=golang-dev
https://golang.org/cl/241041
2010-03-04 17:37:15 -08:00
Russ Cox 3e4e4ec704 goinstall: an experiment in (external) package installation
R=adg, r
CC=cw, golang-dev
https://golang.org/cl/224043
2010-03-04 17:04:50 -08:00
Spring Mc 3dcbf73c84 strings: make Split(s, "", n) faster
R=rsc
CC=golang-dev
https://golang.org/cl/223096
2010-03-04 16:15:51 -08:00
Russ Cox 36c5c5bf40 cc: disallow ... argument unless NOSPLIT is set.
check that NOSPLIT functions don't use too much stack.
correct some missing NOSPLITs in the runtime library.

Fixes bug reported in
https://groups.google.com/group/golang-nuts/t/efff68b73941eccf

R=ken2
CC=golang-dev
https://golang.org/cl/236041
2010-03-04 15:34:25 -08:00
Charles L. Dorian 6b80a5fa6d math: added ilogb, logb, remainder, tests and special conditions
Also added expm1_386 and remainder_386; shortened exp_386

R=rsc
CC=golang-dev
https://golang.org/cl/217109
2010-03-03 18:17:13 -08:00
Russ Cox e53f7d8993 net: put [ ] around IPv6 addresses for Dial
Update #538.

R=r
CC=golang-dev
https://golang.org/cl/229045
2010-03-03 17:30:39 -08:00
Russ Cox 74b131c0ab net: fix nil deref in testTimeout when Dial fails
Pointed out by Scott Schwartz.

Fixes #637.

R=scotts
CC=golang-dev
https://golang.org/cl/225042
2010-03-03 17:30:29 -08:00
Russ Cox f1550482fa gc: fix imported and not used message - show path
R=ken2
CC=golang-dev
https://golang.org/cl/229046
2010-03-03 17:23:47 -08:00
Rob Pike 90367756bb encoding/binary: fix error reporting bug
R=rsc
CC=golang-dev
https://golang.org/cl/224096
2010-03-03 12:35:16 -08:00
Stephen Ma 3b82f295b4 net: fix network timeout boundary condition.
Fixes #472.

R=golang-dev
CC=golang-dev
https://golang.org/cl/223108
2010-03-03 18:43:36 +11:00
Stephen Ma b73e592ed1 net: correct DNS configuration
Set defaults to the same values as various C DNS resolver libraries.
Use the timeout value from the configuration.
Fixes #632.

R=rsc
CC=golang-dev
https://golang.org/cl/223094
2010-03-03 15:25:26 +11:00
Ken Thompson 7d4b1e4c0d more on type complex.
getting close.

R=rsc
CC=golang-dev
https://golang.org/cl/224105
2010-03-02 18:32:11 -08:00
Robert Griesemer 305f5433f3 gofmt: fix alignment of multi-line var declarations
- gofmt -w src misc

R=rsc, r
CC=golang-dev
https://golang.org/cl/223101
2010-03-02 17:23:07 -08:00
Andrew Gerrand adf1e4c5fd http: corrected comment for Response.GetHeader.
Fixes #622.

R=rsc
CC=golang-dev
https://golang.org/cl/224084
2010-03-03 08:53:22 +11:00
Robert Griesemer f44fa9b4c7 gofmt: experiment: align values in map composites where possible
- gofmt -w src misc
- looking for feedback

R=rsc, r
CC=golang-dev
https://golang.org/cl/223076
2010-03-02 13:46:51 -08:00
Andrey Mirtchovski 1f3222a57b strings.Bytes -> []byte for documentation example, src/pkg/* comments, and htmlgen.go
R=rsc, adg
CC=golang-dev
https://golang.org/cl/224087
2010-03-02 11:18:22 +11:00
Andrew Gerrand 6d0f1fedbf gotest: set $AS to $GOBIN/$AS
May address issue 624.

R=rsc
CC=golang-dev
https://golang.org/cl/223083
2010-02-28 21:49:06 -08:00
Stephen Ma a627d61d5d Count utf8 runes, not bytes when determining string width. Note
that pad() still counts bytes, but it's currently only used for
1 byte runes.

Fixes #612.

R=r
CC=golang-dev
https://golang.org/cl/217064
2010-02-28 21:15:56 +11:00
Russ Cox fe746055a2 testing/benchmark: paranoia - make sure n always grows
R=wcn
CC=golang-dev
https://golang.org/cl/223075
2010-02-26 17:18:43 -08:00
Raif S. Naffah ef531c2b57 crypto/blowfish: new package
R=rsc
CC=golang-dev
https://golang.org/cl/217116
2010-02-26 15:24:46 -08:00
Robert Griesemer 059bc2742a go/parser cleanup: remove some state by writing more functional code
R=rsc
CC=golang-dev
https://golang.org/cl/223071
2010-02-26 14:50:12 -08:00
Russ Cox bc6878331a 8g: fix out of register bug in byte(x) code
R=ken2
CC=golang-dev
https://golang.org/cl/223070
2010-02-26 14:21:52 -08:00
Ian Lance Taylor e6443f6255 Add -r option to 6l/8l/5l.
This permits more flexibility with cgo and swig in cases where
the program is run on a machine other than the one on which it
is built.  Rather than storing the absolute path to the shared
library in the DT_NEEDED entry, we can store just the name,
and let the dynamic linker find it using DT_RUNPATH or the
LD_LIBRARY_PATH environment variable.

R=rsc
CC=golang-dev
https://golang.org/cl/223068
2010-02-26 14:03:52 -08:00
Russ Cox ba50599e46 8g: make a[byte(x)] truncate x
R=ken2
CC=golang-dev
https://golang.org/cl/223069
2010-02-26 13:15:29 -08:00
Robert Griesemer 9520a68268 go/scanner: the position of '\n's chars must be the last position of the current line
Background: This didn't matter until recently, because '\n' don't appear as token starts
in source code and thus the exact position was irrelevant (and set as was easiest in the
code). With auto semicolon insertion, a virtual semicolon may be inserted when a '\n' is
seen. The position of the semicolon is the position of the '\n'. Without this fix, these
semicolons appeared on the next line instead of the line where they were inserted.  This
affected the association of comments to declarations in the parser. As a result, some
lead comments where considered line comments, not collected in the ast, and not shown in
godoc pages. (This affected only godoc pages, not gofmt-formatted programs).

Fixes #592.

R=rsc
CC=golang-dev
https://golang.org/cl/224068
2010-02-26 11:23:12 -08:00
Micah Stetson 8c5404746f Fix a couple of bugs referencing data values in template.
Adds tests and fixes for two cases that fail with the current release.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/217115
2010-02-26 18:39:43 +11:00
Russ Cox 8fbd5f8a82 use []byte("abc") in place of []byte{'a', 'b', 'c'}
R=gri
CC=golang-dev
https://golang.org/cl/223059
2010-02-25 16:43:43 -08:00
Robert Griesemer d177539877 go/printer, gofmt: align comments in multi-line expression lists
- gofmt -w src misc
- improves several lists and fixes minor degradation introduced
  with the fix for issue 628
- removed some dead code (stringList)

R=rsc
CC=golang-dev
https://golang.org/cl/223058
2010-02-25 16:07:55 -08:00
Russ Cox 9750adbbad strings: delete Runes, Bytes
gofmt -w -r 'strings.Bytes(a) -> []byte(a)' src/cmd src/pkg test/bench
gofmt -w -r 'strings.Runes(a) -> []int(a)' src/cmd src/pkg test/bench
delete unused imports

R=r
CC=golang-dev
https://golang.org/cl/224062
2010-02-25 16:01:29 -08:00
Robert Griesemer dfaa6eaa76 tabwriter: make use of new []byte() conversion
R=rsc
CC=golang-dev
https://golang.org/cl/224063
2010-02-25 15:54:12 -08:00
Russ Cox 3910161307 gc: implement []int(string) and []byte(string)
R=ken2
CC=golang-dev
https://golang.org/cl/224060
2010-02-25 15:11:07 -08:00
Stephen Weinberg b86c0b0c4a Fix small typo in net package.
R=rsc
CC=golang-dev
https://golang.org/cl/224061
2010-02-25 14:49:14 -08:00
Robert Griesemer dbe0b57012 go/printer, gofmt: correct indentation after certain /*-style comments
- applied gofmt to src and misc

Note: This fix improved formatting of src/pkg/math/all_test.go but leads
to a degradation in src/pkg/exp/4s/xs.go. The latter happened to "work"
before accidentally. Fixing the alignment in that case in general will
be a separate CL.

Fixes #628.

R=rsc
CC=golang-dev
https://golang.org/cl/223054
2010-02-25 13:47:16 -08:00
Robert Griesemer e0d5177dd7 tabwriter: indicate section breaks if Debug flag is set
R=rsc
CC=golang-dev
https://golang.org/cl/224057
2010-02-25 13:26:55 -08:00
Ian Lance Taylor bada653f4d Use consistent types in .h file and .c file.
R=rsc
CC=golang-dev
https://golang.org/cl/224053
2010-02-25 10:13:09 -08:00
Robert Griesemer 859e4d51c3 strings: remove a couple of redundant tests
(per suggestion from Heresy.Mc@gmail.com)

R=rsc
CC=golang-dev
https://golang.org/cl/223052
2010-02-25 10:02:39 -08:00
Kevin Ballard 20834d644f path: Fix bug in Match with non-greedy stars
path.Match() errors out when testing "*x" against "xxx"
because it matches the star non-greedily. Ensure that
the last chunk consumes the rest of the name.

R=r, rsc
CC=golang-dev
https://golang.org/cl/223050
2010-02-25 09:15:52 -08:00
Rob Pike 24ee7f799c %q in fmt: if the object is a Stringer, use String() to get the value to quote.
R=rsc
CC=golang-dev
https://golang.org/cl/224051
2010-02-25 17:29:37 +11:00
Robert Griesemer d5248c4a96 go/scanner: support for complex (imaginary) constants
R=rsc
CC=golang-dev
https://golang.org/cl/223044
2010-02-24 17:06:40 -08:00
Ian Lance Taylor 7c99dcbdf9 Install runtime.h and cgocall.h.
This permits cgo generated code to use these header files even
if the Go sources are not around.

R=rsc
CC=golang-dev
https://golang.org/cl/224045
2010-02-24 17:00:25 -08:00
Robert Griesemer ef0be41e20 go/ast: streamline representation of field lists
- always include position information about opening/closing parens/braces
- replace uses of []*ast.Field with *ast.FieldList

Fixes #473.

R=rsc
CC=golang-dev
https://golang.org/cl/223043
2010-02-24 16:17:11 -08:00
Russ Cox 78961ed961 path: add Match
R=eridius, r, rog
CC=golang-dev
https://golang.org/cl/217088
2010-02-24 16:11:14 -08:00
Russ Cox 37666561b2 http: fix handling of Close, use Close in http.Post
default to HTTP/1.1

R=petar-m
CC=golang-dev
https://golang.org/cl/224041
2010-02-24 15:13:39 -08:00