- 15 Oct, 2010 7 commits
-
-
Russ Cox authored
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
-
Russ Cox authored
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
-
Russ Cox authored
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
-
Andrew Gerrand authored
R=r CC=golang-dev https://golang.org/cl/2526041
-
Andrew Gerrand authored
R=r, r2 CC=golang-dev https://golang.org/cl/2493043
-
Rob Pike authored
R=adg CC=golang-dev https://golang.org/cl/2525042
-
Andrew Gerrand authored
R=r CC=golang-dev https://golang.org/cl/2525041
-
- 14 Oct, 2010 10 commits
-
-
Russ Cox authored
R=ken2 CC=golang-dev https://golang.org/cl/2520042
-
Russ Cox authored
Suggested by fango (fan.howard@gmail.com) R=r, r2 CC=golang-dev https://golang.org/cl/2514041
-
Rob Pike authored
Fixes #1195. R=rsc CC=golang-dev https://golang.org/cl/2504043
-
Russ Cox authored
R=ken2 CC=golang-dev https://golang.org/cl/2471043
-
Andrew Gerrand authored
R=r, r2 CC=golang-dev https://golang.org/cl/2494042
-
Andrew Gerrand authored
R=stephenm CC=golang-dev https://golang.org/cl/2471042
-
Andrew Gerrand authored
R=r, rsc, r2 CC=golang-dev https://golang.org/cl/2499041
-
Andrew Gerrand authored
R=rsc, r CC=golang-dev https://golang.org/cl/2473041
-
Evan Shaw authored
R=rsc, iant, agl CC=golang-dev https://golang.org/cl/2052042
-
Rob Pike authored
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
-
- 13 Oct, 2010 9 commits
-
-
Russ Cox authored
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
-
Ken Thompson authored
R=rsc CC=golang-dev https://golang.org/cl/2475042
-
Russ Cox authored
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
-
Russ Cox authored
* Maintain Sym* list for text with individual prog lists instead of using one huge list and overloading p->pcond. * Comment what each file is for. * Move some output code from span.c to asm.c. * Move profiling into prof.c, symbol table into symtab.c. * Move mkfwd to ld/lib.c. * Throw away dhog dynamic loading code. * Throw away Alef become. * Fix printing of WORD instructions in 5l -a. Goal here is to be able to handle each piece of text or data as a separate piece, both to make it easier to load the occasional .o file and also to make it possible to split the work across multiple threads. R=ken2, r, ken3 CC=golang-dev https://golang.org/cl/2335043
-
Russ Cox authored
This is entirely adding and removing tabs. It looks weird but will make the diffs for the next change easier to read. R=ken2 CC=golang-dev https://golang.org/cl/2490041
-
Rob Pike authored
R=rsc CC=golang-dev https://golang.org/cl/2485041
-
Andrew Gerrand authored
R=rsc CC=golang-dev https://golang.org/cl/2472041
-
Nigel Tao authored
R=r, r2 CC=golang-dev https://golang.org/cl/2469041
-
Rob Pike authored
Use a bytes.Buffer in log writing instead of string concatenation. Should reduce the number of allocations significantly. R=rsc, r2 CC=golang-dev https://golang.org/cl/2417042
-
- 12 Oct, 2010 14 commits
-
-
Rob Pike authored
R=adg CC=golang-dev https://golang.org/cl/2468041
-
Andrew Gerrand authored
R=r, r2, rsc, uriel CC=golang-dev https://golang.org/cl/2433042
-
Roger Peppe authored
Fixes some race conditions. R=r CC=golang-dev https://golang.org/cl/2456041
-
Jim McGrath authored
6l was skipping emitting the (2 byte) symbol table if there were no imported or exported symbols. You can't just drop the symbol table entirely - the linker dies if you have a linkedit section but no table. You can omit the linkedit section or both the linkedit and the dlyd parts in the right circumstances, but that seems much more risky to me. R=rsc CC=golang-dev https://golang.org/cl/2421042
-
Rob Pike authored
New logging interface simplifies and generalizes. 1) Loggers now have only one output. 2) log.Stdout, Stderr, Crash and friends are gone. Logging is now always to standard error by default. 3) log.Panic* replaces log.Crash*. 4) Exiting and panicking are not part of the logger's state; instead the functions Exit* and Panic* simply call Exit or panic after printing. 5) There is now one 'standard logger'. Instead of calling Stderr, use Print etc. There are now triples, by analogy with fmt: Print, Println, Printf What was log.Stderr is now best represented by log.Println, since there are now separate Print and Println functions (and methods). 6) New functions SetOutput, SetFlags, and SetPrefix allow global editing of the standard logger's properties. This is new functionality. For instance, one can call log.SetFlags(log.Lshortfile|log.Ltime|log.Lmicroseconds) to get all logging output to show file name, line number, and time stamp. In short, for most purposes log.Stderr -> log.Println or log.Print log.Stderrf -> log.Printf log.Crash -> log.Panicln or log.Panic log.Crashf -> log.Panicf log.Exit -> log.Exitln or log.Exit log.Exitf -> log.Exitf (no change) This has a slight breakage: since loggers now write only to one output, existing calls to log.New() need to delete the second argument. Also, custom loggers with exit or panic properties will need to be reworked. All package code updated to new interface. The test has been reworked somewhat. The old interface will be removed after the new release. For now, its elements are marked 'deprecated' in their comments. Fixes #1184. R=rsc CC=golang-dev https://golang.org/cl/2419042
-
Russ Cox authored
R=ken2 CC=golang-dev https://golang.org/cl/2465041
-
Russ Cox authored
R=adg CC=golang-dev https://golang.org/cl/2404043
-
Mikio Hara authored
R=rsc, albert.strasheim CC=golang-dev https://golang.org/cl/2356042
-
Wei Guangjing authored
R=brainman, rsc, kardia, Joe Poirier CC=golang-dev https://golang.org/cl/1910041
-
Russ Cox authored
Effectively reverts https://code.google.com/p/go/source/detail?r=8c52477401ad Should make ARM build pass again, but untested. Probably still bugs involving reflect.call somewhere. R=ken2 CC=golang-dev https://golang.org/cl/2416042
-
Nigel Tao authored
R=adg TBR=adg CC=golang-dev https://golang.org/cl/2449041
-
Nigel Tao authored
R=adg CC=golang-dev https://golang.org/cl/2448041
-
Nigel Tao authored
Make ColorImage methods' receiver type be a pointer. R=r, rsc CC=golang-dev https://golang.org/cl/2345043
-
Eric Clark authored
The linker doesn't support multiple object files (maybe it did in the past?) R=rsc CC=golang-dev https://golang.org/cl/2444041
-